185 Commits
0.1.5 ... 0.2.1

Author SHA1 Message Date
4da2ae80fc feat: improve screenshots 2023-05-13 14:58:48 +02:00
7f9ef297b1 feat: improve debug info 2023-05-13 14:54:04 +02:00
daaa9de469 data: update homepage 2023-05-13 14:51:37 +02:00
61de030107 bump: 0.2.1 2023-05-13 14:46:38 +02:00
60169ba940 fix: move new window to section 2023-05-13 14:46:03 +02:00
15a73ae8d1 fix: use default values in custom theming (#26) 2023-05-13 14:41:31 +02:00
0299d14902 feat: allow multiple windows (#22) (#23) 2023-05-13 13:04:37 +02:00
Eryk Michalak
020d6b84b3 Translated using Weblate (Polish)
Currently translated at 100.0% (31 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/pl/
2023-05-13 06:37:35 +00:00
Vistaus
0e06c91639 Translated using Weblate (Dutch)
Currently translated at 100.0% (31 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/nl/
2023-05-13 06:37:35 +00:00
Daudix_UFO
7879aa417b Translated using Weblate (Russian)
Currently translated at 100.0% (31 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/ru/
2023-05-13 06:37:35 +00:00
Daudix_UFO
5bfd55173c fix: Formatting (a little) 2023-05-13 05:46:31 +03:00
Daudix_UFO
fc5614a048 feat: Tweak preferences a bit 2023-05-12 22:13:34 +03:00
c83ebef74c Translated using Weblate (German)
Currently translated at 100.0% (31 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/de/
2023-05-12 14:38:47 +00:00
c3d98f6772 Translated using Weblate (French)
Currently translated at 100.0% (31 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fr/
2023-05-12 14:38:00 +00:00
Anonymous
fb5a34356f Translated using Weblate (Thai)
Currently translated at 93.5% (29 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/th/
2023-05-12 14:36:55 +00:00
Anonymous
568fba2f2b Translated using Weblate (Persian)
Currently translated at 87.0% (27 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fa/
2023-05-12 14:36:55 +00:00
Anonymous
7865c33dc9 Translated using Weblate (Polish)
Currently translated at 87.0% (27 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/pl/
2023-05-12 14:36:55 +00:00
Anonymous
fa1381abb3 Translated using Weblate (Turkish)
Currently translated at 87.0% (27 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/tr/
2023-05-12 14:36:54 +00:00
Anonymous
1e20fe76b8 Translated using Weblate (Finnish)
Currently translated at 93.5% (29 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fi/
2023-05-12 14:36:54 +00:00
Anonymous
946f4c604e Translated using Weblate (Hungarian)
Currently translated at 29.0% (9 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/hu/
2023-05-12 14:36:54 +00:00
Anonymous
a2730795d1 Translated using Weblate (Swedish)
Currently translated at 87.0% (27 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/sv/
2023-05-12 14:36:54 +00:00
Anonymous
f113f80927 Translated using Weblate (Russian)
Currently translated at 93.5% (29 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/ru/
2023-05-12 14:36:54 +00:00
Anonymous
dbbaadde38 Translated using Weblate (French)
Currently translated at 93.5% (29 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fr/
2023-05-12 14:36:54 +00:00
Anonymous
734bc92ad1 Translated using Weblate (Spanish)
Currently translated at 93.5% (29 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/es/
2023-05-12 14:36:54 +00:00
Anonymous
8773c027a5 Translated using Weblate (German)
Currently translated at 90.3% (28 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/de/
2023-05-12 14:36:54 +00:00
Anonymous
654bd3f1ed Translated using Weblate (Dutch)
Currently translated at 93.5% (29 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/nl/
2023-05-12 14:36:46 +00:00
Anonymous
d81aeb4f17 Translated using Weblate (Portuguese)
Currently translated at 87.0% (27 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/pt/
2023-05-12 14:36:46 +00:00
Anonymous
9857f64882 Translated using Weblate (Czech)
Currently translated at 93.5% (29 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/cs/
2023-05-12 14:36:46 +00:00
Anonymous
e15a48602c Translated using Weblate (Italian)
Currently translated at 87.0% (27 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/it/
2023-05-12 14:36:46 +00:00
Anonymous
ff80a1fbad Translated using Weblate (Ukrainian)
Currently translated at 87.0% (27 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/uk/
2023-05-12 14:36:46 +00:00
Codeberg Translate
5f57b89551 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/
2023-05-12 14:36:39 +00:00
eb408ae930 po: update pot 2023-05-12 16:35:39 +02:00
0xMRTT
642de5d304 doc: add linuxlinks 2023-05-12 14:34:09 +00:00
muznyo
94ce4d1c5d Translated using Weblate (Czech)
Currently translated at 100.0% (28 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/cs/
2023-05-12 06:37:34 +00:00
0xMRTT
cd313078c6 fix: filename 2023-05-11 17:34:35 +00:00
0xMRTT
47818bfa90 fix: filename 2023-05-11 17:34:13 +00:00
0xMRTT
4daa80d1e4 ci: try woodpecker 2023-05-11 17:33:41 +00:00
0xMRTT
5966979eb9 flatpak: add access to ~/.config/gtk-4.0
Signed-off-by: 0xMRTT <0xmrtt@noreply.codeberg.org>
2023-05-11 17:28:31 +00:00
f50469c2cf data: add release 0.2.0 2023-05-11 17:23:02 +00:00
4bd514680d bump: 0.2.0 2023-05-11 17:20:42 +00:00
artnay
32a390c97e Translated using Weblate (Finnish)
Currently translated at 100.0% (28 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fi/
2023-05-11 17:11:16 +00:00
a9541bc368 doc: add more links 2023-05-11 17:00:18 +00:00
watchakorn-18k
bb87b22387 Translated using Weblate (Thai)
Currently translated at 100.0% (28 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/th/
2023-05-11 05:14:57 +00:00
watchakorn-18k
43a799c841 Translated using Weblate (Thai)
Currently translated at 42.8% (12 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/th/
2023-05-11 01:02:32 +00:00
Anonymous
6d0a6843d7 Translated using Weblate (Thai)
Currently translated at 42.8% (12 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/th/
2023-05-11 01:02:32 +00:00
watchakorn-18k
63803d198e Added translation using Weblate (Thai) 2023-05-11 00:57:33 +00:00
90eafb07de feat: add pygments syntax higlighting 2023-05-11 01:01:21 +02:00
d084a09e5f data: add appdata 2023-05-11 00:55:36 +02:00
d6fd3b3d0c fix: hide stop if there is nothing to stop :) 2023-05-11 00:43:38 +02:00
9a460d9302 doc: thanks apostrophe 2023-05-11 00:36:55 +02:00
be32379d81 feat: add stop (#14) 2023-05-11 00:29:16 +02:00
0fff84a2f9 fix: gpt2 tooltip 2023-05-11 00:19:03 +02:00
be9a0f95ae fix: better error handling 2023-05-11 00:13:52 +02:00
5fabf9557c feat: add use text view switch 2023-05-11 00:10:35 +02:00
90b5233653 feat: add latex wip 2023-05-11 00:09:36 +02:00
Daudix_UFO
cc59054ec2 feat: Remove screen size specific font sizing 2023-05-10 21:49:58 +03:00
Daudix_UFO
724bd97905 Revert "feat: Change font sizes and use system fonts"
This reverts commit 777a4cfaf5.
2023-05-10 21:46:40 +03:00
Daudix_UFO
777a4cfaf5 feat: Change font sizes and use system fonts 2023-05-10 21:32:38 +03:00
a7d3183b51 fix: update police 2023-05-10 19:10:55 +02:00
e17520cde1 fix: copy bot 2023-05-10 19:05:49 +02:00
0215ccd5a1 fix: remove useless padding 2023-05-10 19:03:58 +02:00
575cc406c5 fix: support custom theming 2023-05-10 18:58:33 +02:00
Daudix_UFO
73937725e5 feat: Tweak some colors 2023-05-10 18:33:30 +03:00
15ec5c978f fix: custom theming support 2023-05-10 17:26:13 +02:00
6b91205c57 webview: improve custom css 2023-05-10 17:22:27 +02:00
bdd1a2e9a9 webview: experiment custom theming 2023-05-10 17:20:00 +02:00
d6f26e7fc9 ui: first version using webview as a render for the response 2023-05-10 17:14:25 +02:00
8259cfbb70 flatpak: add markdown 2023-05-10 17:05:09 +02:00
80376a6692 fix: help url 2023-05-10 15:36:53 +02:00
64ba5007d8 fix: make the help button open directly the doc 2023-05-10 15:36:34 +02:00
gallegonovato
09fc50cda8 Translated using Weblate (Spanish)
Currently translated at 100.0% (28 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/es/
2023-05-08 22:37:33 +00:00
5c3973c420 provider(startcoder): add starcoder 2023-05-08 23:04:15 +02:00
e37fb02eeb provider: add more doc 2023-05-08 22:57:54 +02:00
a57ba73fcd provider: add how to get api token (#18) 2023-05-08 22:55:16 +02:00
5e56b13d36 format: black 2023-05-08 22:50:08 +02:00
ffdbc1759a provider(gpt2): add description 2023-05-08 22:48:12 +02:00
46c3bcd41e provider: add info popover (#17) 2023-05-08 22:41:48 +02:00
rene-coty
f1282b8500 Translated using Weblate (French)
Currently translated at 100.0% (28 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fr/
2023-05-08 07:53:43 +00:00
0xMRTT
3b0bb638ea Update 'SEEN.md' 2023-05-08 00:55:43 +00:00
0xMRTT
edde2f53b6 Update 'SEEN.md' 2023-05-08 00:51:39 +00:00
0xMRTT
4a16150a94 doc: add aur 2023-05-07 23:51:46 +00:00
Anonymous
c500c22eac Translated using Weblate (Persian)
Currently translated at 92.8% (26 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fa/
2023-05-07 23:15:30 +00:00
Anonymous
bbd1ee16f4 Translated using Weblate (Polish)
Currently translated at 92.8% (26 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/pl/
2023-05-07 23:15:30 +00:00
Anonymous
d3e000ef4e Translated using Weblate (Dutch)
Currently translated at 100.0% (28 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/nl/
2023-05-07 23:15:30 +00:00
Vistaus
f0f2d29857 Translated using Weblate (Dutch)
Currently translated at 100.0% (28 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/nl/
2023-05-07 23:15:30 +00:00
Anonymous
6fa8d0511b Translated using Weblate (Turkish)
Currently translated at 92.8% (26 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/tr/
2023-05-07 23:15:30 +00:00
Anonymous
85ef198051 Translated using Weblate (Finnish)
Currently translated at 92.8% (26 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fi/
2023-05-07 23:15:30 +00:00
d908a5ab41 Translated using Weblate (Azerbaijani)
Currently translated at 92.8% (26 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/az/
2023-05-07 23:15:30 +00:00
Anonymous
90189c3e19 Translated using Weblate (Hungarian)
Currently translated at 28.5% (8 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/hu/
2023-05-07 23:15:30 +00:00
Anonymous
079a46d386 Translated using Weblate (Portuguese)
Currently translated at 92.8% (26 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/pt/
2023-05-07 23:15:30 +00:00
Anonymous
736b2f0b2a Translated using Weblate (Czech)
Currently translated at 92.8% (26 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/cs/
2023-05-07 23:15:30 +00:00
Anonymous
4687094c67 Translated using Weblate (Swedish)
Currently translated at 92.8% (26 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/sv/
2023-05-07 23:15:30 +00:00
Anonymous
bfc4fe413a Translated using Weblate (Italian)
Currently translated at 92.8% (26 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/it/
2023-05-07 23:15:30 +00:00
Anonymous
6fa2ea24b7 Translated using Weblate (Ukrainian)
Currently translated at 92.8% (26 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/uk/
2023-05-07 23:15:30 +00:00
Anonymous
444021134f Translated using Weblate (Russian)
Currently translated at 100.0% (28 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/ru/
2023-05-07 23:15:30 +00:00
Daudix_UFO
d8ba6968a7 Translated using Weblate (Russian)
Currently translated at 100.0% (28 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/ru/
2023-05-07 23:15:30 +00:00
Anonymous
1dc9d6d62e Translated using Weblate (French)
Currently translated at 100.0% (28 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fr/
2023-05-07 23:15:29 +00:00
5f0d3224c1 Translated using Weblate (French)
Currently translated at 100.0% (28 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fr/
2023-05-07 23:15:29 +00:00
Anonymous
8a83e78bcf Translated using Weblate (Spanish)
Currently translated at 92.8% (26 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/es/
2023-05-07 23:15:29 +00:00
Anonymous
8ad100aae6 Translated using Weblate (German)
Currently translated at 96.4% (27 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/de/
2023-05-07 23:15:29 +00:00
266f8ac7fc Translated using Weblate (German)
Currently translated at 96.4% (27 of 28 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/de/
2023-05-07 23:15:29 +00:00
Codeberg Translate
19b85ea78a Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/
2023-05-07 21:02:17 +00:00
16f4b62dbc po: update pot 2023-05-07 23:02:00 +02:00
86deb53691 fix: doesn't spin forever if there isn't any prompt (#20) 2023-05-07 22:58:45 +02:00
142eefa310 fix: make clear after send working (#19) 2023-05-07 22:49:52 +02:00
Daudix_UFO
f15696e470 feat: Remove "Quit" menu entry
For keyboard users there are shortcut, for mouse users there are close
button :)
2023-05-07 22:08:33 +03:00
Daudix_UFO
6552dd1561 fix: Copy shortcut 2023-05-07 21:48:22 +03:00
a0ed6d7b68 fix: shortcuts 2023-05-07 20:34:09 +02:00
62b57a6ad9 fix: remove a provider enabled if doesn't exist
only if bard was enabled
2023-05-07 16:27:12 +02:00
72715e0bde provider: fix gpt2 name 2023-05-07 16:15:28 +02:00
af9bfc1d87 fix: accelerator 2023-05-07 16:14:29 +02:00
cd5d73d64f provider(gpt2): add gpt2 xl and large 2023-05-07 16:08:29 +02:00
4867f9c02d provider: remove gpt4 from default 2023-05-07 16:07:38 +02:00
916ff133da bump: version 2023-05-07 16:03:34 +02:00
61d69aaf06 data(appdata): add release details 2023-05-07 16:02:51 +02:00
25cefc9671 main: fix preferences shortcut 2023-05-07 16:02:40 +02:00
722ee665ec provider(bard): disable bard 2023-05-07 16:02:29 +02:00
8a328e1bd6 a11y: add keyboard shortcuts 2023-05-07 15:58:04 +02:00
499723d11e meson: add hfbase 2023-05-07 15:50:22 +02:00
3664324a69 provider(hf): fix authorization header issue 2023-05-07 15:50:12 +02:00
b559289c3d provider(hgchat): refactor for adding new models 2023-05-07 15:49:56 +02:00
4d4bcf5957 provider(alpacalora): add handling of error 2023-05-07 15:49:37 +02:00
3c6e11cf61 main: doesn't reload if already loaded 2023-05-07 15:49:24 +02:00
5bbfdffb10 provider: disable about 2023-05-07 15:30:46 +02:00
9c1ae1f105 provider: add on enabled switch and global about 2023-05-07 15:28:01 +02:00
73a391fd9e provider: remove about 2023-05-07 15:27:45 +02:00
edf12c954d preferences: add pref for all providers even disabled one 2023-05-07 15:27:19 +02:00
a335768d76 src: add load dropdown 2023-05-07 15:27:03 +02:00
ad287c34c2 provider: fix slug 2023-05-07 15:16:26 +02:00
75f4578bce Translated using Weblate (Polish)
Currently translated at 100.0% (26 of 26 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/pl/
2023-05-07 09:49:24 +00:00
dc477edebb Translated using Weblate (Turkish)
Currently translated at 100.0% (26 of 26 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/tr/
2023-05-07 09:49:24 +00:00
73b6c2edd5 Translated using Weblate (Finnish)
Currently translated at 100.0% (26 of 26 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fi/
2023-05-07 09:49:24 +00:00
e3acaec9d2 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (26 of 26 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/az/
2023-05-07 09:49:24 +00:00
e1cab5b574 Translated using Weblate (Portuguese)
Currently translated at 100.0% (26 of 26 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/pt/
2023-05-07 09:49:24 +00:00
f324a71b13 Translated using Weblate (Czech)
Currently translated at 100.0% (26 of 26 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/cs/
2023-05-07 09:49:24 +00:00
bff077f0c6 Translated using Weblate (Swedish)
Currently translated at 100.0% (26 of 26 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/sv/
2023-05-07 09:49:24 +00:00
elgandoz
a7fad0d4c7 Translated using Weblate (Italian)
Currently translated at 100.0% (26 of 26 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/it/
2023-05-07 09:49:24 +00:00
bf530e13c4 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (26 of 26 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/uk/
2023-05-07 09:49:24 +00:00
86ab05b19b Translated using Weblate (Russian)
Currently translated at 100.0% (26 of 26 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/ru/
2023-05-07 09:49:23 +00:00
d8fffffb77 Translated using Weblate (Spanish)
Currently translated at 100.0% (26 of 26 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/es/
2023-05-07 09:49:23 +00:00
a06c422ab2 Translated using Weblate (German)
Currently translated at 100.0% (26 of 26 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/de/
2023-05-07 09:49:23 +00:00
Kourosh
3ebc510c20 Translated using Weblate (Persian)
Currently translated at 100.0% (26 of 26 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fa/
2023-05-07 09:45:15 +00:00
elgandoz
aebdcb2e86 Translated using Weblate (Italian)
Currently translated at 96.1% (25 of 26 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/it/
2023-05-07 09:45:15 +00:00
Anonymous
57f351eaca Translated using Weblate (Persian)
Currently translated at 61.5% (16 of 26 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fa/
2023-05-07 09:01:37 +00:00
kouroshtaf
63ffe24403 Translated using Weblate (Persian)
Currently translated at 61.5% (16 of 26 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fa/
2023-05-07 09:01:37 +00:00
Vistaus
1c08f7d639 Translated using Weblate (Dutch)
Currently translated at 100.0% (26 of 26 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/nl/
2023-05-07 08:51:53 +00:00
kouroshtaf
ec27bd38ae Added translation using Weblate (Persian) 2023-05-07 08:51:53 +00:00
f478aa80d5 flatpak: update hgchat 2023-05-07 10:35:05 +02:00
dd781d2f01 provider(huggingface): add better handling of exeptions 2023-05-07 10:35:05 +02:00
764cba5e27 format: black 2023-05-07 10:35:04 +02:00
17557b478f Translated using Weblate (French)
Currently translated at 100.0% (26 of 26 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fr/
2023-05-07 07:43:03 +00:00
Codeberg Translate
a3df738a9c Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/
2023-05-07 07:42:15 +00:00
Orest58008
a60264ea98 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (30 of 30 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/uk/
2023-05-07 07:42:14 +00:00
0xMRTT
018f9a5493 doc: fix github name 2023-05-06 15:20:08 +00:00
David Lapshin
9b47afcbe6 misc: C O N S I S T E N C Y 2023-05-06 15:15:49 +00:00
6f27cae7a8 po: update pot 2023-05-06 17:03:41 +02:00
0xMRTT
38b5f67973 Update 'SEEN.md' 2023-05-06 14:56:58 +00:00
0xMRTT
304f816cab doc: add ref to seen 2023-05-06 14:52:44 +00:00
0xMRTT
2a74cdee81 doc: add more seen
Signed-off-by: 0xMRTT <0xmrtt@noreply.codeberg.org>
2023-05-06 14:51:43 +00:00
0xMRTT
46c1891e24 doc: add more seen 2023-05-06 14:39:53 +00:00
0xMRTT
d62b0bbcdf doc: add mirror 2023-05-06 13:49:01 +00:00
ioghjog
0979652e87 Translated using Weblate (Polish)
Currently translated at 100.0% (30 of 30 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/pl/
2023-05-06 10:29:20 +00:00
ioghjog
6524de02a5 Translated using Weblate (Polish)
Currently translated at 36.6% (11 of 30 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/pl/
2023-05-06 10:02:20 +00:00
ioghjog
9656830647 Translated using Weblate (Polish)
Currently translated at 33.3% (10 of 30 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/pl/
2023-05-06 10:02:18 +00:00
Anonymous
34bd7149e1 Translated using Weblate (Polish)
Currently translated at 30.0% (9 of 30 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/pl/
2023-05-06 10:02:02 +00:00
ioghjog
18f053d47f Translated using Weblate (Polish)
Currently translated at 30.0% (9 of 30 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/pl/
2023-05-06 10:02:01 +00:00
Anonymous
6423730b1b Translated using Weblate (Italian)
Currently translated at 90.0% (27 of 30 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/it/
2023-05-06 10:02:01 +00:00
ioghjog
0e468f9f17 Added translation using Weblate (Polish) 2023-05-06 10:00:53 +00:00
bd177b73fb data: fix release date 2023-05-06 11:27:50 +02:00
d42c0265b5 data: update release in appdata 2023-05-06 11:22:02 +02:00
455370416f data: update appdata for 0.1.6 2023-05-06 11:19:44 +02:00
0ef94b2036 meson: bump 0.1.6 2023-05-06 11:19:34 +02:00
62bba52dd2 src: update thread 2023-05-06 11:19:14 +02:00
6cf10e6f2e fix: app crash randomly when updating the response (#19) 2023-05-06 11:10:53 +02:00
phaerrax
22ca867a65 Translated using Weblate (Italian)
Currently translated at 86.6% (26 of 30 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/it/
2023-05-06 00:15:55 +00:00
aa5c6bbfd9 provider(oa): add warning for chunking (#13) 2023-05-06 00:42:49 +02:00
28de905b19 provider(openai): add chunk (#13) and rate limit 2023-05-06 00:41:46 +02:00
b2fd2566ab provider(base): add chunk (#13) 2023-05-06 00:41:22 +02:00
e306d8dd2d provider(bard): add load 2023-05-06 00:27:20 +02:00
f71124df62 provider(oa): add load 2023-05-06 00:27:09 +02:00
f31e9ff99c provider(hf): update authroization 2023-05-06 00:26:47 +02:00
2d33daf998 provider(base): add default save and load 2023-05-06 00:26:23 +02:00
243910c5c0 src: add save/load data 2023-05-06 00:25:57 +02:00
0xMRTT
acf8560f11 fix: save settings when closing (#16)
Reviewed-on: https://codeberg.org/Bavarder/Bavarder/pulls/16
2023-05-05 20:23:33 +00:00
Bytez
fc023a3b4c Saving settings on window closing. 2023-05-05 22:16:17 +02:00
59 changed files with 2934 additions and 1031 deletions

14
.woodpecker.yml Normal file
View File

@@ -0,0 +1,14 @@
pipeline:
build:
image: docker.io/bilelmoussaoui/flatpak-github-actions
secrets: [access_token]
when:
branch: main
event: [push, pull_request, tag]
commands:
- flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
- flatpak install --user -y org.flatpak.Builder
- flatpak run org.flatpak.Builder --user --install-deps-from=flathub --default-branch=master --force-clean --repo=build-repo build-dir io.github.Bavarder.Bavarder.json
- flatpak build-bundle build-repo bavarder.flatpak io.github.Bavarder.Bavarder
- ls -la

View File

@@ -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>
@@ -8,10 +8,11 @@
<p align="center">
<strong>Chit-chat with an AI</strong>
</p>
</a>
<p align="center">
<a href="https://flathub.org/apps/details/io.github.Bavarder.Bavarder">
<img width="200" alt="Download on Flathub" src="https://dl.flathub.org/assets/badges/flathub-badge-en.svg"/>
<img width="200" alt="Download on Flathub" src="https://dl.flathub.org/assets/badges/flathub-badge-i-en.svg"/>
</a>
<br>
</p>
@@ -33,9 +34,11 @@
</a>
</p>
<a href="https://bavarder.codeberg.page">
<p align="center">
<img src="./data/screenshots/quantum-computing.png" alt="Preview"/>
<img src="./data/screenshots/preview.png" alt="Preview"/>
</p>
</a>
## About the name
@@ -53,10 +56,6 @@ You can either use your GNOME Software and search for "Bavarder" or you can run
flatpak install io.github.Bavarder.Bavarder
```
#### Latest build
You can download the latest Flatpak build from [Github Actions](https://github.com/Bavarder/Bavarder/actions/workflows/build.yml). Click on the latest job and download the artifact.
#### From Source
Clone the repo and run `flatpak-builder`
@@ -67,10 +66,16 @@ 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/">
@@ -79,11 +84,16 @@ The [GNOME Code of Conduct](https://wiki.gnome.org/Foundation/CodeOfConduct) is
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
### [Imaginer : Imagine with AI](https://imaginer.codeberg.page)
A tool for generating pictures with AI (GNOME app)
- https://github.com/ImaginerApp/Imaginer
- https://codeberg.org/Imaginer/Imaginer
- [GitHub](https://github.com/ImaginerApp/Imaginer)
- [Codeberg](https://codeberg.org/Imaginer/Imaginer)

17
SEEN.md
View File

@@ -6,16 +6,27 @@
- 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/
- https://www.linuxlinks.com/machine-learning-linux-bavarder/
## 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
@@ -23,8 +34,12 @@
- 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://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

View File

@@ -9,7 +9,8 @@
"--share=ipc",
"--socket=fallback-x11",
"--device=dri",
"--socket=wayland"
"--socket=wayland",
"--filesystem=xdg-config/gtk-4.0"
],
"cleanup" : [
"/include",

View File

@@ -7,7 +7,7 @@
"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\" --no-build-isolation"
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"baichat-py>=0.1.2\" --no-build-isolation"
],
"sources": [
{
@@ -71,8 +71,8 @@
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/71/4c/3db2b8021bd6f2f0ceb0e088d6b2d49147671f25832fb17970e9b583d742/certifi-2022.12.7-py3-none-any.whl",
"sha256": "4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"
"url": "https://files.pythonhosted.org/packages/9d/19/59961b522e6757f0c9097e4493fa906031b95b3ebe9360b2c3083561a6b4/certifi-2023.5.7-py3-none-any.whl",
"sha256": "c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"
},
{
"type": "file",
@@ -81,8 +81,8 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/a2/d2/8847383637ae526c6b072356bc1c7d9e7e34040b3acf27c0ec529885ac3d/hgchat-0.1.2-py3-none-any.whl",
"sha256": "fb0699dff7ab9ed208e6801c5e558f7c62422c630f5976062bf75e0580c20f83"
"url": "https://files.pythonhosted.org/packages/31/7b/e26fdbce33e2bb68ba952cb21c260792a900766b8f767f040bdfbee48d03/hgchat-0.1.3-py3-none-any.whl",
"sha256": "25725da85864cb57abd16d9ce15c270f785b7c1073ad30470609878226b93b0b"
},
{
"type": "file",
@@ -106,50 +106,6 @@
}
]
},
{
"name": "python3-gTTS",
"buildsystem": "simple",
"build-commands": [
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"gTTS\" --no-build-isolation"
],
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/71/4c/3db2b8021bd6f2f0ceb0e088d6b2d49147671f25832fb17970e9b583d742/certifi-2022.12.7-py3-none-any.whl",
"sha256": "4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"
},
{
"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/c2/f1/df59e28c642d583f7dacffb1e0965d0e00b218e0186d7858ac5233dce840/click-8.1.3-py3-none-any.whl",
"sha256": "bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/98/da/4b8bb016aca4abebe5b582ce1b17604a1d9bc91499ac2214e1fa250f69b6/gTTS-2.3.2-py3-none-any.whl",
"sha256": "9132e409603f34d5023458e3e10ce2f5df55498d7a2ee781c9adbe616fbd4152"
},
{
"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"
}
]
},
{
"name": "python3-openai",
"buildsystem": "simple",
@@ -179,8 +135,8 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/71/4c/3db2b8021bd6f2f0ceb0e088d6b2d49147671f25832fb17970e9b583d742/certifi-2022.12.7-py3-none-any.whl",
"sha256": "4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"
"url": "https://files.pythonhosted.org/packages/9d/19/59961b522e6757f0c9097e4493fa906031b95b3ebe9360b2c3083561a6b4/certifi-2023.5.7-py3-none-any.whl",
"sha256": "c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"
},
{
"type": "file",
@@ -238,8 +194,8 @@
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/71/4c/3db2b8021bd6f2f0ceb0e088d6b2d49147671f25832fb17970e9b583d742/certifi-2022.12.7-py3-none-any.whl",
"sha256": "4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"
"url": "https://files.pythonhosted.org/packages/9d/19/59961b522e6757f0c9097e4493fa906031b95b3ebe9360b2c3083561a6b4/certifi-2023.5.7-py3-none-any.whl",
"sha256": "c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"
},
{
"type": "file",
@@ -267,6 +223,25 @@
"sha256": "d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e"
}
]
},
{
"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"
}
]
}
]
}

View File

@@ -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>

View 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

View File

@@ -15,15 +15,19 @@
<screenshots>
<screenshot width="472" height="622">
<caption>Screenshot of Main UI</caption>
<image type="source">https://raw.githubusercontent.com/Bavarder/Bavarder/main/data/screenshots/quantum-computing.png</image>
<caption>Screenshot of Main UI</caption>
<image type="source">https://codeberg.org/Bavarder/Bavarder/raw/branch/main/data/screenshots/preview.png</image>
</screenshot>
<screenshot width="724" height="732">
<caption>Screenshot of Preferences UI</caption>
<image type="source">https://codeberg.org/Bavarder/Bavarder/raw/branch/main/data/screenshots/preferences.png</image>
</screenshot>
</screenshots>
<url type="bugtracker">https://codeberg.org/Bavarder/Bavarder/issues</url>
<url type="translate">https://translate.codeberg.org/engage/bavarder/</url>
<url type="help">https://codeberg.org/Bavarder/Bavarder/issues</url>
<url type="homepage">https://codeberg.org/Bavarder/Bavarder</url>
<url type="homepage">https://bavarder.codeberg.page</url>
<kudos>
<kudo>HiDpiIcon</kudo>
@@ -59,6 +63,46 @@
</keywords>
<releases>
<release version="0.2.1" date="2023-5-13" type="stable">
<description>
<p>Fix Theming support of the new render widget</p>
<p>Add the ability to have multiple windows open at the same time</p>
<p>Update preferences UI</p>
<p>Fix some bugs</p>
<p>Update translations</p>
<p>Add better error handling</p>
</description>
</release>
<release version="0.2.0" date="2023-5-11" type="stable">
<description>
<p>Add support of formatting in the response view using Markdown</p>
<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>

View File

@@ -17,7 +17,7 @@
<default>false</default>
</key>
<key name="enabled-providers" type="as">
<default>["baichat", "catgpt", "huggingchat", "openaigpt35turbo", "openaigpt4"]</default>
<default>["baichat", "catgpt", "huggingchat", "openaigpt35turbo"]</default>
</key>
<key name="latest-provider" type="s">
<default>'huggingchat'</default>
@@ -25,5 +25,8 @@
<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: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View File

@@ -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>

View File

@@ -19,6 +19,15 @@ template Preferences : Adw.PreferencesWindow {
valign: center;
}
}
Adw.ActionRow {
title: _("Use plain text for output");
subtitle: _("The plain text without formatting will be used");
activatable-widget: use_text_view_switch;
Gtk.Switch use_text_view_switch {
valign: center;
}
}
}
Adw.PreferencesGroup provider_group {

View File

@@ -1,5 +1,6 @@
using Gtk 4.0;
using Adw 1;
using WebKit 6.0;
template BavarderWindow : Adw.ApplicationWindow {
@@ -58,10 +59,10 @@ template BavarderWindow : Adw.ApplicationWindow {
styles ["card", "text-box"]
ScrolledWindow {
margin-top:12;
margin-bottom:0;
margin-start:12;
margin-end:12;
margin-top: 12;
margin-bottom: 0;
margin-start: 12;
margin-end: 12;
styles ["scrolled-window"]
TextView prompt_text_view {
@@ -139,14 +140,16 @@ template BavarderWindow : Adw.ApplicationWindow {
styles ["card", "text-box"]
ScrolledWindow {
margin-top:12;
margin-bottom:0;
margin-start:12;
margin-end:12;
ScrolledWindow scrolled_response_window {
margin-top: 12;
margin-bottom: 0;
margin-start: 12;
margin-end: 12;
styles ["scrolled-window"]
Gtk.Stack response_stack {
vexpand: true;
hexpand: true;
Gtk.StackPage {
name: "page_response";
child: TextView bot_text_view {
@@ -200,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"]
}
}
}
}
@@ -210,6 +224,12 @@ template BavarderWindow : Adw.ApplicationWindow {
menu main-menu {
section {
item {
label: _("New window");
action: "app.new";
}
}
section {
item {
label: _("Preferences");
@@ -220,12 +240,7 @@ menu main-menu {
label: _("Keyboard Shortcuts");
action: "win.show-help-overlay";
}
item {
label: _("Quit");
action: "app.quit";
}
item {
label: _("About Bavarder");
action: "app.about";

View File

@@ -1,5 +1,5 @@
project('bavarder',
version: '0.1.5',
version: '0.2.1',
meson_version: '>= 0.62.0',
default_options: [ 'warning_level=2', 'werror=false', ],
)
@@ -10,11 +10,11 @@ python = import('python')
# Constants
PROJECT_RDNN_NAME = 'io.github.Bavarder.Bavarder'
BUGTRACKER_URL = 'https://github.com/Bavarder/Bavarder/issues'
HELP_URL = 'https://github.com/Bavarder/Bavarder/issues'
BUGTRACKER_URL = 'https://codeberg.org/Bavarder/Bavarder/issues'
HELP_URL = 'https://codeberg.orgBavarder/Bavarder/issues'
TRANSLATE_URL = 'https://translate.codeberg.org/engage/bavarder/'
PROJECT_URL = 'https://github.com/Bavarder'
PROJECT_URL = 'https://bavarder.codeberg.page'
git_bin = find_program('git', required: false)

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-01 01:51+0200\n"
"POT-Creation-Date: 2023-05-13 13:03+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:7
msgid "Bavarder"
msgstr ""
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
#: 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:215
#: 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:229
msgid "Preferences"
msgstr ""
@@ -71,74 +86,78 @@ msgstr ""
msgid "The prompt will be cleared after send"
msgstr ""
#: data/ui/preferences.blp:24
msgid "Use plain text for output"
msgstr ""
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr ""
#: data/ui/preferences.blp:34
msgid "Providers"
msgstr ""
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr ""
#: data/ui/window.blp:36 src/provider/base.py:43
#: data/ui/window.blp:37 src/provider/base.py:50
msgid "No network connection"
msgstr ""
#: data/ui/window.blp:51
#: data/ui/window.blp:52
msgid "Message"
msgstr ""
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:85 data/ui/window.blp:201
msgid "Copy to Clipboard"
msgstr ""
#: data/ui/window.blp:89
msgid "Listen"
msgstr ""
#: data/ui/window.blp:96
msgid "Listening"
msgstr ""
#: data/ui/window.blp:108
#: data/ui/window.blp:109
msgid "Ask"
msgstr ""
#: data/ui/window.blp:117
#: data/ui/window.blp:118
msgid "Wait"
msgstr ""
#: data/ui/window.blp:132
#: data/ui/window.blp:133
msgid "Response"
msgstr ""
#: data/ui/window.blp:179
msgid "Speak"
#: data/ui/window.blp:211
msgid "Stop"
msgstr ""
#: data/ui/window.blp:186
msgid "Speaking"
msgstr ""
#: data/ui/window.blp:220
#: data/ui/window.blp:234
msgid "Keyboard Shortcuts"
msgstr ""
#: data/ui/window.blp:225
#: data/ui/window.blp:239
msgid "New window"
msgstr ""
#: data/ui/window.blp:244
msgid "About Bavarder"
msgstr ""
#: src/main.py:156
#: src/main.py:262
msgid "Special thanks to"
msgstr ""
#: src/provider/base.py:36
#: src/main.py:308
msgid "Text copied"
msgstr ""
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr ""
#: src/provider/base.py:38
#: src/provider/base.py:45
msgid "Open settings"
msgstr ""
#: src/provider/catgpt.py:7 src/provider/catgpt.py:54
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr ""

View File

@@ -1,14 +1,17 @@
uk
ru
fr
tr
th
fi
pl
hu
az
es
sv
it
fa
nl
pt
de
cs
pt
hu
az
fi
tr
nl

108
po/az.po
View File

@@ -4,13 +4,14 @@
# 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-01 01:51+0200\n"
"PO-Revision-Date: 2023-05-03 18:51+0000\n"
"Last-Translator: thepoladov13 <thepoladov@protonmail.com>\n"
"POT-Creation-Date: 2023-05-12 16:35+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"
@@ -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:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
#: 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: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 "Əsas UI ekran görüntüsü"
@@ -58,7 +59,24 @@ msgctxt "shortcut window"
msgid "Quit"
msgstr "Çıx"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: 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:229
msgid "Preferences"
msgstr "Üstünlüklər"
@@ -74,74 +92,84 @@ msgstr "Göndərdikdən sonra sorğunu silin"
msgid "The prompt will be cleared after send"
msgstr "Sorğu göndərildikdən sonra silinəcək"
#: data/ui/preferences.blp:24
msgid "Use text view"
msgstr ""
#: data/ui/preferences.blp:25
msgid "If the text view is used, you will lose formatting"
msgstr ""
#: data/ui/preferences.blp:34
msgid "Providers"
msgstr "Provayderlər"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Əsas menyu"
#: data/ui/window.blp:36 src/provider/base.py:43
#: data/ui/window.blp:37 src/provider/base.py:50
msgid "No network connection"
msgstr "Şəbəkə bağlantısı yoxdur"
#: data/ui/window.blp:51
#: data/ui/window.blp:52
msgid "Message"
msgstr "Mesaj"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:85 data/ui/window.blp:201
msgid "Copy to Clipboard"
msgstr "Buferə kopyalayın"
#: data/ui/window.blp:89
msgid "Listen"
msgstr "Dinləmək"
#: data/ui/window.blp:96
msgid "Listening"
msgstr "Dinləyirəm"
#: data/ui/window.blp:108
#: data/ui/window.blp:109
msgid "Ask"
msgstr "Soruş"
#: data/ui/window.blp:117
#: data/ui/window.blp:118
msgid "Wait"
msgstr "Gözləyin"
#: data/ui/window.blp:132
#: data/ui/window.blp:133
msgid "Response"
msgstr "Cavab"
#: data/ui/window.blp:179
msgid "Speak"
msgstr "Danış"
#: data/ui/window.blp:211
msgid "Stop"
msgstr ""
#: data/ui/window.blp:186
msgid "Speaking"
msgstr "Danışıram"
#: data/ui/window.blp:220
#: data/ui/window.blp:234
msgid "Keyboard Shortcuts"
msgstr "Klaviatura Qısayolları"
#: data/ui/window.blp:225
#: data/ui/window.blp:239
msgid "About Bavarder"
msgstr "Bavarder haqqında"
#: src/main.py:156
msgid "Special thanks to"
msgstr "Xüsusi təşəkkürlər"
#: src/provider/base.py:36
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "API açarı təqdim edilməyib, siz onu ayarlarda təmin edə bilərsiniz"
#: src/provider/base.py:38
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Parametrləri açın"
#: src/provider/catgpt.py:7 src/provider/catgpt.py:54
#: 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"

106
po/cs.po
View File

@@ -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-05-01 01:51+0200\n"
"PO-Revision-Date: 2023-05-03 12:23+0000\n"
"Last-Translator: muznyo <codeberg.vqtek@simplelogin.com>\n"
"POT-Creation-Date: 2023-05-12 16:35+0200\n"
"PO-Revision-Date: 2023-05-12 14:36+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:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
#: 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,22 @@ msgctxt "shortcut window"
msgid "Quit"
msgstr "Ukončit"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Nastavení"
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Copy response"
msgstr "Zkopírovat odpověď"
#: data/ui/help-overlay.ui:44
msgctxt "shortcut window"
msgid "Clear"
msgstr "Vymazat"
#: data/ui/preferences.blp:5 data/ui/window.blp:229
msgid "Preferences"
msgstr "Nastavení"
@@ -74,77 +90,87 @@ msgstr "Vymazat dotaz po odeslání"
msgid "The prompt will be cleared after send"
msgstr "Dotaz bude vymazán po odeslání"
#: data/ui/preferences.blp:24
msgid "Use text view"
msgstr ""
#: data/ui/preferences.blp:25
msgid "If the text view is used, you will lose formatting"
msgstr ""
#: data/ui/preferences.blp:34
msgid "Providers"
msgstr "Poskytovatelé"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Hlavní menu"
#: data/ui/window.blp:36 src/provider/base.py:43
#: data/ui/window.blp:37 src/provider/base.py:50
msgid "No network connection"
msgstr "Žádné připojení k síti"
#: data/ui/window.blp:51
#: data/ui/window.blp:52
msgid "Message"
msgstr "Zpráva"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:85 data/ui/window.blp:201
msgid "Copy to Clipboard"
msgstr "Kopírovat do schránky"
#: data/ui/window.blp:89
msgid "Listen"
msgstr "Poslech"
#: data/ui/window.blp:96
msgid "Listening"
msgstr "Poslouchání"
#: data/ui/window.blp:108
#: data/ui/window.blp:109
msgid "Ask"
msgstr "Zeptat se"
#: data/ui/window.blp:117
#: data/ui/window.blp:118
msgid "Wait"
msgstr "Čekejte"
#: data/ui/window.blp:132
#: data/ui/window.blp:133
msgid "Response"
msgstr "Odpověď"
#: data/ui/window.blp:179
msgid "Speak"
msgstr "Mluvit"
#: data/ui/window.blp:211
msgid "Stop"
msgstr "Zastavit"
#: data/ui/window.blp:186
msgid "Speaking"
msgstr "Mluvení"
#: data/ui/window.blp:220
#: data/ui/window.blp:234
msgid "Keyboard Shortcuts"
msgstr "Klávesové zkratky"
#: data/ui/window.blp:225
#: data/ui/window.blp:239
msgid "About Bavarder"
msgstr "O Bavarder"
#: src/main.py:156
msgid "Special thanks to"
msgstr "Zvláštní poděkování patří"
#: src/provider/base.py:36
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "API klíč nebyl přidán, můžete jej přidat v nastavení"
#: src/provider/base.py:38
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Otevřít nastavení"
#: src/provider/catgpt.py:7 src/provider/catgpt.py:54
#: 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"

103
po/de.po
View File

@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-01 01:51+0200\n"
"PO-Revision-Date: 2023-05-03 13:47+0000\n"
"POT-Creation-Date: 2023-05-12 16:35+0200\n"
"PO-Revision-Date: 2023-05-12 14:38+0000\n"
"Last-Translator: 0xMRTT <0xmrtt@proton.me>\n"
"Language-Team: German <https://translate.codeberg.org/projects/bavarder/"
"bavarder/de/>\n"
@@ -22,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:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
#: 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"
@@ -59,7 +59,22 @@ msgctxt "shortcut window"
msgid "Quit"
msgstr "Aufhören"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Einstellungen"
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Copy response"
msgstr "Antwort kopieren"
#: data/ui/help-overlay.ui:44
msgctxt "shortcut window"
msgid "Clear"
msgstr "Löschen"
#: data/ui/preferences.blp:5 data/ui/window.blp:229
msgid "Preferences"
msgstr "Einstellungen"
@@ -75,79 +90,89 @@ msgstr "Eingabeaufforderung nach dem Senden löschen"
msgid "The prompt will be cleared after send"
msgstr "Die Eingabeaufforderung wird nach dem Senden gelöscht"
#: data/ui/preferences.blp:24
msgid "Use text view"
msgstr "Verwenden Sie die Textansicht"
#: data/ui/preferences.blp:25
msgid "If the text view is used, you will lose formatting"
msgstr "Wenn die Textansicht verwendet wird, geht die Formatierung verloren"
#: data/ui/preferences.blp:34
msgid "Providers"
msgstr "Anbieter"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Hauptmenü"
#: data/ui/window.blp:36 src/provider/base.py:43
#: data/ui/window.blp:37 src/provider/base.py:50
msgid "No network connection"
msgstr "Keine Netzwerkverbindung"
#: data/ui/window.blp:51
#: data/ui/window.blp:52
msgid "Message"
msgstr "Meldung"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:85 data/ui/window.blp:201
msgid "Copy to Clipboard"
msgstr "In die Zwischenablage kopieren"
#: data/ui/window.blp:89
msgid "Listen"
msgstr "Hören"
#: data/ui/window.blp:96
msgid "Listening"
msgstr "Hören"
#: data/ui/window.blp:108
#: data/ui/window.blp:109
msgid "Ask"
msgstr "Fragen"
#: data/ui/window.blp:117
#: data/ui/window.blp:118
msgid "Wait"
msgstr "Warten"
#: data/ui/window.blp:132
#: data/ui/window.blp:133
msgid "Response"
msgstr "Antwort"
#: data/ui/window.blp:179
msgid "Speak"
msgstr "Sprechen"
#: data/ui/window.blp:211
msgid "Stop"
msgstr "Stop"
#: data/ui/window.blp:186
msgid "Speaking"
msgstr "Reden"
#: data/ui/window.blp:220
#: data/ui/window.blp:234
msgid "Keyboard Shortcuts"
msgstr "Tastatürkürzel"
#: data/ui/window.blp:225
#: data/ui/window.blp:239
msgid "About Bavarder"
msgstr "Über Bavarder"
#: src/main.py:156
msgid "Special thanks to"
msgstr "Besonderer Dank an"
#: src/provider/base.py:36
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr ""
"Kein API-Schlüssel angegeben, Sie können einen in den Einstellungen angeben"
#: src/provider/base.py:38
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Einstellungen öffnen"
#: src/provider/catgpt.py:7 src/provider/catgpt.py:54
#: 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"

108
po/es.po
View File

@@ -7,13 +7,14 @@
# 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-05-01 01:51+0200\n"
"PO-Revision-Date: 2023-05-03 18:52+0000\n"
"Last-Translator: 0xMRTT <0xmrtt@proton.me>\n"
"POT-Creation-Date: 2023-05-12 16:35+0200\n"
"PO-Revision-Date: 2023-05-12 14:36+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Spanish <https://translate.codeberg.org/projects/bavarder/"
"bavarder/es/>\n"
"Language: es\n"
@@ -24,20 +25,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:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
#: 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 "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 "Captura de Pantalla de la Interfaz de Usuario Principal"
@@ -59,9 +60,24 @@ 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:215
#: 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:229
msgid "Preferences"
msgstr "Preferencias"
@@ -77,79 +93,89 @@ msgstr "Limpiar entrada después de enviar"
msgid "The prompt will be cleared after send"
msgstr "La entrada será borrada después de enviar"
#: data/ui/preferences.blp:24
msgid "Use text view"
msgstr ""
#: data/ui/preferences.blp:25
msgid "If the text view is used, you will lose formatting"
msgstr ""
#: data/ui/preferences.blp:34
msgid "Providers"
msgstr "Proveedores"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Menú Principal"
#: data/ui/window.blp:36 src/provider/base.py:43
#: data/ui/window.blp:37 src/provider/base.py:50
msgid "No network connection"
msgstr "No hay conexión de red"
#: data/ui/window.blp:51
#: data/ui/window.blp:52
msgid "Message"
msgstr "Mensaje"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:85 data/ui/window.blp:201
msgid "Copy to Clipboard"
msgstr "Copiar al portapapeles"
#: data/ui/window.blp:89
msgid "Listen"
msgstr "Escuchar"
#: data/ui/window.blp:96
msgid "Listening"
msgstr "Escuchando"
#: data/ui/window.blp:108
#: data/ui/window.blp:109
msgid "Ask"
msgstr "Preguntar"
#: data/ui/window.blp:117
#: data/ui/window.blp:118
msgid "Wait"
msgstr "Espera"
#: data/ui/window.blp:132
#: data/ui/window.blp:133
msgid "Response"
msgstr "Respuesta"
#: data/ui/window.blp:179
msgid "Speak"
msgstr "Hablar"
#: data/ui/window.blp:211
msgid "Stop"
msgstr "Parar"
#: data/ui/window.blp:186
msgid "Speaking"
msgstr "Hablando"
#: data/ui/window.blp:220
#: data/ui/window.blp:234
msgid "Keyboard Shortcuts"
msgstr "Atajos de Teclado"
#: data/ui/window.blp:225
#: data/ui/window.blp:239
msgid "About Bavarder"
msgstr "Sobre Bavarder"
#: src/main.py:156
msgid "Special thanks to"
msgstr "Agradecimientos especiales a"
#: src/provider/base.py:36
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr ""
"No se ha ingresado una API Key valida, puede ingresar una en Configuraciones"
#: src/provider/base.py:38
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Abrir configuraciones"
#: src/provider/catgpt.py:7 src/provider/catgpt.py:54
#: 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"

162
po/fa.po Normal file
View File

@@ -0,0 +1,162 @@
# 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-12 16:35+0200\n"
"PO-Revision-Date: 2023-05-12 14:36+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:7
msgid "Bavarder"
msgstr "باوارده"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "گپی با هوش مصنوعی"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "سازنده: 0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "تصویر نمای اصلی"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
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:229
msgid "Preferences"
msgstr "پیش‌فرض‌ها"
#: data/ui/preferences.blp:12
msgid "Prompt"
msgstr "متن درخواست"
#: data/ui/preferences.blp:15
msgid "Clear prompt after send"
msgstr "متن درخواست رو بعد از ارسال پاک کن"
#: data/ui/preferences.blp:16
msgid "The prompt will be cleared after send"
msgstr "متن درخواست بعد از ارسال پاک خواهد شد"
#: data/ui/preferences.blp:24
msgid "Use text view"
msgstr ""
#: data/ui/preferences.blp:25
msgid "If the text view is used, you will lose formatting"
msgstr ""
#: data/ui/preferences.blp:34
msgid "Providers"
msgstr "تامین کنندگان"
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "منوی اصلی"
#: data/ui/window.blp:37 src/provider/base.py:50
msgid "No network connection"
msgstr "ارتباط شبکه برقرار نیست"
#: data/ui/window.blp:52
msgid "Message"
msgstr "پیام"
#: data/ui/window.blp:85 data/ui/window.blp:201
msgid "Copy to Clipboard"
msgstr "کپی به کلیپ بورد"
#: data/ui/window.blp:109
msgid "Ask"
msgstr "بپرس"
#: data/ui/window.blp:118
msgid "Wait"
msgstr "منتظر باش"
#: data/ui/window.blp:133
msgid "Response"
msgstr "پاسخ"
#: data/ui/window.blp:211
msgid "Stop"
msgstr "توقف"
#: data/ui/window.blp:234
msgid "Keyboard Shortcuts"
msgstr "کلیدهای میانبر"
#: data/ui/window.blp:239
msgid "About Bavarder"
msgstr "درباره"
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "کلید API پیدا نشد، می توانید دربخش تنطیمات آن را وارد کنید"
#: src/provider/base.py:45
msgid "Open settings"
msgstr "تنظيمات"
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "کت جی پی تی"
#~ msgid "Quit"
#~ msgstr "خروج"

106
po/fi.po
View File

@@ -4,13 +4,14 @@
# 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-01 01:51+0200\n"
"PO-Revision-Date: 2023-05-04 20:52+0000\n"
"Last-Translator: artnay <jiri.gronroos@iki.fi>\n"
"POT-Creation-Date: 2023-05-12 16:35+0200\n"
"PO-Revision-Date: 2023-05-12 14:36+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Finnish <https://translate.codeberg.org/projects/bavarder/"
"bavarder/fi/>\n"
"Language: fi\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:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
#: 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: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 "Kuvakaappaus käyttöliittymästä"
@@ -58,7 +59,22 @@ msgctxt "shortcut window"
msgid "Quit"
msgstr "Lopeta"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: 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:229
msgid "Preferences"
msgstr "Asetukset"
@@ -74,74 +90,84 @@ msgstr "Tyhjennä kehote lähetyksen jälkeen"
msgid "The prompt will be cleared after send"
msgstr "Kehote tyhjennetään lähetyksen jälkeen"
#: data/ui/preferences.blp:24
msgid "Use text view"
msgstr ""
#: data/ui/preferences.blp:25
msgid "If the text view is used, you will lose formatting"
msgstr ""
#: data/ui/preferences.blp:34
msgid "Providers"
msgstr "Palveluntarjoajat"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Päävalikko"
#: data/ui/window.blp:36 src/provider/base.py:43
#: data/ui/window.blp:37 src/provider/base.py:50
msgid "No network connection"
msgstr "Ei verkkoyhteyttä"
#: data/ui/window.blp:51
#: data/ui/window.blp:52
msgid "Message"
msgstr "Viesti"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:85 data/ui/window.blp:201
msgid "Copy to Clipboard"
msgstr "Kopioi leikepöydälle"
#: data/ui/window.blp:89
msgid "Listen"
msgstr "Kuuntele"
#: data/ui/window.blp:96
msgid "Listening"
msgstr "Kuunnellaan"
#: data/ui/window.blp:108
#: data/ui/window.blp:109
msgid "Ask"
msgstr "Kysy"
#: data/ui/window.blp:117
#: data/ui/window.blp:118
msgid "Wait"
msgstr "Odota"
#: data/ui/window.blp:132
#: data/ui/window.blp:133
msgid "Response"
msgstr "Vastaus"
#: data/ui/window.blp:179
msgid "Speak"
msgstr "Puhu"
#: data/ui/window.blp:211
msgid "Stop"
msgstr "Lopeta"
#: data/ui/window.blp:186
msgid "Speaking"
msgstr "Puhutaan"
#: data/ui/window.blp:220
#: data/ui/window.blp:234
msgid "Keyboard Shortcuts"
msgstr "Pikanäppäimet"
#: data/ui/window.blp:225
#: data/ui/window.blp:239
msgid "About Bavarder"
msgstr "Tietoja - Bavarder"
#: src/main.py:156
msgid "Special thanks to"
msgstr "Erityiskiitokset"
#: src/provider/base.py:36
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "API-avainta ei asetettu, aseta avain asetuksissa"
#: src/provider/base.py:38
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Avaa asetukset"
#: src/provider/catgpt.py:7 src/provider/catgpt.py:54
#: 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"

109
po/fr.po
View File

@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-01 01:51+0200\n"
"PO-Revision-Date: 2023-05-03 18:22+0000\n"
"Last-Translator: rene-coty <irenee.thirion@e.email>\n"
"POT-Creation-Date: 2023-05-12 16:35+0200\n"
"PO-Revision-Date: 2023-05-12 14:38+0000\n"
"Last-Translator: 0xMRTT <0xmrtt@proton.me>\n"
"Language-Team: French <https://translate.codeberg.org/projects/bavarder/"
"bavarder/fr/>\n"
"Language: fr\n"
@@ -24,20 +24,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:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
#: 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 linterface principale"
@@ -61,7 +61,22 @@ msgctxt "shortcut window"
msgid "Quit"
msgstr "Quitter"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: 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:229
msgid "Preferences"
msgstr "Préférences"
@@ -77,78 +92,88 @@ msgstr "Effacer la requête après envoi"
msgid "The prompt will be cleared after send"
msgstr "La requête sera effacée après envoi"
#: data/ui/preferences.blp:24
msgid "Use text view"
msgstr "Utiliser la vue texte"
#: data/ui/preferences.blp:25
msgid "If the text view is used, you will lose formatting"
msgstr "Si la vue texte est utilisée, vous perdrez la mise en forme"
#: data/ui/preferences.blp:34
msgid "Providers"
msgstr "Fournisseurs"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Menu Principal"
msgstr "Menu principal"
#: data/ui/window.blp:36 src/provider/base.py:43
#: data/ui/window.blp:37 src/provider/base.py:50
msgid "No network connection"
msgstr "Pas de connexion réseau"
#: data/ui/window.blp:51
#: data/ui/window.blp:52
msgid "Message"
msgstr "Message"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:85 data/ui/window.blp:201
msgid "Copy to Clipboard"
msgstr "Copier dans le presse-papiers"
#: data/ui/window.blp:89
msgid "Listen"
msgstr "Écouter"
#: data/ui/window.blp:96
msgid "Listening"
msgstr "En écoute"
#: data/ui/window.blp:108
#: data/ui/window.blp:109
msgid "Ask"
msgstr "Demander"
#: data/ui/window.blp:117
#: data/ui/window.blp:118
msgid "Wait"
msgstr "Attendez"
#: data/ui/window.blp:132
#: data/ui/window.blp:133
msgid "Response"
msgstr "Réponse"
#: data/ui/window.blp:179
msgid "Speak"
msgstr "Parler"
#: data/ui/window.blp:211
msgid "Stop"
msgstr "Stop"
#: data/ui/window.blp:186
msgid "Speaking"
msgstr "En train de parler"
#: data/ui/window.blp:220
#: data/ui/window.blp:234
msgid "Keyboard Shortcuts"
msgstr "Raccourcis clavier"
#: data/ui/window.blp:225
#: data/ui/window.blp:239
msgid "About Bavarder"
msgstr "À propos de Bavarder"
#: src/main.py:156
msgid "Special thanks to"
msgstr "Remerciements spéciaux à"
#: src/provider/base.py:36
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr ""
"Pas de clé dAPI fournie, vous pouvez en ajouter une dans les paramètres"
#: src/provider/base.py:38
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Ouvrir les paramètres"
#: src/provider/catgpt.py:7 src/provider/catgpt.py:54
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "Chat 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"

View File

@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-01 01:51+0200\n"
"PO-Revision-Date: 2023-05-03 19:17+0000\n"
"Last-Translator: 0xMRTT <0xmrtt@proton.me>\n"
"POT-Creation-Date: 2023-05-12 16:35+0200\n"
"PO-Revision-Date: 2023-05-12 14:36+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Hungarian <https://translate.codeberg.org/projects/bavarder/"
"bavarder/hu/>\n"
"Language: hu\n"
@@ -22,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:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
#: 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 ""
@@ -59,7 +59,24 @@ msgctxt "shortcut window"
msgid "Quit"
msgstr "Kilépés"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: 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:229
msgid "Preferences"
msgstr "Beállítások"
@@ -75,74 +92,72 @@ msgstr ""
msgid "The prompt will be cleared after send"
msgstr ""
#: data/ui/preferences.blp:24
msgid "Use text view"
msgstr ""
#: data/ui/preferences.blp:25
msgid "If the text view is used, you will lose formatting"
msgstr ""
#: data/ui/preferences.blp:34
msgid "Providers"
msgstr ""
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr ""
#: data/ui/window.blp:36 src/provider/base.py:43
#: data/ui/window.blp:37 src/provider/base.py:50
msgid "No network connection"
msgstr "Nincs hálózati kapcsolat"
#: data/ui/window.blp:51
#: data/ui/window.blp:52
msgid "Message"
msgstr "Üzenet"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:85 data/ui/window.blp:201
msgid "Copy to Clipboard"
msgstr "Másolás a vágólapra"
#: data/ui/window.blp:89
msgid "Listen"
msgstr ""
#: data/ui/window.blp:96
msgid "Listening"
msgstr ""
#: data/ui/window.blp:108
#: data/ui/window.blp:109
msgid "Ask"
msgstr ""
#: data/ui/window.blp:117
#: data/ui/window.blp:118
msgid "Wait"
msgstr ""
#: data/ui/window.blp:132
#: data/ui/window.blp:133
msgid "Response"
msgstr ""
#: data/ui/window.blp:179
msgid "Speak"
msgstr ""
#: data/ui/window.blp:211
msgid "Stop"
msgstr "Megállítás"
#: data/ui/window.blp:186
msgid "Speaking"
msgstr ""
#: data/ui/window.blp:220
#: data/ui/window.blp:234
msgid "Keyboard Shortcuts"
msgstr ""
#: data/ui/window.blp:225
#: data/ui/window.blp:239
msgid "About Bavarder"
msgstr ""
#: src/main.py:156
msgid "Special thanks to"
msgstr ""
#: src/provider/base.py:36
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr ""
#: src/provider/base.py:38
#: src/provider/base.py:45
msgid "Open settings"
msgstr ""
#: src/provider/catgpt.py:7 src/provider/catgpt.py:54
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr ""
#, fuzzy
#~| msgctxt "shortcut window"
#~| msgid "Quit"
#~ msgid "Quit"
#~ msgstr "Kilépés"

139
po/it.po
View File

@@ -4,12 +4,14 @@
# 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-05-01 01:51+0200\n"
"PO-Revision-Date: 2023-05-01 08:57+0000\n"
"POT-Creation-Date: 2023-05-12 16:35+0200\n"
"PO-Revision-Date: 2023-05-12 14:36+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Italian <https://translate.codeberg.org/projects/bavarder/"
"bavarder/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:7
msgid "Bavarder"
msgstr ""
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
#: 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 ""
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,105 +48,132 @@ 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:215
#: 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:229
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 "Il prompt verrà svuotato dopo l'invio"
#: data/ui/preferences.blp:24
msgid "Use text view"
msgstr ""
#: data/ui/preferences.blp:25
msgid "If the text view is used, you will lose formatting"
msgstr ""
#: data/ui/preferences.blp:34
msgid "Providers"
msgstr ""
msgstr "Fornitori"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr ""
msgstr "Menù principale"
#: data/ui/window.blp:36 src/provider/base.py:43
#: data/ui/window.blp:37 src/provider/base.py:50
msgid "No network connection"
msgstr "Nessuna connessione di rete"
#: data/ui/window.blp:51
#: data/ui/window.blp:52
msgid "Message"
msgstr "Messaggio"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:85 data/ui/window.blp:201
msgid "Copy to Clipboard"
msgstr "Copia negli appunti"
#: data/ui/window.blp:89
msgid "Listen"
msgstr ""
#: data/ui/window.blp:96
msgid "Listening"
msgstr ""
#: data/ui/window.blp:108
#: data/ui/window.blp:109
msgid "Ask"
msgstr ""
msgstr "Chiedi"
#: data/ui/window.blp:117
#: data/ui/window.blp:118
msgid "Wait"
msgstr ""
msgstr "Attendere"
#: data/ui/window.blp:132
#: data/ui/window.blp:133
msgid "Response"
msgstr ""
msgstr "Risposta"
#: data/ui/window.blp:179
msgid "Speak"
msgstr ""
#: data/ui/window.blp:211
msgid "Stop"
msgstr "Stop"
#: data/ui/window.blp:186
msgid "Speaking"
msgstr ""
#: data/ui/window.blp:220
#: data/ui/window.blp:234
msgid "Keyboard Shortcuts"
msgstr ""
msgstr "Scorciatoie da tastiera"
#: data/ui/window.blp:225
#: data/ui/window.blp:239
msgid "About Bavarder"
msgstr ""
msgstr "Informazioni su Bavarder"
#: src/main.py:156
msgid "Special thanks to"
msgstr ""
#: src/provider/base.py:36
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr ""
"Nessuna chiave API fornita; è possibile fornirne una nelle impostazioni"
#: src/provider/base.py:38
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Apri impostazioni"
#: src/provider/catgpt.py:7 src/provider/catgpt.py:54
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr ""
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"

103
po/nl.po
View File

@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-01 01:51+0200\n"
"PO-Revision-Date: 2023-05-05 10:18+0000\n"
"POT-Creation-Date: 2023-05-12 16:35+0200\n"
"PO-Revision-Date: 2023-05-13 06:37+0000\n"
"Last-Translator: Vistaus <vistausss@fastmail.com>\n"
"Language-Team: Dutch <https://translate.codeberg.org/projects/bavarder/"
"bavarder/nl/>\n"
@@ -21,20 +21,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:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
#: 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: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 "Schermfoto van het hoofdscherm"
@@ -58,7 +58,22 @@ msgctxt "shortcut window"
msgid "Quit"
msgstr "Afsluiten"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: 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:229
msgid "Preferences"
msgstr "Voorkeuren"
@@ -74,74 +89,84 @@ msgstr "Invoerveld wissen na versturen"
msgid "The prompt will be cleared after send"
msgstr "Wis het invoerveld na het stellen van een vraag"
#: data/ui/preferences.blp:24
msgid "Use text view"
msgstr "Tekstweergave inschakelen"
#: data/ui/preferences.blp:25
msgid "If the text view is used, you will lose formatting"
msgstr "Als de tekstweergave is ingeschakeld, wordt alle opmaak gewist"
#: data/ui/preferences.blp:34
msgid "Providers"
msgstr "Diensten"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Hoofdmenu"
#: data/ui/window.blp:36 src/provider/base.py:43
#: data/ui/window.blp:37 src/provider/base.py:50
msgid "No network connection"
msgstr "Geen netwerkverbinding"
#: data/ui/window.blp:51
#: data/ui/window.blp:52
msgid "Message"
msgstr "Bericht"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:85 data/ui/window.blp:201
msgid "Copy to Clipboard"
msgstr "Kopiëren naar klembord"
#: data/ui/window.blp:89
msgid "Listen"
msgstr "Luisteren"
#: data/ui/window.blp:96
msgid "Listening"
msgstr "Bezig met luisteren…"
#: data/ui/window.blp:108
#: data/ui/window.blp:109
msgid "Ask"
msgstr "Vraag stellen"
#: data/ui/window.blp:117
#: data/ui/window.blp:118
msgid "Wait"
msgstr "Even geduld…"
#: data/ui/window.blp:132
#: data/ui/window.blp:133
msgid "Response"
msgstr "Antwoord"
#: data/ui/window.blp:179
msgid "Speak"
msgstr "Praten"
#: data/ui/window.blp:211
msgid "Stop"
msgstr "Stoppen"
#: data/ui/window.blp:186
msgid "Speaking"
msgstr "Bezig met praten…"
#: data/ui/window.blp:220
#: data/ui/window.blp:234
msgid "Keyboard Shortcuts"
msgstr "Sneltoetsen"
#: data/ui/window.blp:225
#: data/ui/window.blp:239
msgid "About Bavarder"
msgstr "Over Bavarder"
#: src/main.py:156
msgid "Special thanks to"
msgstr "Met veel dank aan"
#: src/provider/base.py:36
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "Er is geen api-sleutel opgegeven - open de voorkeuren"
#: src/provider/base.py:38
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Voorkeuren openen"
#: src/provider/catgpt.py:7 src/provider/catgpt.py:54
#: 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"

175
po/pl.po Normal file
View File

@@ -0,0 +1,175 @@
# 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.
# Eryk Michalak <gnu.ewm@protonmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-12 16:35+0200\n"
"PO-Revision-Date: 2023-05-13 06:37+0000\n"
"Last-Translator: Eryk Michalak <gnu.ewm@protonmail.com>\n"
"Language-Team: Polish <https://translate.codeberg.org/projects/bavarder/"
"bavarder/pl/>\n"
"Language: pl\n"
"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:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "Pogawędka z SI"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "Zrzut ekranu interfejsu"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
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
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Preferencje"
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Copy response"
msgstr "Kopiuj odpowiedź"
#: data/ui/help-overlay.ui:44
msgctxt "shortcut window"
msgid "Clear"
msgstr "Wyczyść"
#: data/ui/preferences.blp:5 data/ui/window.blp:229
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:24
msgid "Use text view"
msgstr "Użyj widoku tekstowego"
#: data/ui/preferences.blp:25
msgid "If the text view is used, you will lose formatting"
msgstr "Używanie widoku tekstowego spowoduje utratę formatowania"
#: data/ui/preferences.blp:34
msgid "Providers"
msgstr "Dostawcy"
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Główne menu"
#: data/ui/window.blp:37 src/provider/base.py:50
msgid "No network connection"
msgstr "Brak połączenia z siecią"
#: data/ui/window.blp:52
msgid "Message"
msgstr "Wiadomość"
#: data/ui/window.blp:85 data/ui/window.blp:201
msgid "Copy to Clipboard"
msgstr "Skopiuj do schowka"
#: data/ui/window.blp:109
msgid "Ask"
msgstr "Zapytaj"
#: data/ui/window.blp:118
msgid "Wait"
msgstr "Czekaj"
#: data/ui/window.blp:133
msgid "Response"
msgstr "Odpowiedź"
#: data/ui/window.blp:211
msgid "Stop"
msgstr "Zatrzymaj"
#: data/ui/window.blp:234
msgid "Keyboard Shortcuts"
msgstr "Skróty klawiszowe"
#: data/ui/window.blp:239
msgid "About Bavarder"
msgstr "O Bavarderze"
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "Nie podano klucza API, dodaj go w ustawieniach"
#: src/provider/base.py:45
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"

110
po/pt.po
View File

@@ -4,13 +4,14 @@
# 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-01 01:51+0200\n"
"PO-Revision-Date: 2023-05-03 13:42+0000\n"
"Last-Translator: galegovski <galegovski@outlook.com>\n"
"POT-Creation-Date: 2023-05-12 16:35+0200\n"
"PO-Revision-Date: 2023-05-12 14:36+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Portuguese <https://translate.codeberg.org/projects/bavarder/"
"bavarder/pt/>\n"
"Language: pt\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:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
#: 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: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 "Captura da tela principal"
@@ -58,7 +59,26 @@ msgctxt "shortcut window"
msgid "Quit"
msgstr "Sair"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: 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:229
msgid "Preferences"
msgstr "Preferências"
@@ -74,75 +94,85 @@ msgstr "Limpar prompt após enviar"
msgid "The prompt will be cleared after send"
msgstr "O prompt será limpo após o envio"
#: data/ui/preferences.blp:24
msgid "Use text view"
msgstr ""
#: data/ui/preferences.blp:25
msgid "If the text view is used, you will lose formatting"
msgstr ""
#: data/ui/preferences.blp:34
msgid "Providers"
msgstr "Provedores"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Menu principal"
#: data/ui/window.blp:36 src/provider/base.py:43
#: data/ui/window.blp:37 src/provider/base.py:50
msgid "No network connection"
msgstr "Nenhuma conexão de rede"
#: data/ui/window.blp:51
#: data/ui/window.blp:52
msgid "Message"
msgstr "Mensagem"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:85 data/ui/window.blp:201
msgid "Copy to Clipboard"
msgstr "Copiar para área de transferência"
#: data/ui/window.blp:89
msgid "Listen"
msgstr "Ouvir"
#: data/ui/window.blp:96
msgid "Listening"
msgstr "Audição"
#: data/ui/window.blp:108
#: data/ui/window.blp:109
msgid "Ask"
msgstr "Perguntar"
#: data/ui/window.blp:117
#: data/ui/window.blp:118
msgid "Wait"
msgstr "Espere"
#: data/ui/window.blp:132
#: data/ui/window.blp:133
msgid "Response"
msgstr "Resposta"
#: data/ui/window.blp:179
msgid "Speak"
msgstr "Falar"
#: data/ui/window.blp:211
msgid "Stop"
msgstr "Parar"
#: data/ui/window.blp:186
msgid "Speaking"
msgstr "Falando"
#: data/ui/window.blp:220
#: data/ui/window.blp:234
msgid "Keyboard Shortcuts"
msgstr "Atalhos do teclado"
#: data/ui/window.blp:225
#: data/ui/window.blp:239
msgid "About Bavarder"
msgstr "Sobre Bavarder"
#: src/main.py:156
msgid "Special thanks to"
msgstr "Agradecimentos especiais para"
#: src/provider/base.py:36
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr ""
"Nenhuma chave de API fornecida, você pode fornecer uma nas configurações"
#: src/provider/base.py:38
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Abrir configurações"
#: src/provider/catgpt.py:7 src/provider/catgpt.py:54
#: 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"

104
po/ru.po
View File

@@ -5,12 +5,13 @@
#
# 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-05-01 01:51+0200\n"
"PO-Revision-Date: 2023-05-01 08:57+0000\n"
"POT-Creation-Date: 2023-05-12 16:35+0200\n"
"PO-Revision-Date: 2023-05-13 06:37+0000\n"
"Last-Translator: Daudix_UFO <ddaudix@gmail.com>\n"
"Language-Team: Russian <https://translate.codeberg.org/projects/bavarder/"
"bavarder/ru/>\n"
@@ -23,20 +24,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:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
#: 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:215
#: 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:229
msgid "Preferences"
msgstr "Параметры"
@@ -76,78 +92,88 @@ msgstr "Очищать поле ввода после отправки"
msgid "The prompt will be cleared after send"
msgstr "Поле ввода будет очищено после отправки"
#: data/ui/preferences.blp:24
msgid "Use text view"
msgstr "Использовать текстовое представление"
#: data/ui/preferences.blp:25
msgid "If the text view is used, you will lose formatting"
msgstr "Если используется текстовое представление, вы потеряете форматирование"
#: data/ui/preferences.blp:34
msgid "Providers"
msgstr "Провайдеры"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Главное меню"
#: data/ui/window.blp:36 src/provider/base.py:43
#: data/ui/window.blp:37 src/provider/base.py:50
msgid "No network connection"
msgstr "Нет подключения к сети"
#: data/ui/window.blp:51
#: data/ui/window.blp:52
msgid "Message"
msgstr "Сообщение"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:85 data/ui/window.blp:201
msgid "Copy to Clipboard"
msgstr "Скопировать в буфер обмена"
#: data/ui/window.blp:89
msgid "Listen"
msgstr "Прослушать"
#: data/ui/window.blp:96
msgid "Listening"
msgstr "Прослушивание"
#: data/ui/window.blp:108
#: data/ui/window.blp:109
msgid "Ask"
msgstr "Спросить"
#: data/ui/window.blp:117
#: data/ui/window.blp:118
msgid "Wait"
msgstr "Ждите"
#: data/ui/window.blp:132
#: data/ui/window.blp:133
msgid "Response"
msgstr "Ответ"
#: data/ui/window.blp:179
msgid "Speak"
msgstr "Произнести"
#: data/ui/window.blp:211
msgid "Stop"
msgstr "Остановить"
#: data/ui/window.blp:186
msgid "Speaking"
msgstr "Произношение"
#: data/ui/window.blp:220
#: data/ui/window.blp:234
msgid "Keyboard Shortcuts"
msgstr "Комбинации клавиш"
#: data/ui/window.blp:225
#: data/ui/window.blp:239
msgid "About Bavarder"
msgstr "О Bavarder"
#: src/main.py:156
msgid "Special thanks to"
msgstr "Особое спасибо"
#: src/provider/base.py:36
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "Ключ API не предоставлен, вы можете предоставить его в настройках"
#: src/provider/base.py:38
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Открыть настройки"
#: src/provider/catgpt.py:7 src/provider/catgpt.py:54
#: 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 "Готов"

110
po/sv.po
View File

@@ -5,13 +5,14 @@
#
# 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-05-01 01:51+0200\n"
"PO-Revision-Date: 2023-05-03 18:22+0000\n"
"Last-Translator: Morgan Antonsson <morgan.antonsson@gmail.com>\n"
"POT-Creation-Date: 2023-05-12 16:35+0200\n"
"PO-Revision-Date: 2023-05-12 14:36+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Swedish <https://translate.codeberg.org/projects/bavarder/"
"bavarder/sv/>\n"
"Language: sv\n"
@@ -22,20 +23,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:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
#: 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 "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 "Skärmdump av huvudgränssnittet"
@@ -59,7 +60,26 @@ msgctxt "shortcut window"
msgid "Quit"
msgstr "Avsluta"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: 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:229
msgid "Preferences"
msgstr "Inställningar"
@@ -75,78 +95,88 @@ msgstr "Töm prompt efter den har skickats"
msgid "The prompt will be cleared after send"
msgstr "Prompten kommer att rensas efter att den har skickats"
#: data/ui/preferences.blp:24
msgid "Use text view"
msgstr ""
#: data/ui/preferences.blp:25
msgid "If the text view is used, you will lose formatting"
msgstr ""
#: data/ui/preferences.blp:34
msgid "Providers"
msgstr "Leverantörer"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Huvudmeny"
#: data/ui/window.blp:36 src/provider/base.py:43
#: data/ui/window.blp:37 src/provider/base.py:50
msgid "No network connection"
msgstr "Ingen kontakt med nätverket"
#: data/ui/window.blp:51
#: data/ui/window.blp:52
msgid "Message"
msgstr "Meddelande"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:85 data/ui/window.blp:201
msgid "Copy to Clipboard"
msgstr "Kopiera till urklipp"
#: data/ui/window.blp:89
msgid "Listen"
msgstr "Lyssna"
#: data/ui/window.blp:96
msgid "Listening"
msgstr "Lyssnar"
#: data/ui/window.blp:108
#: data/ui/window.blp:109
msgid "Ask"
msgstr "Fråga"
#: data/ui/window.blp:117
#: data/ui/window.blp:118
msgid "Wait"
msgstr "Vänta"
#: data/ui/window.blp:132
#: data/ui/window.blp:133
msgid "Response"
msgstr "Svar"
#: data/ui/window.blp:179
msgid "Speak"
msgstr "Tala"
#: data/ui/window.blp:211
msgid "Stop"
msgstr "Stoppa"
#: data/ui/window.blp:186
msgid "Speaking"
msgstr "Talar"
#: data/ui/window.blp:220
#: data/ui/window.blp:234
msgid "Keyboard Shortcuts"
msgstr "Tangentbordsgenvägar"
#: data/ui/window.blp:225
#: data/ui/window.blp:239
msgid "About Bavarder"
msgstr "Om Bavarder"
#: src/main.py:156
msgid "Special thanks to"
msgstr "Särskilt tack till"
#: src/provider/base.py:36
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "Ingen API-nyckel har angetts, du kan ange en i inställningarna"
#: src/provider/base.py:38
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Öppna inställningar"
#: src/provider/catgpt.py:7 src/provider/catgpt.py:54
#: 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"

154
po/th.po Normal file
View File

@@ -0,0 +1,154 @@
# 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-12 16:35+0200\n"
"PO-Revision-Date: 2023-05-12 14:36+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\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:7
msgid "Bavarder"
msgstr "แบบวาร์เดอร์"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "แชทกับ AI"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "ภาพหน้าจอของ UI หลัก"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
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:229
msgid "Preferences"
msgstr "การตั้งค่า"
#: data/ui/preferences.blp:12
msgid "Prompt"
msgstr "พรอมต์"
#: data/ui/preferences.blp:15
msgid "Clear prompt after send"
msgstr "ล้างพร้อมต์หลังจากส่ง"
#: data/ui/preferences.blp:16
msgid "The prompt will be cleared after send"
msgstr "พรอมต์จะถูกล้างหลังจากส่ง"
#: data/ui/preferences.blp:24
msgid "Use text view"
msgstr ""
#: data/ui/preferences.blp:25
msgid "If the text view is used, you will lose formatting"
msgstr ""
#: data/ui/preferences.blp:34
msgid "Providers"
msgstr "ผู้ให้บริการ"
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "เมนูหลัก"
#: data/ui/window.blp:37 src/provider/base.py:50
msgid "No network connection"
msgstr "ไม่มีการเชื่อมต่อเครือข่าย"
#: data/ui/window.blp:52
msgid "Message"
msgstr "ข้อความ"
#: data/ui/window.blp:85 data/ui/window.blp:201
msgid "Copy to Clipboard"
msgstr "คัดลอกไปยังคลิปบอร์ด"
#: data/ui/window.blp:109
msgid "Ask"
msgstr "ถาม"
#: data/ui/window.blp:118
msgid "Wait"
msgstr "รอ"
#: data/ui/window.blp:133
msgid "Response"
msgstr "การตอบสนอง"
#: data/ui/window.blp:211
msgid "Stop"
msgstr "Stop"
#: data/ui/window.blp:234
msgid "Keyboard Shortcuts"
msgstr "แป้นพิมพ์ลัด"
#: data/ui/window.blp:239
msgid "About Bavarder"
msgstr "เกี่ยวกับแบบวาร์เดอร์"
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "ไม่มีรหัส API คุณสามารถระบุได้ในการตั้งค่าได้"
#: src/provider/base.py:45
msgid "Open settings"
msgstr "เปิดการตั้งค่า"
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "แมว GPT"

110
po/tr.po
View File

@@ -4,13 +4,14 @@
# 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-01 01:51+0200\n"
"PO-Revision-Date: 2023-05-04 20:56+0000\n"
"Last-Translator: keyiflerolsun <keyiflerolsun@gmail.com>\n"
"POT-Creation-Date: 2023-05-12 16:35+0200\n"
"PO-Revision-Date: 2023-05-12 14:36+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Turkish <https://translate.codeberg.org/projects/bavarder/"
"bavarder/tr/>\n"
"Language: tr\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:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
#: 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: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 "Ana Kullanıcı Arayüzü'nün ekran görüntüsü"
@@ -58,7 +59,26 @@ msgctxt "shortcut window"
msgid "Quit"
msgstr "Çıkış"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: 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:229
msgid "Preferences"
msgstr "Tercihler"
@@ -74,74 +94,84 @@ msgstr "Gönderdikten sonra giriş alanını temizle"
msgid "The prompt will be cleared after send"
msgstr "Gönderimden sonra giriş alanı temizlenecek"
#: data/ui/preferences.blp:24
msgid "Use text view"
msgstr ""
#: data/ui/preferences.blp:25
msgid "If the text view is used, you will lose formatting"
msgstr ""
#: data/ui/preferences.blp:34
msgid "Providers"
msgstr "Sağlayıcılar"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Ana Menü"
#: data/ui/window.blp:36 src/provider/base.py:43
#: data/ui/window.blp:37 src/provider/base.py:50
msgid "No network connection"
msgstr "Ağ bağlantısı yok"
#: data/ui/window.blp:51
#: data/ui/window.blp:52
msgid "Message"
msgstr "Mesaj"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:85 data/ui/window.blp:201
msgid "Copy to Clipboard"
msgstr "Panoya kopyala"
#: data/ui/window.blp:89
msgid "Listen"
msgstr "Dinle"
#: data/ui/window.blp:96
msgid "Listening"
msgstr "Dinleniyor"
#: data/ui/window.blp:108
#: data/ui/window.blp:109
msgid "Ask"
msgstr "Sor"
#: data/ui/window.blp:117
#: data/ui/window.blp:118
msgid "Wait"
msgstr "Bekle"
#: data/ui/window.blp:132
#: data/ui/window.blp:133
msgid "Response"
msgstr "Yanıt"
#: data/ui/window.blp:179
msgid "Speak"
msgstr "Konuş"
#: data/ui/window.blp:211
msgid "Stop"
msgstr "Dur"
#: data/ui/window.blp:186
msgid "Speaking"
msgstr "Konuşuyor"
#: data/ui/window.blp:220
#: data/ui/window.blp:234
msgid "Keyboard Shortcuts"
msgstr "Klavye kısayolları"
#: data/ui/window.blp:225
#: data/ui/window.blp:239
msgid "About Bavarder"
msgstr "Bavarder Hakkında"
#: src/main.py:156
msgid "Special thanks to"
msgstr "Özel teşekkürler"
#: src/provider/base.py:36
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "API anahtarı sağlanmadı, ayarlarda bir tane sağlayabilirsiniz"
#: src/provider/base.py:38
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Ayarları aç"
#: src/provider/catgpt.py:7 src/provider/catgpt.py:54
#: 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"

151
po/uk.po
View File

@@ -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-05-01 01:51+0200\n"
"PO-Revision-Date: 2023-04-27 17:37+0000\n"
"Last-Translator: 0xMRTT <0xmrtt@tuta.io>\n"
"POT-Creation-Date: 2023-05-12 16:35+0200\n"
"PO-Revision-Date: 2023-05-12 14:36+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:7
msgid "Bavarder"
msgstr ""
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
#: 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 ""
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,105 +49,134 @@ 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:215
#: 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:229
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 "Запит буде очищений після надсилання"
#: data/ui/preferences.blp:24
msgid "Use text view"
msgstr ""
#: data/ui/preferences.blp:25
msgid "If the text view is used, you will lose formatting"
msgstr ""
#: data/ui/preferences.blp:34
msgid "Providers"
msgstr ""
msgstr "Постачальники"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr ""
msgstr "Головне Меню"
#: data/ui/window.blp:36 src/provider/base.py:43
#: data/ui/window.blp:37 src/provider/base.py:50
msgid "No network connection"
msgstr "Відсутнє з'єднання з мережею"
#: data/ui/window.blp:51
#: data/ui/window.blp:52
msgid "Message"
msgstr "Повідомлення"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:85 data/ui/window.blp:201
msgid "Copy to Clipboard"
msgstr "Копіювати"
#: data/ui/window.blp:89
msgid "Listen"
msgstr ""
#: data/ui/window.blp:96
msgid "Listening"
msgstr ""
#: data/ui/window.blp:108
#: data/ui/window.blp:109
msgid "Ask"
msgstr ""
msgstr "Запитати"
#: data/ui/window.blp:117
#: data/ui/window.blp:118
msgid "Wait"
msgstr ""
msgstr "Чекати"
#: data/ui/window.blp:132
#: data/ui/window.blp:133
msgid "Response"
msgstr ""
msgstr "Відповідь"
#: data/ui/window.blp:179
msgid "Speak"
msgstr ""
#: data/ui/window.blp:211
msgid "Stop"
msgstr "Зупинити"
#: data/ui/window.blp:186
msgid "Speaking"
msgstr ""
#: data/ui/window.blp:220
#: data/ui/window.blp:234
msgid "Keyboard Shortcuts"
msgstr ""
msgstr "Комбінації Клавіш"
#: data/ui/window.blp:225
#: data/ui/window.blp:239
msgid "About Bavarder"
msgstr ""
msgstr "Про Bavarder"
#: src/main.py:156
msgid "Special thanks to"
msgstr ""
#: src/provider/base.py:36
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr ""
msgstr "Відсутній ключ API, надайте його в налаштуваннях"
#: src/provider/base.py:38
#: src/provider/base.py:45
msgid "Open settings"
msgstr ""
msgstr "Відкрити налаштування"
#: src/provider/catgpt.py:7 src/provider/catgpt.py:54
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr ""
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 "Готово"

View File

@@ -4,6 +4,8 @@
baichat-py>=0.1.2
hgchat
gTTS
openai
googlebardpy
googlebardpy
markdown
pymdown-extensions
Pygments

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,7 @@
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):
@@ -7,6 +9,7 @@ class Preferences(Adw.PreferencesWindow):
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)
@@ -14,26 +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
)
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
)
self.setup_providers()
def on_clear_after_send_switch_toggled(self, *args):
def on_clear_after_send_switch_toggled(self, widget, *args):
"""Callback for the clear_after_send_switch toggled event."""
state = self.clear_after_send_switch.props.state
if state:
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():
# 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.preferences(self))
except TypeError: # no prefs
self.provider_group.add(
provider(self.app.win, self.app).preferences(self)
)
except TypeError:
pass

View File

@@ -11,19 +11,25 @@ from .hfopenassistantsft1pythia12b import HuggingFaceOpenAssistantSFT1PythiaProv
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,
# "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,
}

View File

@@ -3,7 +3,7 @@ from .base import BavarderProvider
import socket
import requests
from gi.repository import Gtk, Adw
from gi.repository import Gtk, Adw, GLib
class AlpacaLoRAProvider(BavarderProvider):
@@ -34,28 +34,20 @@ class AlpacaLoRAProvider(BavarderProvider):
return ""
else:
self.win.banner.set_revealed(False)
r = response["data"][0]
self.update_response(r)
return r
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 preferences(self):
self.no_preferences()
def about(self):
about = Adw.AboutWindow(
transient_for=self.props.active_window,
application_name="Alpaca-LoRA",
developer_name="Stanford Alpaca",
developers=["0xMRTT https://github.com/0xMRTT"],
license_type=Gtk.License.GPL_3_0,
version=version,
copyright="© 2023 0xMRTT",
)
def save(self):
return {}

View File

@@ -3,6 +3,8 @@ from .base import BavarderProvider
from baichat_py import BAIChat
import socket
from gi.repository import Gtk, Adw, GLib
class BAIChatProvider(BavarderProvider):
name = "BAI Chat"
@@ -23,27 +25,13 @@ class BAIChatProvider(BavarderProvider):
return ""
else:
self.win.banner.set_revealed(False)
self.update_response(response.text)
GLib.idle_add(self.update_response, response.text)
return response.text
@property
def require_api_key(self):
return False
def preferences(self):
self.no_preferences()
def about(self):
about = Adw.AboutWindow(
transient_for=self.props.active_window,
application_name="BAI Chat",
developer_name="Theb.ai",
developers=["0xMRTT https://github.com/0xMRTT"],
license_type=Gtk.License.GPL_3_0,
version=version,
copyright="© 2023 0xMRTT",
)
def save(self):
return {}

View File

@@ -4,12 +4,14 @@ import socket
from googlebardpy import BardChat
from gi.repository import Gtk, Adw
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)
@@ -27,7 +29,7 @@ class BardProvider(BavarderProvider):
return ""
else:
self.hide_banner()
self.update_response(response)
GLib.idle_add(self.update_response, response)
return response
@property
@@ -40,17 +42,14 @@ class BardProvider(BavarderProvider):
self.expander = Adw.ExpanderRow()
self.expander.props.title = self.name
about_button = Gtk.Button()
about_button.set_label("About")
about_button.connect("clicked", self.about)
about_button.set_valign(Gtk.Align.CENTER)
self.expander.add_action(about_button) # TODO: in Adw 1.4, use add_suffix
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
@@ -58,28 +57,24 @@ class BardProvider(BavarderProvider):
def on_apply(self, widget):
self.hide_banner()
api_key = self.api_row.get_text()
print(api_key)
self.api_key = api_key
self.chat = BardChat(api_key)
def about(self, *args):
about = Adw.AboutWindow(
transient_for=self.pref_win,
application_name="Bard",
developer_name="Google",
developers=["0xMRTT https://github.com/0xMRTT"],
license_type=Gtk.License.GPL_3_0,
version=self.version,
copyright="© 2023 0xMRTT",
)
about.present()
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
except AttributeError: # no api key
return {}
def load(self, data):
self.chat = BardChat(api_key)
self.api_key = api_key
try:
self.chat = BardChat(data["api_key"])
self.api_key = data["api_key"]
except AttributeError:
self.chat = None
self.api_key = None

View File

@@ -1,25 +1,29 @@
from gettext import gettext as _
from gi.repository import Gtk, Adw
from gi.repository import Gtk, Adw, GLib
import json
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, data, *args, **kwargs):
def __init__(self, win, app, *args, **kwargs):
self.win = win
self.banner = win.banner
self.bot_text_view = win.bot_text_view
self.app = app
self.chat = None
self.data = data
self.update_response = app.update_response
if self.data:
self.load(json.loads(self.data))
self.no_data = False
else:
self.no_data = True
def ask(self, prompt):
raise NotImplementedError()
@@ -28,15 +32,15 @@ class BavarderProvider:
def require_api_key(self):
raise NotImplementedError()
def preferences(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.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)
@@ -50,8 +54,56 @@ class BavarderProvider:
def hide_banner(self):
self.win.banner.set_revealed(False)
def about(self, *args):
raise NotImplementedError()
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("help-about-symbolic")
about_button.set_tooltip_text("About provider")
about_button.add_css_class("flat")
about_button.set_valign(Gtk.Align.CENTER)
about_button.set_popover(popover)
return about_button
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("dialog-information-symbolic")
about_button.set_tooltip_text("How to get a token")
about_button.add_css_class("flat")
about_button.set_valign(Gtk.Align.CENTER)
about_button.connect("clicked", self.open_documentation)
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
@@ -59,12 +111,8 @@ class BavarderProvider:
self.expander = Adw.ExpanderRow()
self.expander.props.title = self.name
about_button = Gtk.Button()
about_button.set_label("About")
about_button.connect("clicked", self.about)
about_button.set_valign(Gtk.Align.CENTER)
self.expander.add_action(about_button) # TODO: in Adw 1.4, use add_suffix
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"
@@ -73,7 +121,20 @@ class BavarderProvider:
return self.expander
def save(self):
raise NotImplementedError()
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()

View File

@@ -2,7 +2,8 @@ from .base import BavarderProvider
from random import choice, randint
from gi.repository import Gtk, Adw
from gi.repository import Gtk, Adw, GLib
class CatGPTProvider(BavarderProvider):
name = _("Cat GPT")
@@ -47,21 +48,6 @@ class CatGPTProvider(BavarderProvider):
def require_api_key(self):
return False
def preferences(self, win):
return self.no_preferences(win)
def about(self, *args):
about = Adw.AboutWindow(
transient_for=self.pref_win,
application_name=_("Cat GPT"),
developer_name="0xMRTT",
developers=["0xMRTT https://github.com/0xMRTT"],
license_type=Gtk.License.GPL_3_0,
version=self.version,
copyright="© 2023 0xMRTT",
)
about.present()
def save(self):
return {}

View File

@@ -3,12 +3,17 @@ import json
import socket
import requests
from gi.repository import Gtk, Adw, GLib
class HuggingFaceDialoGPTLargeProvider(BaseHFProvider):
name = "DialoGPT"
slug = "dialogpt"
slug = "hfdialogpt"
model = "microsoft/DialoGPT-large"
authorization = False
@property
def require_api_key(self):
return False
def ask(self, prompt):
try:
@@ -41,5 +46,5 @@ class HuggingFaceDialoGPTLargeProvider(BaseHFProvider):
else:
self.hide_banner()
print(response)
self.update_response(response)
GLib.idle_add(self.update_response, response)
return response

View File

@@ -5,4 +5,7 @@ class HuggingFaceGoogleFlanT5XXLProvider(BaseHFProvider):
name = "Google Flan T5 XXL"
slug = "hfgoogleflant5xxl"
model = "google/flan-t5-xxl"
authorization = False
@property
def require_api_key(self):
return False

View File

@@ -5,4 +5,7 @@ class HuggingFaceGoogleFlanU12Provider(BaseHFProvider):
name = "Google Flan U12"
slug = "hfgoogleflanu12"
model = "google/flan-ul2"
authorization = False
@property
def require_api_key(self):
return False

View File

@@ -3,6 +3,11 @@ from .huggingface import BaseHFProvider
class HuggingFaceGPT2Provider(BaseHFProvider):
name = "GPT 2"
slug = "gpt2"
slug = "hfgpt2"
model = "gpt2"
authorization = False
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

View 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
View 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

View File

@@ -5,4 +5,7 @@ class HuggingFaceOpenAssistantSFT1PythiaProvider(BaseHFProvider):
name = "Open-Assistant SFT-1 12B Model "
slug = "hfopenassistantsft1pythia12b"
model = "OpenAssistant/oasst-sft-1-pythia-12b"
authorization = False
@property
def require_api_key(self):
return False

View File

@@ -1,58 +1,7 @@
from .base import BavarderProvider
from hgchat import HGChat
import socket
from .huggingchatbase import BaseHuggingChatProvider
from gi.repository import Gtk, Adw
class HuggingChatProvider(BavarderProvider):
class HuggingChatProvider(BaseHuggingChatProvider):
name = "Hugging Chat"
slug = "huggingchat"
def __init__(self, win, app, *args, **kwargs):
super().__init__(win, app, *args, **kwargs)
self.chat = HGChat()
def ask(self, prompt):
try:
response = self.chat.ask(prompt)
except socket.gaierror:
self.no_connection()
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
self.update_response(r)
return r
@property
def require_api_key(self):
return False
def preferences(self):
self.no_preferences()
def about(self):
about = Adw.AboutWindow(
transient_for=self.props.active_window,
application_name="Hugging Chat",
developer_name="Hugging Face",
developers=["0xMRTT https://github.com/0xMRTT"],
license_type=Gtk.License.GPL_3_0,
version=version,
copyright="© 2023 0xMRTT",
)
def save(self):
return {}
def load(self, data):
pass
model = "OpenAssistant/oasst-sft-6-llama-30b-xor"

View 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

View File

@@ -4,14 +4,14 @@ from .base import BavarderProvider
import socket
from gi.repository import Gtk, Adw
from gi.repository import Gtk, Adw, GLib
class BaseHFProvider(BavarderProvider):
name = None
slug = None
model = None
authorization = True
url = "https://bavarder.codeberg.page/help/huggingface"
def __init__(self, win, app, *args, **kwargs):
super().__init__(win, app, *args, **kwargs)
@@ -21,10 +21,9 @@ class BaseHFProvider(BavarderProvider):
try:
payload = json.dumps({"inputs": prompt})
headers = {"Content-Type": "application/json"}
if self.authorization:
if self.require_api_key:
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)
if response.status_code == 403:
self.no_api_key()
@@ -34,7 +33,6 @@ class BaseHFProvider(BavarderProvider):
self.win.banner.props.button_label = ""
self.win.banner.set_revealed(True)
return ""
print(response)
response = response.json()[0]["generated_text"]
# except NoApikey:
@@ -48,50 +46,43 @@ class BaseHFProvider(BavarderProvider):
else:
self.hide_banner()
print(response)
self.update_response(response)
GLib.idle_add(self.update_response, response)
return response
@property
def require_api_key(self):
if self.authorization:
return True
return False
def preferences(self):
if self.authorization:
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
pass
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 about(self):
about = Adw.AboutWindow(
transient_for=self.props.active_window,
application_name=self.name,
developer_name="HuggingFace",
developers=["0xMRTT https://github.com/0xMRTT"],
license_type=Gtk.License.GPL_3_0,
version=version,
copyright="© 2023 0xMRTT",
)
def save(self):
if self.authorization:
if self.require_api_key:
return {"api_key": self.api_key}
return {}
def load(self, data):
if self.authorization:
if self.require_api_key:
self.api_key = data["api_key"]

View File

@@ -12,13 +12,17 @@ providers_sources = [
'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)

View File

@@ -3,7 +3,7 @@ from .base import BavarderProvider
import openai
import socket
from gi.repository import Gtk, Adw
from gi.repository import Gtk, Adw, GLib
class BaseOpenAIProvider(BavarderProvider):
@@ -12,6 +12,7 @@ class BaseOpenAIProvider(BavarderProvider):
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)
@@ -19,11 +20,27 @@ class BaseOpenAIProvider(BavarderProvider):
self.pref_win = None
def ask(self, prompt):
prompt = self.chunk(prompt)
try:
response = self.chat.create(
model=self.model, messages=[{"role": "user", "content": prompt}]
)
response = response.choices[0].message.content
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 ""
@@ -32,12 +49,17 @@ class BaseOpenAIProvider(BavarderProvider):
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()
self.update_response(response)
GLib.idle_add(self.update_response, response)
return response
@property
@@ -50,17 +72,15 @@ class BaseOpenAIProvider(BavarderProvider):
self.expander = Adw.ExpanderRow()
self.expander.props.title = self.name
about_button = Gtk.Button()
about_button.set_label("About")
about_button.connect("clicked", self.about)
about_button.set_valign(Gtk.Align.CENTER)
self.expander.add_action(about_button) # TODO: in Adw 1.4, use add_suffix
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
@@ -68,23 +88,11 @@ class BaseOpenAIProvider(BavarderProvider):
def on_apply(self, widget):
self.hide_banner()
api_key = self.api_row.get_text()
print(api_key)
openai.api_key = api_key
def about(self, *args):
about = Adw.AboutWindow(
transient_for=self.pref_win,
application_name=self.name,
developer_name="OpenAI",
developers=["0xMRTT https://github.com/0xMRTT"],
license_type=Gtk.License.GPL_3_0,
version=self.version,
copyright="© 2023 0xMRTT",
)
about.present()
def save(self):
return {"api_key": openai.api_key}
def load(self, data):
openai.api_key = data["api_key"]
if data["api_key"]:
openai.api_key = data["api_key"]

View File

@@ -5,4 +5,4 @@ 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)"
api_key_title = "API Key (Require a plan with access to the GPT-4 model)"

View File

@@ -0,0 +1,7 @@
from .huggingchatbase import BaseHuggingChatProvider
class StarCoderProvider(BaseHuggingChatProvider):
name = "Star Coder"
slug = "starcoder"
model = "bigcode/starcoder"

View File

@@ -27,12 +27,14 @@ 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()
@@ -44,6 +46,11 @@ class BavarderWindow(Adw.ApplicationWindow):
def __init__(self, **kwargs):
super().__init__(**kwargs)
app = kwargs.get('application')
if app is None:
raise ValueError("Application should be passed to ImaginerWindow")
self.app = app
self.settings = Gio.Settings(schema_id="io.github.Bavarder.Bavarder")
self.settings.bind(