199 Commits
0.2.0 ... 0.2.3

Author SHA1 Message Date
2f77b51d0f fix: add current provider
Some checks failed
Build / Flatpak (x86_64) (push) Failing after 8m42s
2023-05-21 23:24:23 +02:00
3ab6a403b9 fix: api error 2023-05-21 23:23:47 +02:00
a92847a33a bump: 0.2.3 2023-05-21 22:45:26 +02:00
b18bc99906 feat: add doc 2023-05-21 22:33:31 +02:00
1eb456b5f2 fix: local models doesn't require openai key 2023-05-21 22:18:52 +02:00
10b4ecbf5b fix: api_base url 2023-05-21 22:09:29 +02:00
f938d1f4b9 feat: add local model 2023-05-21 21:44:45 +02:00
fb1fea6d0f feat: allow openai custom model 2023-05-21 21:06:50 +02:00
82dc0d6bd0 feat: better error handling 2023-05-21 20:12:50 +02:00
f94d7338b6 feat: allow custom open ai base url 2023-05-21 20:12:36 +02:00
95dc455f9c feat: improve loading 2023-05-21 20:12:20 +02:00
muznyo
1acb6f3d80 Translated using Weblate (Czech)
Currently translated at 100.0% (35 of 35 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/cs/
2023-05-20 07:53:18 +00:00
Eryk Michalak
8347e592a5 Translated using Weblate (Polish)
Currently translated at 94.2% (33 of 35 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/pl/
2023-05-19 15:34:50 +00:00
gallegonovato
a52f752b30 Translated using Weblate (Spanish)
Currently translated at 100.0% (35 of 35 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/es/
2023-05-19 15:34:50 +00:00
artnay
ee5e70d8d7 Translated using Weblate (Finnish)
Currently translated at 100.0% (35 of 35 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fi/
2023-05-18 21:37:35 +00:00
492b6e693e fix: restore baichat 2023-05-18 16:39:51 +02:00
Daudix_UFO
d24f5d4a68 fix: baichat_py 2023-05-18 17:35:31 +03:00
d4cbb0813d Translated using Weblate (French)
Currently translated at 100.0% (35 of 35 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fr/
2023-05-18 07:49:29 +00:00
yangyangdaji
642fe3bd29 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (35 of 35 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/zh_Hans/
2023-05-18 07:47:20 +00:00
Codeberg Translate
ad4ae7aabb 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-18 00:37:40 +00:00
maymage
fb4d4dabe1 Translated using Weblate (Italian)
Currently translated at 91.6% (33 of 36 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/it/
2023-05-18 00:37:38 +00:00
b5f872b747 po: update pot 2023-05-17 17:12:28 +02:00
45bf25934d fix: remove hgchat 2023-05-17 16:48:01 +02:00
bc2fab30a8 feat: add hugging chat mask 2023-05-17 16:43:40 +02:00
5d073ab5c4 fix: remove hugging chat replaced by open assistant 2023-05-17 16:22:46 +02:00
61f626b20b fix: bard url 2023-05-17 16:20:15 +02:00
3817bed117 fix: disable translating CatGPT (#27) 2023-05-17 15:05:45 +02:00
maymage
0541fd582f Translated using Weblate (Italian)
Currently translated at 94.4% (34 of 36 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/it/
2023-05-17 11:04:18 +00:00
Daudix_UFO
673cce0cce Translated using Weblate (Russian)
Currently translated at 100.0% (36 of 36 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/ru/
2023-05-17 11:04:18 +00:00
maymage
1322f574c8 Translated using Weblate (German)
Currently translated at 97.2% (35 of 36 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/de/
2023-05-17 11:04:18 +00:00
8c07cd59ba doc: add latest commit install 2023-05-16 23:24:32 +02:00
c6e86d3bae ci: add codeberg token 2023-05-16 23:19:34 +02:00
c12112f925 ci: add codeberg token 2023-05-16 23:18:46 +02:00
ef57438385 ci: push to codeberg 2023-05-16 23:14:03 +02:00
Codeberg Translate
4346253c97 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-16 20:52:09 +00:00
Vistaus
6fee4c15e1 Translated using Weblate (Dutch)
Currently translated at 100.0% (36 of 36 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/nl/
2023-05-16 20:52:08 +00:00
Anonymous
fcc30d7906 Translated using Weblate (German)
Currently translated at 80.5% (29 of 36 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/de/
2023-05-16 20:52:08 +00:00
79f752ae83 ci: fix translate 2023-05-16 22:44:29 +02:00
bc0a6b6704 ci: fix translate 2023-05-16 22:37:49 +02:00
d0c6bc1c31 Update 2023-05-16 20:36:10 +00:00
d4bff79293 Update 2023-05-16 20:35:59 +00:00
Codeberg Translate
43b35a57d8 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-16 20:35:44 +00:00
Daudix_UFO
c0705b8a74 Translated using Weblate (Russian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/ru/
2023-05-16 20:35:42 +00:00
ecc296d7a2 Update 2023-05-16 20:22:34 +00:00
7b38d3af3f Update 2023-05-16 20:19:32 +00:00
ea62784f7c bump: 0.2.2 2023-05-16 22:19:20 +02:00
e53135d840 data: update appdata 2023-05-16 22:19:19 +02:00
1006865fbb Update 2023-05-16 20:15:15 +00:00
4cc600cdfc fix: allow starting bavarder offline 2023-05-16 22:15:00 +02:00
52b0703dc3 fix: blueprint v0.8.0 2023-05-16 22:14:50 +02:00
a17ea0a9e1 feat: add remote news fetching 2023-05-16 22:12:19 +02:00
60a1929c8e provider: fix open assisatnt 2023-05-16 22:10:49 +02:00
2d038ee396 Update 2023-05-16 19:54:08 +00:00
Daudix_UFO
8f0e4e3e4c meta: Update blueprint-compiler to v0.8.0 2023-05-16 22:53:34 +03:00
c33114eefe Update 2023-05-16 19:45:26 +00:00
1272ab8532 fix: remove usless prints 2023-05-16 21:45:14 +02:00
48d445b7d7 Update 2023-05-16 19:43:40 +00:00
ac9a518f13 feat: fetch news online if there is an issue with a provider 2023-05-16 21:43:23 +02:00
21390da057 Update 2023-05-16 14:07:16 +00:00
Codeberg Translate
626b588796 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-16 14:07:04 +00:00
b89d9c2c29 Translated using Weblate (French)
Currently translated at 100.0% (33 of 33 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fr/
2023-05-16 14:07:02 +00:00
321e4ad77e Update 2023-05-16 14:05:29 +00:00
Codeberg Translate
8a9359fc68 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-16 14:05:16 +00:00
Vistaus
f5ad5c15d6 Translated using Weblate (Dutch)
Currently translated at 100.0% (68 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/nl/
2023-05-16 14:05:13 +00:00
Daudix_UFO
3acc7ae712 Translated using Weblate (Russian)
Currently translated at 100.0% (68 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/ru/
2023-05-16 14:05:13 +00:00
36bccd994f Translated using Weblate (French)
Currently translated at 54.4% (37 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fr/
2023-05-16 14:05:13 +00:00
27d378156c po: remove appdata 2023-05-16 14:04:27 +00:00
a7c9a05f6a Update 2023-05-16 14:03:15 +00:00
09a75830e4 po: remove appdata 2023-05-16 14:02:56 +00:00
6a802c6190 Update 2023-05-16 12:00:28 +00:00
Codeberg Translate
e2dc8a671a 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-16 12:00:14 +00:00
Vistaus
85717ffe9f Translated using Weblate (Dutch)
Currently translated at 58.8% (40 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/nl/
2023-05-16 12:00:12 +00:00
Anonymous
7bd96c2ab7 Translated using Weblate (Chinese (Simplified))
Currently translated at 57.3% (39 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/zh_Hans/
2023-05-16 12:00:12 +00:00
Anonymous
ad7cb3c087 Translated using Weblate (Thai)
Currently translated at 41.1% (28 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/th/
2023-05-16 12:00:12 +00:00
Anonymous
7144f1ea45 Translated using Weblate (Persian)
Currently translated at 38.2% (26 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fa/
2023-05-16 12:00:12 +00:00
Anonymous
a7c9388029 Translated using Weblate (Polish)
Currently translated at 48.5% (33 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/pl/
2023-05-16 12:00:12 +00:00
Anonymous
c2d5b633d4 Translated using Weblate (Dutch)
Currently translated at 58.8% (40 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/nl/
2023-05-16 12:00:12 +00:00
Anonymous
ae6fc70e6c Translated using Weblate (Turkish)
Currently translated at 42.6% (29 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/tr/
2023-05-16 12:00:12 +00:00
Anonymous
a1ab56a147 Translated using Weblate (Finnish)
Currently translated at 47.0% (32 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fi/
2023-05-16 12:00:12 +00:00
Anonymous
2b16f7e7ab Translated using Weblate (Azerbaijani)
Currently translated at 36.7% (25 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/az/
2023-05-16 12:00:12 +00:00
Anonymous
12a565f8de Translated using Weblate (Hungarian)
Currently translated at 16.1% (11 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/hu/
2023-05-16 12:00:12 +00:00
Anonymous
7f37bdf18a Translated using Weblate (Portuguese)
Currently translated at 39.7% (27 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/pt/
2023-05-16 12:00:12 +00:00
Anonymous
b5c94e46df Translated using Weblate (Czech)
Currently translated at 48.5% (33 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/cs/
2023-05-16 12:00:12 +00:00
Anonymous
c48cad2eed Translated using Weblate (Swedish)
Currently translated at 41.1% (28 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/sv/
2023-05-16 12:00:12 +00:00
Anonymous
f83bc1c6a5 Translated using Weblate (Italian)
Currently translated at 57.3% (39 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/it/
2023-05-16 12:00:11 +00:00
Anonymous
dcf402ccb9 Translated using Weblate (Ukrainian)
Currently translated at 47.0% (32 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/uk/
2023-05-16 12:00:11 +00:00
Anonymous
57da684031 Translated using Weblate (Russian)
Currently translated at 57.3% (39 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/ru/
2023-05-16 12:00:11 +00:00
Anonymous
9f09114614 Translated using Weblate (French)
Currently translated at 50.0% (34 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fr/
2023-05-16 12:00:11 +00:00
Anonymous
e860601234 Translated using Weblate (Spanish)
Currently translated at 44.1% (30 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/es/
2023-05-16 12:00:11 +00:00
Anonymous
a95564bcca Translated using Weblate (German)
Currently translated at 48.5% (33 of 68 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/de/
2023-05-16 12:00:11 +00:00
55adf8080b Update 2023-05-16 11:38:09 +00:00
c1983d228f Update 2023-05-16 11:37:56 +00:00
Codeberg Translate
249623413b 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-16 11:37:36 +00:00
CraftWorksMC
8e594dcf02 Translated using Weblate (Italian)
Currently translated at 100.0% (37 of 37 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/it/
2023-05-16 11:37:34 +00:00
Daudix_UFO
9bf96cd97f Translated using Weblate (Russian)
Currently translated at 100.0% (37 of 37 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/ru/
2023-05-16 11:37:34 +00:00
9cfd5229a1 Update 2023-05-15 17:31:33 +00:00
6806c3138e Update 2023-05-15 17:30:31 +00:00
0656c107d7 ci: fix repo 2023-05-15 17:30:17 +00:00
185808f69f Update 2023-05-15 17:29:36 +00:00
e426129b1b ci: fix repo 2023-05-15 17:29:20 +00:00
891a29f6d6 Update 2023-05-15 17:28:36 +00:00
599cb6fb49 ci: fix repo 2023-05-15 17:28:26 +00:00
a6158ec7f1 Update 2023-05-15 17:23:53 +00:00
1b48fb4c35 po: add ci 2023-05-15 17:23:43 +00:00
683aec6ae5 po: add ci 2023-05-15 17:21:57 +00:00
yangyangdaji
232337331a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (37 of 37 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/zh_Hans/
2023-05-15 16:47:46 +00:00
Vistaus
02b615b96a Translated using Weblate (Dutch)
Currently translated at 100.0% (37 of 37 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/nl/
2023-05-15 16:47:45 +00:00
Codeberg Translate
b06fb39e86 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-15 05:20:43 +00:00
Daudix_UFO
90b6ff4172 fix: CatGPT name 2023-05-14 18:26:35 +03:00
Daudix_UFO
ec956191c6 feat: 📝🐱 2023-05-14 18:21:56 +03:00
Daudix_UFO
f42b25add4 feat: 🐱 2023-05-14 18:17:31 +03:00
Daudix_UFO
2922971136 feat: Add heading to quit dialog and tweak text 2023-05-14 17:15:59 +03:00
74a25909c1 fix: close all 2023-05-14 16:12:34 +02:00
a4876b5fac fix: update troubleshootings 2023-05-14 16:07:48 +02:00
25094b4085 feat: add f1 for help 2023-05-14 16:00:39 +02:00
aa7624394c fix: typo 2023-05-14 15:54:04 +02:00
589c5416a0 feat: remove dropdown and move to the menu 2023-05-14 15:53:41 +02:00
0938be4486 po: update pot 2023-05-14 15:37:32 +02:00
d8eb32c83d fix: typo 2023-05-14 15:37:27 +02:00
83ec10c205 fix: rename shortcuts 2023-05-14 15:34:16 +02:00
62c5b4e788 feat: add Ctrl + {W,Q} for closing window(s) (fix #24) 2023-05-14 15:23:50 +02:00
yangyangdaji
d977c0ebfb Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (34 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/zh_Hans/
2023-05-14 09:43:13 +00:00
Anonymous
31340da6cf Translated using Weblate (Chinese (Simplified))
Currently translated at 61.7% (21 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/zh_Hans/
2023-05-14 08:59:43 +00:00
yangyangdaji
b6d2e0efe9 Translated using Weblate (Chinese (Simplified))
Currently translated at 61.7% (21 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/zh_Hans/
2023-05-14 08:59:43 +00:00
yangyangdaji
164868f404 Added translation using Weblate (Chinese (Simplified)) 2023-05-14 08:58:43 +00:00
c5af44e8b4 ci: fix secrets
All checks were successful
Build / Flatpak (x86_64) (push) Successful in 3m6s
2023-05-14 09:29:17 +02:00
Eryk Michalak
0c68157f14 Translated using Weblate (Polish)
Currently translated at 100.0% (34 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/pl/
2023-05-14 07:13:48 +00:00
Vistaus
2784ceb818 Translated using Weblate (Dutch)
Currently translated at 100.0% (34 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/nl/
2023-05-14 07:13:48 +00:00
artnay
153ad37d12 Translated using Weblate (Finnish)
Currently translated at 100.0% (34 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fi/
2023-05-14 07:13:48 +00:00
muznyo
d0f6ac660a Translated using Weblate (Czech)
Currently translated at 100.0% (34 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/cs/
2023-05-14 07:13:48 +00:00
volkov
871f205dd0 Translated using Weblate (Ukrainian)
Currently translated at 97.0% (33 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/uk/
2023-05-14 07:13:48 +00:00
Daudix_UFO
5e4111df6b Translated using Weblate (Russian)
Currently translated at 100.0% (34 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/ru/
2023-05-14 07:13:48 +00:00
fc86f2fb4f ci: improve access token
Some checks failed
Build / Flatpak (x86_64) (push) Failing after 3m6s
2023-05-13 21:12:33 +02:00
db270e0d00 ci: add check
Some checks failed
Build / Flatpak (x86_64) (push) Failing after 3m15s
2023-05-13 21:07:45 +02:00
Daudix_UFO
3ac953722f feat: Move font sizes from em to pt
Some checks are pending
Build / Flatpak (x86_64) (push) Has started running
2023-05-13 21:24:46 +03:00
Daudix_UFO
437bf2436c feat: Update screenshots 2023-05-13 20:55:45 +03:00
Daudix_UFO
93d1f22634 feat: And for light mode 2023-05-13 20:49:43 +03:00
Daudix_UFO
aa7545c08a feat: Further tweak colors 2023-05-13 20:46:54 +03:00
Daudix_UFO
cda5833864 feat: Amend hardcoded webkitgtk margins 2023-05-13 20:27:36 +03:00
f09a34d448 feat: add dark style theming 2023-05-13 19:12:31 +02:00
3161da89cc git: remove bavarder.flatpak
All checks were successful
Build / Flatpak (x86_64) (push) Successful in 3m17s
2023-05-13 19:07:21 +02:00
8e1812eb17 ci: format 2023-05-13 19:02:29 +02:00
Daudix_UFO
6ce4614f73 feat: Use 1:1 Adwaita colors for webview 2023-05-13 19:31:28 +03:00
93245dfa19 doc: update install
All checks were successful
Build / Flatpak (x86_64) (push) Successful in 3m21s
2023-05-13 17:53:28 +02:00
912f531a0d fix: ci 2023-05-13 17:49:50 +02:00
2c30abbfe9 ci: add gitea workflow 2023-05-13 17:47:03 +02:00
a583abfc06 fix: ci 2023-05-13 17:10:07 +02:00
26642ec0f4 ci: switch to fedora 2023-05-13 16:48:27 +02:00
bce914f618 Translated using Weblate (Swedish)
Currently translated at 85.2% (29 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/sv/
2023-05-13 14:43:11 +00:00
Anonymous
7a01ac8d93 Translated using Weblate (Polish)
Currently translated at 91.1% (31 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/pl/
2023-05-13 13:25:03 +00:00
Anonymous
1400fe36bc Translated using Weblate (Dutch)
Currently translated at 91.1% (31 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/nl/
2023-05-13 13:25:03 +00:00
Anonymous
9080e0a162 Translated using Weblate (Turkish)
Currently translated at 85.2% (29 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/tr/
2023-05-13 13:25:03 +00:00
Anonymous
0baa2d372a Translated using Weblate (Finnish)
Currently translated at 91.1% (31 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fi/
2023-05-13 13:25:03 +00:00
Anonymous
d55db09ed8 Translated using Weblate (Italian)
Currently translated at 85.2% (29 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/it/
2023-05-13 13:25:03 +00:00
Anonymous
d659ed7958 Translated using Weblate (Ukrainian)
Currently translated at 85.2% (29 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/uk/
2023-05-13 13:25:03 +00:00
Anonymous
ed162e6b8e Translated using Weblate (Russian)
Currently translated at 91.1% (31 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/ru/
2023-05-13 13:25:03 +00:00
df8f4a120f Translated using Weblate (French)
Currently translated at 100.0% (34 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fr/
2023-05-13 13:25:03 +00:00
Anonymous
a038f7deb7 Translated using Weblate (French)
Currently translated at 100.0% (34 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/fr/
2023-05-13 13:25:02 +00:00
21f756f054 Translated using Weblate (German)
Currently translated at 100.0% (34 of 34 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/de/
2023-05-13 13:25:02 +00:00
Codeberg Translate
30bd160065 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-13 13:23:20 +00:00
f4a53b93ef Translated using Weblate (Hungarian)
Currently translated at 32.2% (10 of 31 strings)

Translation: Bavarder/Bavarder
Translate-URL: https://translate.codeberg.org/projects/bavarder/bavarder/hu/
2023-05-13 13:23:18 +00:00
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
53 changed files with 3398 additions and 1019 deletions

View File

@@ -0,0 +1,34 @@
name: Build
on:
push:
branches: [ "main" ]
pull_request:
jobs:
flatpak:
name: Flatpak
runs-on: ubuntu-latest
container:
image: bilelmoussaoui/flatpak-github-actions:gnome-44
options: --privileged
strategy:
matrix:
arch: [x86_64]
fail-fast: false
steps:
- name: Install Node.js
run: dnf -y install nodejs
- name: Checkout
uses: actions/checkout@v3
- name: Install dependencies
run: dnf -y install docker flatpak-builder flatpak git
- name: Build
run: |
flatpak-builder --repo=repo --force-clean build build-aux/flatpak/io.github.Bavarder.Bavarder.json
flatpak build-bundle repo bavarder.flatpak io.github.Bavarder.Bavarder
ls -la
echo "---${{ secrets.ACCESS_TOKEN }}---"
curl --user 0xmrtt:${{ secrets.ACCESS_TOKEN }} --upload-file bavarder.flatpak https://git.projectsegfau.lt/api/packages/Bavarder/generic/Bavarder/$GITHUB_JOB/bavarder.flatpak

1
.gitignore vendored
View File

@@ -3,3 +3,4 @@ flatpak-pip-generator
repo/
build/
export/
bavarder.flatpak

38
.woodpecker.yml Normal file
View File

@@ -0,0 +1,38 @@
clone:
git:
image: bash
commands:
- cd /home/0xmrtt
- if [ -d Bavarder ]; then
- cd Bavarder
- git pull
- else
- git clone https://git.exozy.me/Bavarder/Bavarder.git
- fi
pipeline:
build:
image: fish
secrets: [ access_token, codeberg_token ]
commands:
- nix-env -iA nixpkgs.flatpak-builder
- fish_add_path ~/.nix-profile/bin
- cd /home/0xmrtt/Bavarder
- flatpak-builder --repo=repo --force-clean build build-aux/flatpak/io.github.Bavarder.Bavarder.json
- flatpak build-bundle repo bavarder.flatpak io.github.Bavarder.Bavarder
- ls -la
- curl --user 0xmrtt:$ACCESS_TOKEN --upload-file bavarder.flatpak "https://git.exozy.me/api/packages/$CI_REPO_OWNER/generic/$CI_REPO_NAME/$CI_BUILD_NUMBER/bavarder.flatpak"
- curl --user 0xmrtt:$CODEBERG_TOKEN --upload-file bavarder.flatpak "https://codeberg.org/api/packages/$CI_REPO_OWNER/generic/$CI_REPO_NAME/$CI_BUILD_NUMBER/bavarder.flatpak"
translate:
image: fish
commands:
- nix-env -iA nixpkgs.gettext
- fish_add_path ~/.nix-profile/bin
- cd /home/0xmrtt/Bavarder
- bash po/update-pot.sh
- git add po/Bavarder.pot
- git commit -m "Update"
- git push origin main
when:
event: [manual]

View File

@@ -36,26 +36,32 @@
<a href="https://bavarder.codeberg.page">
<p align="center">
<img src="./data/screenshots/quantum-computing.png" alt="Preview"/>
<img src="./data/screenshots/preview.png" alt="Preview"/>
</p>
</a>
## About the name
## Usage
Bavarder is a french word, the definiton of Bavarder is "Parler abondamment de choses sans grande portée" (Talking a lot about things that don't matter) (Larousse) which can be translated by Chit-Chat (informal conversation about matters that are not important). For non-french speakers, Bavarder can be hard to speak, it's prounouced as [bavaʀde]. Hear [here](https://youtu.be/9Qoogwxo5YA)
Documentation is available [here](https://bavarder.codeberg.page)
## Installation
### Flatpak
#### Flathub
You can either use your GNOME Software and search for "Bavarder" or you can run
``` shell
flatpak install io.github.Bavarder.Bavarder
```
### Latest
You can download a flatpak from the latest commit [here](https://codeberg.org/Bavarder/-/packages/generic/bavarder/). Download the file and run:
```
flatpak install bavarder.flatpak
```
#### From Source
Clone the repo and run `flatpak-builder`
@@ -89,6 +95,10 @@ You can translate Bavarder using Codeberg Translate
- [GitHub](https://github.com/Bavarder/Bavarder)
- [Codeberg](https://codeberg.org/Bavarder/Bavarder)
## About the name
Bavarder is a french word, the definiton of Bavarder is "Parler abondamment de choses sans grande portée" (Talking a lot about things that don't matter) (Larousse) which can be translated by Chit-Chat (informal conversation about matters that are not important). For non-french speakers, Bavarder can be hard to speak, it's prounouced as [bavaʀde]. Hear [here](https://youtu.be/9Qoogwxo5YA)
## See also
### [Imaginer : Imagine with AI](https://imaginer.codeberg.page)

View File

@@ -13,6 +13,7 @@
- https://mindaizer.com/chatgpt-et-linux-presentation-de-bavarder/
- https://wiredgorilla.com/introducing-bavarder-a-user-friendly-linux-desktop-app-for-quick-chatgpt-interaction/
- https://www.linuxconsultant.org/bavarder-is-a-chatgpt-app-for-linux-desktops/
- https://www.linuxlinks.com/machine-learning-linux-bavarder/
## Youtube

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",
@@ -30,8 +31,8 @@
"sources" : [
{
"type" : "git",
"url" : "https://gitlab.gnome.org/jwestman/blueprint-compiler",
"tag" : "v0.6.0"
"url" : "https://gitlab.gnome.org/jwestman/blueprint-compiler.git",
"tag" : "v0.8.0"
}
]
},

View File

@@ -4,10 +4,10 @@
"build-commands": [],
"modules": [
{
"name": "python3-baichat-py",
"name": "python3-baichat_py",
"buildsystem": "simple",
"build-commands": [
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"baichat-py>=0.1.2\" --no-build-isolation"
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"baichat_py\" --no-build-isolation"
],
"sources": [
{
@@ -63,10 +63,10 @@
]
},
{
"name": "python3-hgchat",
"name": "python3-googlebardpy",
"buildsystem": "simple",
"build-commands": [
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"hgchat\" --no-build-isolation"
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"googlebardpy\" --no-build-isolation"
],
"sources": [
{
@@ -81,8 +81,8 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/31/7b/e26fdbce33e2bb68ba952cb21c260792a900766b8f767f040bdfbee48d03/hgchat-0.1.3-py3-none-any.whl",
"sha256": "25725da85864cb57abd16d9ce15c270f785b7c1073ad30470609878226b93b0b"
"url": "https://files.pythonhosted.org/packages/a8/40/30a6440d5ceec49fc268710705b89e654fc854d9b8754850228deaf64892/googlebardpy-0.1.0-py3-none-any.whl",
"sha256": "12e65fdfe99392cbb5e8f93572340b757cd9d7aa83391316eaea3a1527995ef2"
},
{
"type": "file",
@@ -94,11 +94,6 @@
"url": "https://files.pythonhosted.org/packages/96/80/034ffeca15c0f4e01b7b9c6ad0fb704b44e190cde4e757edbd60be404c41/requests-2.30.0-py3-none-any.whl",
"sha256": "10e94cc4f3121ee6da529d358cdaeaff2f1c409cd377dbc72b825852f2f7e294"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl",
"sha256": "cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/4b/1d/f8383ef593114755429c307449e7717b87044b3bcd5f7860b89b1f759e34/urllib3-2.0.2-py3-none-any.whl",
@@ -160,8 +155,8 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/9f/87/838149e472c58a141fa81e2eb4cc8828cb134054b59d67637031985ca770/openai-0.27.6-py3-none-any.whl",
"sha256": "1f07ed06f1cfc6c25126107193726fe4cf476edcc4e1485cd9eb708f068f2606"
"url": "https://files.pythonhosted.org/packages/35/c3/de7124146c3edbe8fd8163028d9ac998f2fd5dcda9225655f1d4ed684bbc/openai-0.27.7-py3-none-any.whl",
"sha256": "788fb7fa85bf7caac6c1ed7eea5984254a1bdaf09ef485acf0e5718c8b2dc25a"
},
{
"type": "file",
@@ -186,10 +181,29 @@
]
},
{
"name": "python3-googlebardpy",
"name": "python3-pymdown-extensions",
"buildsystem": "simple",
"build-commands": [
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"googlebardpy\" --no-build-isolation"
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pymdown-extensions\" --no-build-isolation"
],
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/36/2b/61d51a2c4f25ef062ae3f74576b01638bebad5e045f747ff12643df63844/PyYAML-6.0.tar.gz",
"sha256": "68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/a2/17/607fc71d709c0df9cca39ed57ed6f8b1cb77863073004c7def8a02a45fe2/pymdown_extensions-10.0.1-py3-none-any.whl",
"sha256": "ae66d84013c5d027ce055693e09a4628b67e9dec5bce05727e45b0918e36f274"
}
]
},
{
"name": "python3-requests",
"buildsystem": "simple",
"build-commands": [
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"requests\" --no-build-isolation"
],
"sources": [
{
@@ -202,11 +216,6 @@
"url": "https://files.pythonhosted.org/packages/ff/d7/8d757f8bd45be079d76309248845a04f09619a7b17d6dfc8c9ff6433cac2/charset-normalizer-3.1.0.tar.gz",
"sha256": "34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/a8/40/30a6440d5ceec49fc268710705b89e654fc854d9b8754850228deaf64892/googlebardpy-0.1.0-py3-none-any.whl",
"sha256": "12e65fdfe99392cbb5e8f93572340b757cd9d7aa83391316eaea3a1527995ef2"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl",
@@ -225,10 +234,10 @@
]
},
{
"name": "python3-pymdown-extensions",
"name": "python3-text-generation",
"buildsystem": "simple",
"build-commands": [
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pymdown-extensions\" --no-build-isolation"
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"text-generation\" --no-build-isolation"
],
"sources": [
{
@@ -238,8 +247,103 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/42/d5/ad2ce4fbd49f746c56f17ca4d1a8112cf76ea8797db670592923f7b3d96e/pymdown_extensions-9.11-py3-none-any.whl",
"sha256": "a499191d8d869f30339de86fcf072a787e86c42b6f16f280f5c2cf174182b7f3"
"url": "https://files.pythonhosted.org/packages/c2/fd/1ff4da09ca29d8933fda3f3514980357e25419ce5e0f689041edb8f17dab/aiohttp-3.8.4.tar.gz",
"sha256": "bf2e1a9162c1e441bf805a1fd166e249d574ca04e03b34f97e2928769e91ab5c"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/76/ac/a7305707cb852b7e16ff80eaf5692309bde30e2b1100a1fcacdc8f731d97/aiosignal-1.3.1-py3-none-any.whl",
"sha256": "f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/d6/c1/8991e7c5385b897b8c020cdaad718c5b087a6626d1d11a23e1ea87e325a7/async_timeout-4.0.2-py3-none-any.whl",
"sha256": "8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/f0/eb/fcb708c7bf5056045e9e98f62b93bd7467eb718b0202e7698eb11d66416c/attrs-23.1.0-py3-none-any.whl",
"sha256": "1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/9d/19/59961b522e6757f0c9097e4493fa906031b95b3ebe9360b2c3083561a6b4/certifi-2023.5.7-py3-none-any.whl",
"sha256": "c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/ff/d7/8d757f8bd45be079d76309248845a04f09619a7b17d6dfc8c9ff6433cac2/charset-normalizer-3.1.0.tar.gz",
"sha256": "34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/ad/73/b094a662ae05cdc4ec95bc54e434e307986a5de5960166b8161b7c1373ee/filelock-3.12.0-py3-none-any.whl",
"sha256": "ad98852315c2ab702aeb628412cbf7e95b7ce8c3bf9565670b4eaecf1db370a9"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/e9/10/d629476346112b85c912527b9080944fd2c39a816c2225413dbc0bb6fcc0/frozenlist-1.3.3.tar.gz",
"sha256": "58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/ec/4e/397b234a369df06ec782666fcdf9791d125ca6de48729814b381af8c6c03/fsspec-2023.5.0-py3-none-any.whl",
"sha256": "51a4ad01a5bb66fcc58036e288c0d53d3975a0df2a5dc59a93b59bade0391f2a"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/58/34/c57b951aecd0248845932c1cfc15721237c50e463f26b0536673bcb76f4f/huggingface_hub-0.14.1-py3-none-any.whl",
"sha256": "9fc619170d800ff3793ad37c9757c255c8783051e1b5b00501205eb43ccc4f27"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl",
"sha256": "90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/4a/15/bd620f7a6eb9aa5112c4ef93e7031bcd071e0611763d8e17706ef8ba65e0/multidict-6.0.4.tar.gz",
"sha256": "3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/ab/c3/57f0601a2d4fe15de7a553c00adbc901425661bf048f2a22dfc500caf121/packaging-23.1-py3-none-any.whl",
"sha256": "994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/43/5f/e53a850fd32dddefc998b6bfcbda843d4ff5b0dcac02a92e414ba6c97d46/pydantic-1.10.7.tar.gz",
"sha256": "cfc83c0678b6ba51b0532bea66860617c4cd4251ecf76e9846fa5a9f3454e97e"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/96/80/034ffeca15c0f4e01b7b9c6ad0fb704b44e190cde4e757edbd60be404c41/requests-2.30.0-py3-none-any.whl",
"sha256": "10e94cc4f3121ee6da529d358cdaeaff2f1c409cd377dbc72b825852f2f7e294"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/83/14/643c55e7cf845db3c1ac96cd624511d56c50386f3760448e7dc2ff58f1c1/text_generation-0.5.2-py3-none-any.whl",
"sha256": "110dd5b05f8ec9cef00f3977001f1ce0464b133b14d4939b15260b0e863c942d"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/e6/02/a2cff6306177ae6bc73bc0665065de51dfb3b9db7373e122e2735faf0d97/tqdm-4.65.0-py3-none-any.whl",
"sha256": "c4f53a17fe37e132815abceec022631be8ffe1b9381c2e6e30aa70edc99e9671"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/31/25/5abcd82372d3d4a3932e1fa8c3dbf9efac10cc7c0d16e78467460571b404/typing_extensions-4.5.0-py3-none-any.whl",
"sha256": "fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/4b/1d/f8383ef593114755429c307449e7717b87044b3bcd5f7860b89b1f759e34/urllib3-2.0.2-py3-none-any.whl",
"sha256": "d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/5f/3f/04b3c5e57844fb9c034b09c5cb6d2b43de5d64a093c30529fd233e16cf09/yarl-1.9.2.tar.gz",
"sha256": "04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571"
}
]
}

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>
@@ -56,9 +60,48 @@
<keyword>ChatGPT</keyword>
<keyword>AI</keyword>
<keyword>OpenAI</keyword>
<keyword>Open Assistant</keyword>
<keyword>HuggingFace</keyword>
</keywords>
<releases>
<release version="0.2.3" date="2023-5-21" type="stable">
<description>
<p>Add the ability to use local model</p>
<p>Add the ability to use custom model in OpenAI</p>
<p>Make loading mechanism faster</p>
<p>Fix some bugs</p>
<p>Update translations</p>
<p>Add CI</p>
<p>Add support for launching Bavarder offline</p>
<p>Update Blueprint to v0.8.0</p>
<p>Add better error handling</p>
</description>
</release>
<release version="0.2.2" date="2023-5-16" type="stable">
<description>
<p>Allow fetching news about providers and check if there is some issues about them</p>
<p>Hugging Chat is now disabled because of a change which require to login</p>
<p>Providers moved to the menu</p>
<p>Update screenshots</p>
<p>Fix some bugs</p>
<p>Update translations</p>
<p>Add CI</p>
<p>Add support for launching Bavarder offline</p>
<p>Update Blueprint to v0.8.0</p>
<p>Add better error handling</p>
</description>
</release>
<release version="0.2.1" date="2023-5-13" type="stable">
<description>
<p>Fix Theming support of the new render widget</p>
<p>Add the ability to have multiple windows open at the same time</p>
<p>Update preferences UI</p>
<p>Fix some bugs</p>
<p>Update translations</p>
<p>Add better error handling</p>
</description>
</release>
<release version="0.2.0" date="2023-5-11" type="stable">
<description>
<p>Add support of formatting in the response view using Markdown</p>

View File

@@ -17,10 +17,10 @@
<default>false</default>
</key>
<key name="enabled-providers" type="as">
<default>["baichat", "catgpt", "huggingchat", "openaigpt35turbo"]</default>
<default>["baichat", "hfopenassistantsft1pythia12b", "catgpt", "openaigpt35turbo"]</default>
</key>
<key name="latest-provider" type="s">
<default>'huggingchat'</default>
<default>'hfopenassistantsft1pythia12b'</default>
</key>
<key name="providers-data" type="a{ss}">
<default>{}</default>
@@ -28,5 +28,11 @@
<key name="use-text-view" type="b">
<default>false</default>
</key>
<key name="close-all-without-dialog" type="b">
<default>false</default>
</key>
<key name="allow-remote-fetching" type="b">
<default>true</default>
</key>
</schema>
</schemalist>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -23,10 +23,16 @@
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Quit</property>
<property name="title" translatable="yes" context="shortcut window">Close current window</property>
<property name="action-name">app.quit</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Close all windows</property>
<property name="action-name">app.quit_all</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Preferences</property>

View File

@@ -1,7 +1,7 @@
using Gtk 4.0;
using Adw 1;
template Preferences : Adw.PreferencesWindow {
template $Preferences : Adw.PreferencesWindow {
title: _("Preferences");
default-height: 400;
default-width: 600;
@@ -21,13 +21,31 @@ template Preferences : Adw.PreferencesWindow {
}
Adw.ActionRow {
title: _("Use text view");
subtitle: _("If the text view is used, you will lose formatting");
title: _("Use plain text for output");
subtitle: _("The plain text without formatting will be used");
activatable-widget: use_text_view_switch;
Gtk.Switch use_text_view_switch {
valign: center;
}
}
Adw.ActionRow {
title: _("Close all windows without warning");
subtitle: _("All windows will be closed without warning, this can lead to data loss");
activatable-widget: close_all_without_dialog_switch;
Gtk.Switch close_all_without_dialog_switch {
valign: center;
}
}
Adw.ActionRow {
title: _("Look for provider news");
subtitle: _("News about issues with providers will be fetched from Bavarder website");
activatable-widget: allow_remote_fetching_switch;
Gtk.Switch allow_remote_fetching_switch {
valign: center;
}
}
}
Adw.PreferencesGroup provider_group {

View File

@@ -2,7 +2,7 @@ using Gtk 4.0;
using Adw 1;
using WebKit 6.0;
template BavarderWindow : Adw.ApplicationWindow {
template $BavarderWindow : Adw.ApplicationWindow {
title: _("Bavarder");
default-width: 350;
@@ -21,15 +21,12 @@ template BavarderWindow : Adw.ApplicationWindow {
vexpand: true;
hexpand: true;
Adw.HeaderBar {
MenuButton {
MenuButton menu {
primary: true;
menu-model: main-menu;
icon-name: "open-menu-symbolic";
tooltip-text: _("Main Menu");
}
DropDown provider_selector {
styles ["flat"]
}
styles ["flat"]
}
@@ -59,10 +56,10 @@ template BavarderWindow : Adw.ApplicationWindow {
styles ["card", "text-box"]
ScrolledWindow {
margin-top:12;
margin-bottom:0;
margin-start:12;
margin-end:12;
margin-top: 12;
margin-bottom: 0;
margin-start: 12;
margin-end: 12;
styles ["scrolled-window"]
TextView prompt_text_view {
@@ -141,10 +138,10 @@ template BavarderWindow : Adw.ApplicationWindow {
styles ["card", "text-box"]
ScrolledWindow scrolled_response_window {
margin-top:12;
margin-bottom:0;
margin-start:12;
margin-end:12;
margin-top: 12;
margin-bottom: 0;
margin-start: 12;
margin-end: 12;
styles ["scrolled-window"]
Gtk.Stack response_stack {
@@ -224,6 +221,12 @@ template BavarderWindow : Adw.ApplicationWindow {
menu main-menu {
section {
item {
label: _("New window");
action: "app.new";
}
}
section {
item {
label: _("Preferences");
@@ -234,7 +237,7 @@ menu main-menu {
label: _("Keyboard Shortcuts");
action: "win.show-help-overlay";
}
item {
label: _("About Bavarder");
action: "app.about";

View File

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

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
"POT-Creation-Date: 2023-05-21 22:43+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,24 +17,10 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr ""
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr ""
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr ""
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr ""
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
@@ -52,25 +38,30 @@ msgstr ""
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Quit"
msgid "Close current window"
msgstr ""
#: data/ui/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Preferences"
msgid "Close all windows"
msgstr ""
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Copy response"
msgid "Preferences"
msgstr ""
#: data/ui/help-overlay.ui:44
msgctxt "shortcut window"
msgid "Copy response"
msgstr ""
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr ""
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:300
msgid "Preferences"
msgstr ""
@@ -86,54 +77,90 @@ msgstr ""
msgid "The prompt will be cleared after send"
msgstr ""
#: data/ui/preferences.blp:24
msgid "Use plain text for output"
msgstr ""
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr ""
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr ""
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr ""
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr ""
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr ""
#: data/ui/preferences.blp:52 src/main.py:298
msgid "Providers"
msgstr ""
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr ""
#: data/ui/window.blp:36 src/provider/base.py:47
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr ""
#: data/ui/window.blp:51
#: data/ui/window.blp:49
msgid "Message"
msgstr ""
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr ""
#: data/ui/window.blp:108
#: data/ui/window.blp:106
msgid "Ask"
msgstr ""
#: data/ui/window.blp:117
#: data/ui/window.blp:115
msgid "Wait"
msgstr ""
#: data/ui/window.blp:132
#: data/ui/window.blp:130
msgid "Response"
msgstr ""
#: data/ui/window.blp:220
#: data/ui/window.blp:208
msgid "Stop"
msgstr ""
#: data/ui/window.blp:226
msgid "New window"
msgstr ""
#: data/ui/window.blp:237 src/main.py:301
msgid "Keyboard Shortcuts"
msgstr ""
#: data/ui/window.blp:225
#: data/ui/window.blp:242 src/main.py:302
msgid "About Bavarder"
msgstr ""
#: src/provider/base.py:40
#: src/main.py:151
msgid "New version available!"
msgstr ""
#: src/main.py:267
msgid "New Window"
msgstr ""
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr ""
#: src/provider/base.py:42
#: src/provider/base.py:45
msgid "Open settings"
msgstr ""
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr ""

View File

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

View File

@@ -1,5 +1,4 @@
data/io.github.Bavarder.Bavarder.desktop.in
data/io.github.Bavarder.Bavarder.appdata.xml.in
data/io.github.Bavarder.Bavarder.gschema.xml
data/ui/help-overlay.ui
data/ui/preferences.blp
@@ -8,4 +7,4 @@ src/main.py
src/preferences.py
src/window.py
src/provider/base.py
src/provider/catgpt.py
src/provider/catgpt.py

148
po/az.po
View File

@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
"Last-Translator: 0xMRTT <0xmrtt@proton.me>\n"
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Azerbaijani <https://translate.codeberg.org/projects/bavarder/"
"bavarder/az/>\n"
"Language: az\n"
@@ -21,24 +21,10 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "Chit AI ilə söhbət edin"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "Əsas UI ekran görüntüsü"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
@@ -56,27 +42,32 @@ msgstr "Soruş"
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Quit"
msgstr "Çıx"
msgid "Close current window"
msgstr ""
#: data/ui/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Close all windows"
msgstr ""
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Üstünlüklər"
#: data/ui/help-overlay.ui:38
#: data/ui/help-overlay.ui:44
#, fuzzy
#| msgid "Response"
msgctxt "shortcut window"
msgid "Copy response"
msgstr "Cavab"
#: data/ui/help-overlay.ui:44
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr ""
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
msgid "Preferences"
msgstr "Üstünlüklər"
@@ -92,57 +83,137 @@ msgstr "Göndərdikdən sonra sorğunu silin"
msgid "The prompt will be cleared after send"
msgstr "Sorğu göndərildikdən sonra silinəcək"
#: data/ui/preferences.blp:24
msgid "Use plain text for output"
msgstr ""
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr ""
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr ""
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr ""
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr ""
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr ""
#: data/ui/preferences.blp:52 src/main.py:295
msgid "Providers"
msgstr "Provayderlər"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Əsas menyu"
#: data/ui/window.blp:36 src/provider/base.py:47
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr "Şəbəkə bağlantısı yoxdur"
#: data/ui/window.blp:51
#: data/ui/window.blp:49
msgid "Message"
msgstr "Mesaj"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr "Buferə kopyalayın"
#: data/ui/window.blp:108
#: data/ui/window.blp:106
msgid "Ask"
msgstr "Soruş"
#: data/ui/window.blp:117
#: data/ui/window.blp:115
msgid "Wait"
msgstr "Gözləyin"
#: data/ui/window.blp:132
#: data/ui/window.blp:130
msgid "Response"
msgstr "Cavab"
#: data/ui/window.blp:220
#: data/ui/window.blp:208
msgid "Stop"
msgstr ""
#: data/ui/window.blp:226
msgid "New window"
msgstr ""
#: data/ui/window.blp:237 src/main.py:298
msgid "Keyboard Shortcuts"
msgstr "Klaviatura Qısayolları"
#: data/ui/window.blp:225
#: data/ui/window.blp:242 src/main.py:299
msgid "About Bavarder"
msgstr "Bavarder haqqında"
#: src/provider/base.py:40
#: src/main.py:150
msgid "New version available!"
msgstr ""
#: src/main.py:266
msgid "New Window"
msgstr ""
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "API açarı təqdim edilməyib, siz onu ayarlarda təmin edə bilərsiniz"
#: src/provider/base.py:42
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Parametrləri açın"
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "Cat GPT"
#~ msgid "CatGPT"
#~ msgstr "Cat GPT"
#~ msgid "Chit-chat with an AI"
#~ msgstr "Chit AI ilə söhbət edin"
#~ msgid "0xMRTT"
#~ msgstr "0xMRTT"
#~ msgid "Screenshot of Main UI"
#~ msgstr "Əsas UI ekran görüntüsü"
#, fuzzy
#~| msgid "Screenshot of Main UI"
#~ msgid "Screenshot of Preferences UI"
#~ msgstr "Əsas UI ekran görüntüsü"
#, fuzzy
#~| msgid "Cat GPT"
#~ msgid "GPT"
#~ msgstr "Cat GPT"
#, fuzzy
#~| msgid "Preferences"
#~ msgid "Update preferences UI"
#~ msgstr "Üstünlüklər"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Fix keyboard shortcuts"
#~ msgstr "Klaviatura Qısayolları"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Add more keyboard shortcuts"
#~ msgstr "Klaviatura Qısayolları"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "Çıx"
#~ msgid "Special thanks to"
#~ msgstr "Xüsusi təşəkkürlər"
#~ msgid "Quit"
#~ msgstr "Çıx"
@@ -158,6 +229,3 @@ msgstr "Cat GPT"
#~ msgid "Speaking"
#~ msgstr "Danışıram"
#~ msgid "Special thanks to"
#~ msgstr "Xüsusi təşəkkürlər"

163
po/cs.po
View File

@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
"PO-Revision-Date: 2023-05-20 07:53+0000\n"
"Last-Translator: muznyo <codeberg.vqtek@simplelogin.com>\n"
"Language-Team: Czech <https://translate.codeberg.org/projects/bavarder/"
"bavarder/cs/>\n"
"Language: cs\n"
@@ -21,24 +21,10 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "Chatovat s umělou inteligencí"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "Snímek obrazovky hlavního uživatelského rozhraní"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
@@ -56,29 +42,30 @@ msgstr "Zeptat se"
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Quit"
msgstr "Ukončit"
msgid "Close current window"
msgstr "Zavřít aktuální okno"
#: data/ui/help-overlay.ui:32
#, fuzzy
#| msgid "Preferences"
msgctxt "shortcut window"
msgid "Close all windows"
msgstr "Zavřít všechna okna"
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Nastavení"
#: data/ui/help-overlay.ui:38
#, fuzzy
#| msgid "Response"
#: data/ui/help-overlay.ui:44
msgctxt "shortcut window"
msgid "Copy response"
msgstr "Odpověď"
msgstr "Zkopírovat odpověď"
#: data/ui/help-overlay.ui:44
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr "Vymazat"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
msgid "Preferences"
msgstr "Nastavení"
@@ -94,57 +81,146 @@ msgstr "Vymazat dotaz po odeslání"
msgid "The prompt will be cleared after send"
msgstr "Dotaz bude vymazán po odeslání"
#: data/ui/preferences.blp:24
msgid "Use plain text for output"
msgstr "Použít prostý text pro výstup"
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr "Použije se prostý text bez formátování"
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr "Zavřít všechna okna bez varování"
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr "Všechna okna se bez varování zavřou, což může vést ke ztrátě dat"
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr "Podívat se na novinky od poskytovatelů"
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr "Zprávy o problémech s poskytovateli budou získávány ze stránek Bavarder"
#: data/ui/preferences.blp:52 src/main.py:295
msgid "Providers"
msgstr "Poskytovatelé"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Hlavní menu"
#: data/ui/window.blp:36 src/provider/base.py:47
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr "Žádné připojení k síti"
#: data/ui/window.blp:51
#: data/ui/window.blp:49
msgid "Message"
msgstr "Zpráva"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr "Kopírovat do schránky"
#: data/ui/window.blp:108
#: data/ui/window.blp:106
msgid "Ask"
msgstr "Zeptat se"
#: data/ui/window.blp:117
#: data/ui/window.blp:115
msgid "Wait"
msgstr "Čekejte"
#: data/ui/window.blp:132
#: data/ui/window.blp:130
msgid "Response"
msgstr "Odpověď"
#: data/ui/window.blp:220
#: data/ui/window.blp:208
msgid "Stop"
msgstr "Zastavit"
#: data/ui/window.blp:226
msgid "New window"
msgstr "Nové okno"
#: data/ui/window.blp:237 src/main.py:298
msgid "Keyboard Shortcuts"
msgstr "Klávesové zkratky"
#: data/ui/window.blp:225
#: data/ui/window.blp:242 src/main.py:299
msgid "About Bavarder"
msgstr "O Bavarder"
#: src/provider/base.py:40
#: src/main.py:150
msgid "New version available!"
msgstr "Nová verze je k dispozici!"
#: src/main.py:266
msgid "New Window"
msgstr "Nové okno"
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "API klíč nebyl přidán, můžete jej přidat v nastavení"
#: src/provider/base.py:42
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Otevřít nastavení"
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "Cat GPT"
#~ msgid "CatGPT"
#~ msgstr "Cat GPT"
#~ msgid "Chit-chat with an AI"
#~ msgstr "Chatovat s umělou inteligencí"
#~ msgid "0xMRTT"
#~ msgstr "0xMRTT"
#~ msgid "Screenshot of Main UI"
#~ msgstr "Snímek obrazovky hlavního uživatelského rozhraní"
#, fuzzy
#~| msgid "Screenshot of Main UI"
#~ msgid "Screenshot of Preferences UI"
#~ msgstr "Snímek obrazovky hlavního uživatelského rozhraní"
#~ msgid "Chat"
#~ msgstr "Konverzace"
#, fuzzy
#~| msgid "Cat GPT"
#~ msgid "GPT"
#~ msgstr "Cat GPT"
#, fuzzy
#~| msgid "Preferences"
#~ msgid "Update preferences UI"
#~ msgstr "Nastavení"
#~ msgid "Update translations"
#~ msgstr "- Aktualizované překlady."
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Fix keyboard shortcuts"
#~ msgstr "Klávesové zkratky"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Add more keyboard shortcuts"
#~ msgstr "Klávesové zkratky"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "Ukončit"
#~ msgid "Special thanks to"
#~ msgstr "Zvláštní poděkování patří"
#~ msgid "Text copied"
#~ msgstr "Text zkopírován"
#~ msgid "Quit"
#~ msgstr "Ukončit"
@@ -161,8 +237,5 @@ msgstr "Cat GPT"
#~ msgid "Speaking"
#~ msgstr "Mluvení"
#~ msgid "Special thanks to"
#~ msgstr "Zvláštní poděkování patří"
#~ msgid "Ready"
#~ msgstr "Připraveno"

177
po/de.po
View File

@@ -5,13 +5,14 @@
#
# 0xMRTT <0xmrtt@tuta.io>, 2023.
# 0xMRTT <0xmrtt@proton.me>, 2023.
# maymage <maymage@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
"PO-Revision-Date: 2023-05-17 11:04+0000\n"
"Last-Translator: maymage <maymage@gmail.com>\n"
"Language-Team: German <https://translate.codeberg.org/projects/bavarder/"
"bavarder/de/>\n"
"Language: de\n"
@@ -21,24 +22,10 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "Plaudern Sie mit GPT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "Screenshot der Hauptbenutzeroberfläche"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
@@ -47,7 +34,7 @@ msgstr "Allgemein"
#: data/ui/help-overlay.ui:14
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Verknüpfungen anzeigen"
msgstr "Tastenkürzel anzeigen"
#: data/ui/help-overlay.ui:20
msgctxt "shortcut window"
@@ -56,27 +43,30 @@ msgstr "Fragen"
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Quit"
msgstr "Aufhören"
msgid "Close current window"
msgstr "Aktuelles Fenster schließen"
#: data/ui/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Close all windows"
msgstr "Alle Fenster schließen"
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Einstellungen"
#: data/ui/help-overlay.ui:38
#, fuzzy
#| msgid "Response"
#: data/ui/help-overlay.ui:44
msgctxt "shortcut window"
msgid "Copy response"
msgstr "Antwort"
msgstr "Antwort kopieren"
#: data/ui/help-overlay.ui:44
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr "Löschen"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
msgid "Preferences"
msgstr "Einstellungen"
@@ -92,58 +82,156 @@ msgstr "Eingabeaufforderung nach dem Senden löschen"
msgid "The prompt will be cleared after send"
msgstr "Die Eingabeaufforderung wird nach dem Senden gelöscht"
#: data/ui/preferences.blp:24
msgid "Use plain text for output"
msgstr "Klartextausgabe verwenden"
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr "Es wird Reintext ohne Formatierung verwendet"
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr "Alle Fenster ohne Warnung schließen"
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr ""
"Alle Fester werden ohne Warnung geschlossen, dies kann zu Datenverlust führen"
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr "Nach neuen Anbietern suchen"
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr ""
"Neuigkeiten zu Anbieterproblemen werden von der Bavarder Webseite bezogen"
#: data/ui/preferences.blp:52 src/main.py:295
msgid "Providers"
msgstr "Anbieter"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Hauptmenü"
#: data/ui/window.blp:36 src/provider/base.py:47
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr "Keine Netzwerkverbindung"
#: data/ui/window.blp:51
#: data/ui/window.blp:49
msgid "Message"
msgstr "Meldung"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr "In die Zwischenablage kopieren"
#: data/ui/window.blp:108
#: data/ui/window.blp:106
msgid "Ask"
msgstr "Fragen"
#: data/ui/window.blp:117
#: data/ui/window.blp:115
msgid "Wait"
msgstr "Warten"
#: data/ui/window.blp:132
#: data/ui/window.blp:130
msgid "Response"
msgstr "Antwort"
#: data/ui/window.blp:220
msgid "Keyboard Shortcuts"
msgstr "Tastatürkürzel"
#: data/ui/window.blp:208
msgid "Stop"
msgstr "Stop"
#: data/ui/window.blp:225
#: data/ui/window.blp:226
msgid "New window"
msgstr "Neues Fenster"
#: data/ui/window.blp:237 src/main.py:298
msgid "Keyboard Shortcuts"
msgstr "Tastenkürzel"
#: data/ui/window.blp:242 src/main.py:299
msgid "About Bavarder"
msgstr "Über Bavarder"
#: src/provider/base.py:40
#: src/main.py:150
msgid "New version available!"
msgstr "Neue Version verfügbar!"
#: src/main.py:266
msgid "New Window"
msgstr "Neues Fenster"
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr ""
"Kein API-Schlüssel angegeben, Sie können einen in den Einstellungen angeben"
#: src/provider/base.py:42
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Einstellungen öffnen"
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "Katze GPT"
#, fuzzy
#~ msgid "CatGPT"
#~ msgstr "Katze GPT"
#~ msgid "Chit-chat with an AI"
#~ msgstr "Plaudern Sie mit GPT"
#~ msgid "0xMRTT"
#~ msgstr "0xMRTT"
#~ msgid "Screenshot of Main UI"
#~ msgstr "Screenshot der Hauptbenutzeroberfläche"
#, fuzzy
#~| msgid "Screenshot of Main UI"
#~ msgid "Screenshot of Preferences UI"
#~ msgstr "Screenshot der Hauptbenutzeroberfläche"
#~ msgid "Chat"
#~ msgstr "Unterhaltung"
#, fuzzy
#~| msgid "Cat GPT"
#~ msgid "GPT"
#~ msgstr "Katze GPT"
#, fuzzy
#~| msgid "Preferences"
#~ msgid "Update preferences UI"
#~ msgstr "Einstellungen"
#~ msgid "Update translations"
#~ msgstr "- Aktualisierte Übersetzungen"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Fix keyboard shortcuts"
#~ msgstr "Tastatürkürzel"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Add more keyboard shortcuts"
#~ msgstr "Tastatürkürzel"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "Aufhören"
#~ msgid "Special thanks to"
#~ msgstr "Besonderer Dank an"
#~ msgid "Text copied"
#~ msgstr "Text kopiert"
#~ msgid "Use text view"
#~ msgstr "Verwenden Sie die Textansicht"
#~ msgid "If the text view is used, you will lose formatting"
#~ msgstr "Wenn die Textansicht verwendet wird, geht die Formatierung verloren"
#~ msgid "Quit"
#~ msgstr "Aufhören"
@@ -160,9 +248,6 @@ msgstr "Katze GPT"
#~ msgid "Speaking"
#~ msgstr "Reden"
#~ msgid "Special thanks to"
#~ msgstr "Besonderer Dank an"
#~ msgid "Ready"
#~ msgstr "Bereit"

156
po/es.po
View File

@@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
"PO-Revision-Date: 2023-05-08 22:37+0000\n"
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
"PO-Revision-Date: 2023-05-19 15:34+0000\n"
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
"Language-Team: Spanish <https://translate.codeberg.org/projects/bavarder/"
"bavarder/es/>\n"
@@ -24,24 +24,10 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "Conversa con una IA"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "Captura de Pantalla de la Interfaz de Usuario Principal"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
@@ -59,25 +45,30 @@ msgstr "Preguntar"
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Quit"
msgstr "Abandonar"
msgid "Close current window"
msgstr "Cerrar la ventana actual"
#: data/ui/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Close all windows"
msgstr "Cerrar todas las ventanas"
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Preferencias"
#: data/ui/help-overlay.ui:38
#: data/ui/help-overlay.ui:44
msgctxt "shortcut window"
msgid "Copy response"
msgstr "Copiar la respuesta"
#: data/ui/help-overlay.ui:44
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr "Borrar"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
msgid "Preferences"
msgstr "Preferencias"
@@ -93,58 +84,148 @@ msgstr "Limpiar entrada después de enviar"
msgid "The prompt will be cleared after send"
msgstr "La entrada será borrada después de enviar"
#: data/ui/preferences.blp:24
msgid "Use plain text for output"
msgstr "Utiliza el texto sin formato para la salida"
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr "Se utilizará el texto sin formato"
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr "Cerrar todas las ventanas sin previo aviso"
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr ""
"Todas las ventanas se cerrarán sin previo aviso, lo que puede provocar la "
"pérdida de datos"
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr "Buscar las noticias de los proveedores"
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr ""
"Las noticias con los problemas de los proveedores se buscarán en la página "
"web de Bavarder"
#: data/ui/preferences.blp:52 src/main.py:295
msgid "Providers"
msgstr "Proveedores"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Menú Principal"
#: data/ui/window.blp:36 src/provider/base.py:47
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr "No hay conexión de red"
#: data/ui/window.blp:51
#: data/ui/window.blp:49
msgid "Message"
msgstr "Mensaje"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr "Copiar al portapapeles"
#: data/ui/window.blp:108
#: data/ui/window.blp:106
msgid "Ask"
msgstr "Preguntar"
#: data/ui/window.blp:117
#: data/ui/window.blp:115
msgid "Wait"
msgstr "Espera"
#: data/ui/window.blp:132
#: data/ui/window.blp:130
msgid "Response"
msgstr "Respuesta"
#: data/ui/window.blp:220
#: data/ui/window.blp:208
msgid "Stop"
msgstr "Detener"
#: data/ui/window.blp:226
msgid "New window"
msgstr "Nueva ventana"
#: data/ui/window.blp:237 src/main.py:298
msgid "Keyboard Shortcuts"
msgstr "Atajos de Teclado"
#: data/ui/window.blp:225
#: data/ui/window.blp:242 src/main.py:299
msgid "About Bavarder"
msgstr "Sobre Bavarder"
#: src/provider/base.py:40
#: src/main.py:150
msgid "New version available!"
msgstr "¡Una nueva versión está disponible!"
#: src/main.py:266
msgid "New Window"
msgstr "Nueva Ventana"
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr ""
"No se ha ingresado una API Key valida, puede ingresar una en Configuraciones"
#: src/provider/base.py:42
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Abrir configuraciones"
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "Charla GPT"
#~ msgid "CatGPT"
#~ msgstr "Charla GPT"
#~ msgid "Chit-chat with an AI"
#~ msgstr "Conversa con una IA"
#~ msgid "0xMRTT"
#~ msgstr "0xMRTT"
#~ msgid "Screenshot of Main UI"
#~ msgstr "Captura de Pantalla de la Interfaz de Usuario Principal"
#, fuzzy
#~| msgid "Screenshot of Main UI"
#~ msgid "Screenshot of Preferences UI"
#~ msgstr "Captura de Pantalla de la Interfaz de Usuario Principal"
#~ msgid "Chat"
#~ msgstr "Chat"
#, fuzzy
#~| msgid "Cat GPT"
#~ msgid "GPT"
#~ msgstr "Charla GPT"
#, fuzzy
#~| msgid "Preferences"
#~ msgid "Update preferences UI"
#~ msgstr "Preferencias"
#~ msgid "Update translations"
#~ msgstr "- Traducciones actualizadas"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Fix keyboard shortcuts"
#~ msgstr "Atajos de Teclado"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Add more keyboard shortcuts"
#~ msgstr "Atajos de Teclado"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "Abandonar"
#~ msgid "Special thanks to"
#~ msgstr "Agradecimientos especiales a"
#~ msgid "Quit"
#~ msgstr "Salir"
@@ -161,9 +242,6 @@ msgstr "Charla GPT"
#~ msgid "Speaking"
#~ msgstr "Hablando"
#~ msgid "Special thanks to"
#~ msgstr "Agradecimientos especiales a"
#~ msgid "Ready"
#~ msgstr "Leer"

140
po/fa.po
View File

@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Persian <https://translate.codeberg.org/projects/bavarder/"
"bavarder/fa/>\n"
@@ -21,24 +21,10 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.17\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr "باوارده"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "گپی با هوش مصنوعی"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "سازنده: 0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "تصویر نمای اصلی"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
@@ -56,29 +42,34 @@ msgstr "بپرس"
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Quit"
msgstr "خروج"
msgid "Close current window"
msgstr ""
#: data/ui/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Close all windows"
msgstr ""
#: data/ui/help-overlay.ui:38
#, fuzzy
#| msgid "Preferences"
msgctxt "shortcut window"
msgid "Preferences"
msgstr "پیش‌فرض‌ها"
#: data/ui/help-overlay.ui:38
#: data/ui/help-overlay.ui:44
#, fuzzy
#| msgid "Response"
msgctxt "shortcut window"
msgid "Copy response"
msgstr "پاسخ"
#: data/ui/help-overlay.ui:44
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr "پاک‌سازی"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
msgid "Preferences"
msgstr "پیش‌فرض‌ها"
@@ -94,57 +85,134 @@ msgstr "متن درخواست رو بعد از ارسال پاک کن"
msgid "The prompt will be cleared after send"
msgstr "متن درخواست بعد از ارسال پاک خواهد شد"
#: data/ui/preferences.blp:24
msgid "Use plain text for output"
msgstr ""
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr ""
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr ""
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr ""
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr ""
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr ""
#: data/ui/preferences.blp:52 src/main.py:295
msgid "Providers"
msgstr "تامین کنندگان"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "منوی اصلی"
#: data/ui/window.blp:36 src/provider/base.py:47
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr "ارتباط شبکه برقرار نیست"
#: data/ui/window.blp:51
#: data/ui/window.blp:49
msgid "Message"
msgstr "پیام"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr "کپی به کلیپ بورد"
#: data/ui/window.blp:108
#: data/ui/window.blp:106
msgid "Ask"
msgstr "بپرس"
#: data/ui/window.blp:117
#: data/ui/window.blp:115
msgid "Wait"
msgstr "منتظر باش"
#: data/ui/window.blp:132
#: data/ui/window.blp:130
msgid "Response"
msgstr "پاسخ"
#: data/ui/window.blp:220
#: data/ui/window.blp:208
msgid "Stop"
msgstr "توقف"
#: data/ui/window.blp:226
msgid "New window"
msgstr ""
#: data/ui/window.blp:237 src/main.py:298
msgid "Keyboard Shortcuts"
msgstr "کلیدهای میانبر"
#: data/ui/window.blp:225
#: data/ui/window.blp:242 src/main.py:299
msgid "About Bavarder"
msgstr "درباره"
#: src/provider/base.py:40
#: src/main.py:150
msgid "New version available!"
msgstr ""
#: src/main.py:266
msgid "New Window"
msgstr ""
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "کلید API پیدا نشد، می توانید دربخش تنطیمات آن را وارد کنید"
#: src/provider/base.py:42
#: src/provider/base.py:45
msgid "Open settings"
msgstr "تنظيمات"
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "کت جی پی تی"
#~ msgid "CatGPT"
#~ msgstr "کت جی پی تی"
#~ msgid "Chit-chat with an AI"
#~ msgstr "گپی با هوش مصنوعی"
#~ msgid "0xMRTT"
#~ msgstr "سازنده: 0xMRTT"
#~ msgid "Screenshot of Main UI"
#~ msgstr "تصویر نمای اصلی"
#, fuzzy
#~| msgid "Screenshot of Main UI"
#~ msgid "Screenshot of Preferences UI"
#~ msgstr "تصویر نمای اصلی"
#, fuzzy
#~| msgid "Cat GPT"
#~ msgid "GPT"
#~ msgstr "کت جی پی تی"
#, fuzzy
#~| msgid "Preferences"
#~ msgid "Update preferences UI"
#~ msgstr "پیش‌فرض‌ها"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Fix keyboard shortcuts"
#~ msgstr "کلیدهای میانبر"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Add more keyboard shortcuts"
#~ msgstr "کلیدهای میانبر"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "خروج"
#~ msgid "Quit"
#~ msgstr "خروج"

155
po/fi.po
View File

@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
"PO-Revision-Date: 2023-05-11 17:11+0000\n"
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
"PO-Revision-Date: 2023-05-18 21:37+0000\n"
"Last-Translator: artnay <jiri.gronroos@iki.fi>\n"
"Language-Team: Finnish <https://translate.codeberg.org/projects/bavarder/"
"bavarder/fi/>\n"
@@ -21,24 +21,10 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "Keskustele tekoälyn kanssa"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "Kuvakaappaus käyttöliittymästä"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
@@ -56,25 +42,30 @@ msgstr "Kysy"
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Quit"
msgstr "Lopeta"
msgid "Close current window"
msgstr "Sulje nykyinen ikkuna"
#: data/ui/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Close all windows"
msgstr "Sulje kaikki ikkunat"
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Asetukset"
#: data/ui/help-overlay.ui:38
#: data/ui/help-overlay.ui:44
msgctxt "shortcut window"
msgid "Copy response"
msgstr "Kopioi vastaus"
#: data/ui/help-overlay.ui:44
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr "Tyhjennä"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
msgid "Preferences"
msgstr "Asetukset"
@@ -90,57 +81,146 @@ msgstr "Tyhjennä kehote lähetyksen jälkeen"
msgid "The prompt will be cleared after send"
msgstr "Kehote tyhjennetään lähetyksen jälkeen"
#: data/ui/preferences.blp:24
msgid "Use plain text for output"
msgstr "Käytä raakatekstiä tulosteena"
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr "Käytetään raakatekstiä ilman muotoilua"
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr "Sulje kaikki ikkunat varoittamatta"
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr ""
"Kaikki ikkunat suljetaan varoittamatta, tämä voi johtaa tietojen katoamiseen"
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr "Etsi uutisia palveluntarjoajista"
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr ""
"Palveluntarjoajiin liittyviä asioita käsitteleviä uutisia haetaan Bavarderin "
"verkkosivustolta"
#: data/ui/preferences.blp:52 src/main.py:295
msgid "Providers"
msgstr "Palveluntarjoajat"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Päävalikko"
#: data/ui/window.blp:36 src/provider/base.py:47
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr "Ei verkkoyhteyttä"
#: data/ui/window.blp:51
#: data/ui/window.blp:49
msgid "Message"
msgstr "Viesti"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr "Kopioi leikepöydälle"
#: data/ui/window.blp:108
#: data/ui/window.blp:106
msgid "Ask"
msgstr "Kysy"
#: data/ui/window.blp:117
#: data/ui/window.blp:115
msgid "Wait"
msgstr "Odota"
#: data/ui/window.blp:132
#: data/ui/window.blp:130
msgid "Response"
msgstr "Vastaus"
#: data/ui/window.blp:220
#: data/ui/window.blp:208
msgid "Stop"
msgstr "Lopeta"
#: data/ui/window.blp:226
msgid "New window"
msgstr "Uusi ikkuna"
#: data/ui/window.blp:237 src/main.py:298
msgid "Keyboard Shortcuts"
msgstr "Pikanäppäimet"
#: data/ui/window.blp:225
#: data/ui/window.blp:242 src/main.py:299
msgid "About Bavarder"
msgstr "Tietoja - Bavarder"
#: src/provider/base.py:40
#: src/main.py:150
msgid "New version available!"
msgstr "Uusi versio saatavilla!"
#: src/main.py:266
msgid "New Window"
msgstr "Uusi ikkuna"
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "API-avainta ei asetettu, aseta avain asetuksissa"
#: src/provider/base.py:42
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Avaa asetukset"
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "Cat GPT"
#~ msgid "CatGPT"
#~ msgstr "Cat GPT"
#~ msgid "Chit-chat with an AI"
#~ msgstr "Keskustele tekoälyn kanssa"
#~ msgid "0xMRTT"
#~ msgstr "0xMRTT"
#~ msgid "Screenshot of Main UI"
#~ msgstr "Kuvakaappaus käyttöliittymästä"
#, fuzzy
#~| msgid "Screenshot of Main UI"
#~ msgid "Screenshot of Preferences UI"
#~ msgstr "Kuvakaappaus käyttöliittymästä"
#, fuzzy
#~| msgid "Cat GPT"
#~ msgid "GPT"
#~ msgstr "Cat GPT"
#~ msgid "OpenAI"
#~ msgstr "OpenAI"
#, fuzzy
#~| msgid "Preferences"
#~ msgid "Update preferences UI"
#~ msgstr "Asetukset"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Fix keyboard shortcuts"
#~ msgstr "Pikanäppäimet"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Add more keyboard shortcuts"
#~ msgstr "Pikanäppäimet"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "Lopeta"
#~ msgid "Special thanks to"
#~ msgstr "Erityiskiitokset"
#~ msgid "Text copied"
#~ msgstr "Teksti kopioitu"
#~ msgid "Quit"
#~ msgstr "Lopeta"
@@ -156,6 +236,3 @@ msgstr "Cat GPT"
#~ msgid "Speaking"
#~ msgstr "Puhutaan"
#~ msgid "Special thanks to"
#~ msgstr "Erityiskiitokset"

174
po/fr.po
View File

@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
"PO-Revision-Date: 2023-05-08 07:53+0000\n"
"Last-Translator: rene-coty <irenee.thirion@e.email>\n"
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
"PO-Revision-Date: 2023-05-18 07:49+0000\n"
"Last-Translator: 0xMRTT <0xmrtt@proton.me>\n"
"Language-Team: French <https://translate.codeberg.org/projects/bavarder/"
"bavarder/fr/>\n"
"Language: fr\n"
@@ -23,24 +23,10 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.17\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "Bavarder avec GPT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "Capture décran de linterface principale"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
@@ -58,25 +44,30 @@ msgstr "Demander"
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Quit"
msgstr "Quitter"
msgid "Close current window"
msgstr "Fermer la fenêtre actuelle"
#: data/ui/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Close all windows"
msgstr "Fermer toutes les fenêtres"
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Préférences"
#: data/ui/help-overlay.ui:38
#: data/ui/help-overlay.ui:44
msgctxt "shortcut window"
msgid "Copy response"
msgstr "Copier la réponse"
#: data/ui/help-overlay.ui:44
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr "Vider"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
msgid "Preferences"
msgstr "Préférences"
@@ -92,58 +83,164 @@ msgstr "Effacer la requête après envoi"
msgid "The prompt will be cleared after send"
msgstr "La requête sera effacée après envoi"
#: data/ui/preferences.blp:24
msgid "Use plain text for output"
msgstr "Utiliser du texte brut pour la sortie"
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr "Le texte brut sans mise en forme sera utilisé"
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr "Fermer toutes les fenêtres sans avertissement"
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr ""
"Toutes les fenêtres vont être fermées sans avertissement, cela peut créer "
"des pertes de données"
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr "Chercher des informations à propos des fournisseurs"
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr ""
"Des informations à propos des problèmes avec les fournisseurs seront "
"téléchargées depuis le site de Bavarder"
#: data/ui/preferences.blp:52 src/main.py:295
msgid "Providers"
msgstr "Fournisseurs"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Menu principal"
#: data/ui/window.blp:36 src/provider/base.py:47
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr "Pas de connexion réseau"
#: data/ui/window.blp:51
#: data/ui/window.blp:49
msgid "Message"
msgstr "Message"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr "Copier dans le presse-papiers"
#: data/ui/window.blp:108
#: data/ui/window.blp:106
msgid "Ask"
msgstr "Demander"
#: data/ui/window.blp:117
#: data/ui/window.blp:115
msgid "Wait"
msgstr "Attendez"
#: data/ui/window.blp:132
#: data/ui/window.blp:130
msgid "Response"
msgstr "Réponse"
#: data/ui/window.blp:220
#: data/ui/window.blp:208
msgid "Stop"
msgstr "Stop"
#: data/ui/window.blp:226
msgid "New window"
msgstr "Nouvelle fenêtre"
#: data/ui/window.blp:237 src/main.py:298
msgid "Keyboard Shortcuts"
msgstr "Raccourcis clavier"
#: data/ui/window.blp:225
#: data/ui/window.blp:242 src/main.py:299
msgid "About Bavarder"
msgstr "À propos de Bavarder"
#: src/provider/base.py:40
#: src/main.py:150
msgid "New version available!"
msgstr "Nouvelle version disponible !"
#: src/main.py:266
msgid "New Window"
msgstr "Nouvelle Fenêtre"
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr ""
"Pas de clé dAPI fournie, vous pouvez en ajouter une dans les paramètres"
#: src/provider/base.py:42
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Ouvrir les paramètres"
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "Cat GPT"
#~ msgid "CatGPT"
#~ msgstr "Cat GPT"
#~ msgid "Chit-chat with an AI"
#~ msgstr "Bavarder avec GPT"
#~ msgid "0xMRTT"
#~ msgstr "0xMRTT"
#~ msgid "Screenshot of Main UI"
#~ msgstr "Capture décran de linterface principale"
#, fuzzy
#~| msgid "Screenshot of Main UI"
#~ msgid "Screenshot of Preferences UI"
#~ msgstr "Capture décran de linterface principale"
#~ msgid "Chat"
#~ msgstr "Discussion"
#~ msgid "GPT"
#~ msgstr "GPT"
#~ msgid "ChatGPT"
#~ msgstr "ChatGPT"
#~ msgid "AI"
#~ msgstr "IA"
#~ msgid "OpenAI"
#~ msgstr "OpenAI"
#, fuzzy
#~| msgid "Preferences"
#~ msgid "Update preferences UI"
#~ msgstr "Préférences"
#~ msgid "Update translations"
#~ msgstr "- Traductions mises à jour"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Fix keyboard shortcuts"
#~ msgstr "Raccourcis clavier"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Add more keyboard shortcuts"
#~ msgstr "Raccourcis clavier"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "Quitter"
#~ msgid "Special thanks to"
#~ msgstr "Remerciements spéciaux à"
#~ msgid "Text copied"
#~ msgstr "Texte copié"
#~ msgid "Use text view"
#~ msgstr "Utiliser la vue texte"
#~ msgid "If the text view is used, you will lose formatting"
#~ msgstr "Si la vue texte est utilisée, vous perdrez la mise en forme"
#~ msgid "Quit"
#~ msgstr "Quitter"
@@ -160,9 +257,6 @@ msgstr "Cat GPT"
#~ msgid "Speaking"
#~ msgstr "En train de parler"
#~ msgid "Special thanks to"
#~ msgstr "Remerciements spéciaux à"
#~ msgid "Ready"
#~ msgstr "Prêt"

116
po/hu.po
View File

@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Hungarian <https://translate.codeberg.org/projects/bavarder/"
"bavarder/hu/>\n"
@@ -21,24 +21,10 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr ""
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr ""
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr ""
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
@@ -56,27 +42,30 @@ msgstr ""
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Quit"
msgstr "Kilépés"
msgid "Close current window"
msgstr ""
#: data/ui/help-overlay.ui:32
#, fuzzy
#| msgid "Preferences"
msgctxt "shortcut window"
msgid "Close all windows"
msgstr ""
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Beállítások"
#: data/ui/help-overlay.ui:38
#: data/ui/help-overlay.ui:44
msgctxt "shortcut window"
msgid "Copy response"
msgstr ""
#: data/ui/help-overlay.ui:44
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr "Kiürítés"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
msgid "Preferences"
msgstr "Beállítások"
@@ -92,57 +81,108 @@ msgstr ""
msgid "The prompt will be cleared after send"
msgstr ""
#: data/ui/preferences.blp:24
msgid "Use plain text for output"
msgstr ""
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr ""
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr ""
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr ""
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr ""
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr ""
#: data/ui/preferences.blp:52 src/main.py:295
msgid "Providers"
msgstr ""
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr ""
#: data/ui/window.blp:36 src/provider/base.py:47
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr "Nincs hálózati kapcsolat"
#: data/ui/window.blp:51
#: data/ui/window.blp:49
msgid "Message"
msgstr "Üzenet"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr "Másolás a vágólapra"
#: data/ui/window.blp:108
#: data/ui/window.blp:106
msgid "Ask"
msgstr ""
#: data/ui/window.blp:117
#: data/ui/window.blp:115
msgid "Wait"
msgstr ""
#: data/ui/window.blp:132
#: data/ui/window.blp:130
msgid "Response"
msgstr ""
#: data/ui/window.blp:220
#: data/ui/window.blp:208
msgid "Stop"
msgstr "Megállítás"
#: data/ui/window.blp:226
msgid "New window"
msgstr ""
#: data/ui/window.blp:237 src/main.py:298
msgid "Keyboard Shortcuts"
msgstr ""
#: data/ui/window.blp:225
#: data/ui/window.blp:242 src/main.py:299
msgid "About Bavarder"
msgstr ""
#: src/provider/base.py:40
#: src/main.py:150
msgid "New version available!"
msgstr ""
#: src/main.py:266
msgid "New Window"
msgstr ""
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr ""
#: src/provider/base.py:42
#: src/provider/base.py:45
msgid "Open settings"
msgstr ""
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr ""
#~ msgid "Chat"
#~ msgstr "Csevegés"
#, fuzzy
#~| msgid "Preferences"
#~ msgid "Update preferences UI"
#~ msgstr "Beállítások"
#~ msgid "Update translations"
#~ msgstr "- Frissített fordítások"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "Kilépés"
#, fuzzy
#~| msgctxt "shortcut window"

167
po/it.po
View File

@@ -6,13 +6,15 @@
# 0xMRTT <0xmrtt@tuta.io>, 2023.
# phaerrax <davide.ferracin@protonmail.com>, 2023.
# elgandoz <gandi.marco@gmail.com>, 2023.
# CraftWorksMC <thelonegamer87@gmail.com>, 2023.
# maymage <maymage@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
"PO-Revision-Date: 2023-05-18 00:37+0000\n"
"Last-Translator: maymage <maymage@gmail.com>\n"
"Language-Team: Italian <https://translate.codeberg.org/projects/bavarder/"
"bavarder/it/>\n"
"Language: it\n"
@@ -22,24 +24,10 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "Chiacchiera con un'IA"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "Schermata dell'interfaccia principale"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
@@ -57,33 +45,35 @@ msgstr "Chiedi"
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Quit"
msgstr "Esci"
msgid "Close current window"
msgstr "Chiudi la finestra corrente"
#: data/ui/help-overlay.ui:32
#, fuzzy
#| msgid "Preferences"
msgctxt "shortcut window"
msgid "Close all windows"
msgstr "Chiudi tutte le finestre"
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Preferenze"
#: data/ui/help-overlay.ui:38
#, fuzzy
#| msgid "Response"
#: data/ui/help-overlay.ui:44
msgctxt "shortcut window"
msgid "Copy response"
msgstr "Risposta"
msgstr "Copia risposta"
#: data/ui/help-overlay.ui:44
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr "Cancella"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
msgid "Preferences"
msgstr "Preferenze"
#: data/ui/preferences.blp:12
#, fuzzy
msgid "Prompt"
msgstr "Prompt"
@@ -92,61 +82,151 @@ msgid "Clear prompt after send"
msgstr "Svuota il prompt dopo l'invio"
#: data/ui/preferences.blp:16
#, fuzzy
msgid "The prompt will be cleared after send"
msgstr "Il prompt verrà svuotato dopo l'invio"
#: data/ui/preferences.blp:24
#, fuzzy
msgid "Use plain text for output"
msgstr "Utlizzare testo semplice per l'output"
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr "Il testo semplice senza formattazione verrà usato"
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr "Chiudi tutte le finestre senza avvisare"
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr ""
"Tutte le finestre verranno chiuse senza avviso, questo può portare alla "
"perdita di dati"
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr "Cerca nuovi gestori"
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr ""
"Notizie su problemi con i gestori verranno recuperate dal sito web di "
"Bavander"
#: data/ui/preferences.blp:52 src/main.py:295
msgid "Providers"
msgstr "Fornitori"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Menù principale"
#: data/ui/window.blp:36 src/provider/base.py:47
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr "Nessuna connessione di rete"
#: data/ui/window.blp:51
#: data/ui/window.blp:49
msgid "Message"
msgstr "Messaggio"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr "Copia negli appunti"
#: data/ui/window.blp:108
#: data/ui/window.blp:106
msgid "Ask"
msgstr "Chiedi"
#: data/ui/window.blp:117
#: data/ui/window.blp:115
msgid "Wait"
msgstr "Attendere"
#: data/ui/window.blp:132
#: data/ui/window.blp:130
msgid "Response"
msgstr "Risposta"
#: data/ui/window.blp:220
#: data/ui/window.blp:208
msgid "Stop"
msgstr "Stop"
#: data/ui/window.blp:226
msgid "New window"
msgstr "Nuova finestra"
#: data/ui/window.blp:237 src/main.py:298
msgid "Keyboard Shortcuts"
msgstr "Scorciatoie da tastiera"
#: data/ui/window.blp:225
#: data/ui/window.blp:242 src/main.py:299
msgid "About Bavarder"
msgstr "Informazioni su Bavarder"
#: src/provider/base.py:40
#: src/main.py:150
msgid "New version available!"
msgstr "Nuova versione disponibile!"
#: src/main.py:266
msgid "New Window"
msgstr "Nuova finestra"
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr ""
"Nessuna chiave API fornita; è possibile fornirne una nelle impostazioni"
#: src/provider/base.py:42
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Apri impostazioni"
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "Cat GPT"
#~ msgid "CatGPT"
#~ msgstr "Cat GPT"
#~ msgid "Chit-chat with an AI"
#~ msgstr "Chiacchiera con un'IA"
#~ msgid "0xMRTT"
#~ msgstr "0xMRTT"
#~ msgid "Screenshot of Main UI"
#~ msgstr "Schermata dell'interfaccia principale"
#~ msgid "Screenshot of Preferences UI"
#~ msgstr "Schermata dell'interfaccia delle preferenze"
#~ msgid "Chat"
#~ msgstr "Chat"
#, fuzzy
#~| msgid "Cat GPT"
#~ msgid "GPT"
#~ msgstr "Cat GPT"
#~ msgid "OpenAI"
#~ msgstr "OpenAI"
#, fuzzy
#~| msgid "Preferences"
#~ msgid "Update preferences UI"
#~ msgstr "Preferenze"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Fix keyboard shortcuts"
#~ msgstr "Scorciatoie da tastiera"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Add more keyboard shortcuts"
#~ msgstr "Scorciatoie da tastiera"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "Esci"
#~ msgid "Special thanks to"
#~ msgstr "Un ringraziamento speciale a"
#~ msgid "Quit"
#~ msgstr "Esci"
@@ -160,9 +240,6 @@ msgstr "Cat GPT"
#~ msgid "Speak"
#~ msgstr "Parla"
#~ msgid "Special thanks to"
#~ msgstr "Un ringraziamento speciale a"
#~ msgid "Ready"
#~ msgstr "Pronto"

233
po/nl.po
View File

@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
"PO-Revision-Date: 2023-05-16 20:52+0000\n"
"Last-Translator: Vistaus <vistausss@fastmail.com>\n"
"Language-Team: Dutch <https://translate.codeberg.org/projects/bavarder/"
"bavarder/nl/>\n"
"Language: nl\n"
@@ -20,24 +20,10 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "Babbel met een KI"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "Schermfoto van het hoofdscherm"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
@@ -55,25 +41,30 @@ msgstr "Vraag stellen"
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Quit"
msgstr "Afsluiten"
msgid "Close current window"
msgstr "Huidig venster sluiten"
#: data/ui/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Close all windows"
msgstr "Alle vensters sluiten"
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Voorkeuren"
#: data/ui/help-overlay.ui:38
#: data/ui/help-overlay.ui:44
msgctxt "shortcut window"
msgid "Copy response"
msgstr "Antwoord kopiëren"
#: data/ui/help-overlay.ui:44
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr "Wissen"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
msgid "Preferences"
msgstr "Voorkeuren"
@@ -89,57 +80,222 @@ msgstr "Invoerveld wissen na versturen"
msgid "The prompt will be cleared after send"
msgstr "Wis het invoerveld na het stellen van een vraag"
#: data/ui/preferences.blp:24
msgid "Use plain text for output"
msgstr "Plattetekstinvoer gebruiken"
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr "Er wordt platte tekst (dus zonder opmaak) gebruikt"
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr "Alle vensters zonder te vragen afsluiten"
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr ""
"Alle vensters worden zonder bevestiging gesloten, wat tot gegevensverlies "
"kan leiden"
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr "Nieuws over de diensten"
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr ""
"Nieuws omtrent problemen met diensten wordt opgehaald van de Bavarderwebsite"
#: data/ui/preferences.blp:52 src/main.py:295
msgid "Providers"
msgstr "Diensten"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Hoofdmenu"
#: data/ui/window.blp:36 src/provider/base.py:47
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr "Geen netwerkverbinding"
#: data/ui/window.blp:51
#: data/ui/window.blp:49
msgid "Message"
msgstr "Bericht"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr "Kopiëren naar klembord"
#: data/ui/window.blp:108
#: data/ui/window.blp:106
msgid "Ask"
msgstr "Vraag stellen"
#: data/ui/window.blp:117
#: data/ui/window.blp:115
msgid "Wait"
msgstr "Even geduld…"
#: data/ui/window.blp:132
#: data/ui/window.blp:130
msgid "Response"
msgstr "Antwoord"
#: data/ui/window.blp:220
#: data/ui/window.blp:208
msgid "Stop"
msgstr "Stoppen"
#: data/ui/window.blp:226
msgid "New window"
msgstr "Nieuw venster"
#: data/ui/window.blp:237 src/main.py:298
msgid "Keyboard Shortcuts"
msgstr "Sneltoetsen"
#: data/ui/window.blp:225
#: data/ui/window.blp:242 src/main.py:299
msgid "About Bavarder"
msgstr "Over Bavarder"
#: src/provider/base.py:40
#: src/main.py:150
msgid "New version available!"
msgstr "Er is een nieuwe versie beschikbaar!"
#: src/main.py:266
msgid "New Window"
msgstr "Nieuw venster"
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "Er is geen api-sleutel opgegeven - open de voorkeuren"
#: src/provider/base.py:42
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Voorkeuren openen"
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "Cat GPT"
#~ msgid "CatGPT"
#~ msgstr "CatGPT"
#~ msgid "Chit-chat with an AI"
#~ msgstr "Babbel met een KI"
#~ msgid "0xMRTT"
#~ msgstr "0xMRTT"
#~ msgid "Screenshot of Main UI"
#~ msgstr "Schermfoto van het hoofdscherm"
#~ msgid "Screenshot of Preferences UI"
#~ msgstr "Schermfoto van de voorkeuren"
#~ msgid "Chat"
#~ msgstr "Gesprek"
#~ msgid "GPT"
#~ msgstr "GPT"
#~ msgid "ChatGPT"
#~ msgstr "ChatGPT"
#~ msgid "AI"
#~ msgstr "KI"
#~ msgid "OpenAI"
#~ msgstr "OpenAI"
#~ msgid "Fix Theming support of the new render widget"
#~ msgstr "Opgelost: thema-ondersteuning van het nieuwe weergave-element"
#~ msgid "Add the ability to have multiple windows open at the same time"
#~ msgstr "Nieuw: mogelijkheid om meerdere vensters tegelijkertijd te openen"
#~ msgid "Update preferences UI"
#~ msgstr "Bijgewerkt: vormgeving van voorkeurenscherm"
#~ msgid "Fix some bugs"
#~ msgstr "Opgelost: enkele bugs"
#~ msgid "Update translations"
#~ msgstr "Bijgewerkt: vertalingen"
#~ msgid "Add better error handling"
#~ msgstr "Verbeterd: betere foutafhandeling"
#~ msgid "Add support of formatting in the response view using Markdown"
#~ msgstr "Nieuw: ondersteuning voor markdownopmaak in de antwoordweergave"
#~ msgid "Allow disabling the new render method"
#~ msgstr "Nieuw: mogelijkheid om de nieuwe weergavemethode uit te schakelen"
#~ msgid "Add description of providers"
#~ msgstr "Nieuw: beschrijving van diensten"
#~ msgid "Add help for getting a token for providers"
#~ msgstr ""
#~ "Nieuw: hulp omtrent het ophalen van een toegangssleutel van diensten"
#~ msgid "New website including some help for providers"
#~ msgstr "Nieuw: websitie met hulp omtrent diensten"
#~ msgid "Fix an issue which caused the app to spin forever"
#~ msgstr "Opgelost: probleem waarbij de toepassing eindeloos bleef laden"
#~ msgid "Remove Quit entry in the app menu"
#~ msgstr "Nieuw: afsluitoptie in het menu verwijderd"
#~ msgid "Fix keyboard shortcuts"
#~ msgstr "Opgelost: sneltoetsen"
#~ msgid "Fix an issue which caused the app to crash randomly"
#~ msgstr "Opgelost: probleem waarbij de toepassing zo nu en dan kon crashen"
#~ msgid "Add the ability to enable/disable providers from the preferences"
#~ msgstr ""
#~ "Nieuw: mogelijkheid om diensten in/uit te schakelen in de voorkeuren"
#~ msgid "Add more keyboard shortcuts"
#~ msgstr "Nieuw: meer sneltoetsen"
#~ msgid "Add save/load of settings"
#~ msgstr "Nieuw: voorkeuren bewaren/laden"
#~ msgid "Fix HuggingChat (again)"
#~ msgstr "Opgelost: HuggingChat (nogmaals)"
#~ msgid "Fix HuggingChat"
#~ msgstr "Opgelost: HuggingChat"
#~ msgid "Add multiple providers support"
#~ msgstr "Nieuw: ondersteuning voor meerdere diensten"
#~ msgid "Make HuggingChat the default provider"
#~ msgstr "Nieuw: HuggingChat is voortaan de standaarddienst"
#~ msgid "Focus on the response entry"
#~ msgstr "Nieuw: focus ligt voortaan op antwoorden"
#~ msgid "Fix appdata not having release tags"
#~ msgstr "Opgelost: appdata bevatte geen uitgavelabels"
#~ msgid "Change app ID to io.github.Bavarder.Bavarder"
#~ msgstr "Gewijzigd: toepassings-id naar io.github.Bavarder.Bavarder"
#~ msgid "First release of Bavarder"
#~ msgstr "De allereerste versie"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "Afsluiten"
#~ msgid "Special thanks to"
#~ msgstr "Met veel dank aan"
#~ msgid "Text copied"
#~ msgstr "De tekst is gekopieerd"
#~ msgid "Use text view"
#~ msgstr "Tekstweergave inschakelen"
#~ msgid "If the text view is used, you will lose formatting"
#~ msgstr "Als de tekstweergave is ingeschakeld, wordt alle opmaak gewist"
#~ msgid "Quit"
#~ msgstr "Afsluiten"
@@ -155,6 +311,3 @@ msgstr "Cat GPT"
#~ msgid "Speaking"
#~ msgstr "Bezig met praten…"
#~ msgid "Special thanks to"
#~ msgstr "Met veel dank aan"

172
po/pl.po
View File

@@ -5,13 +5,14 @@
#
# ioghjog <michal.d1191@gmail.com>, 2023.
# 0xMRTT <0xmrtt@proton.me>, 2023.
# Eryk Michalak <gnu.ewm@protonmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
"PO-Revision-Date: 2023-05-19 15:34+0000\n"
"Last-Translator: Eryk Michalak <gnu.ewm@protonmail.com>\n"
"Language-Team: Polish <https://translate.codeberg.org/projects/bavarder/"
"bavarder/pl/>\n"
"Language: pl\n"
@@ -22,24 +23,10 @@ msgstr ""
"|| n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "Pogawędka z SI"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "Zrzut ekranu interfejsu"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
@@ -57,29 +44,30 @@ msgstr "Zapytaj"
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Quit"
msgstr "Wyjdź"
msgid "Close current window"
msgstr "Zamknij bieżące okno"
#: data/ui/help-overlay.ui:32
#, fuzzy
#| msgid "Preferences"
msgctxt "shortcut window"
msgid "Close all windows"
msgstr "Zamknij wszystkie okna"
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Preferencje"
#: data/ui/help-overlay.ui:38
#, fuzzy
#| msgid "Response"
#: data/ui/help-overlay.ui:44
msgctxt "shortcut window"
msgid "Copy response"
msgstr "Odpowiedź"
msgstr "Kopiuj odpowiedź"
#: data/ui/help-overlay.ui:44
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr "Wyczyść"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
msgid "Preferences"
msgstr "Preferencje"
@@ -95,57 +83,154 @@ msgstr "Czyść zapytanie po wysłaniu"
msgid "The prompt will be cleared after send"
msgstr "Zapytanie zostanie wyczyszczone po wysłaniu"
#: data/ui/preferences.blp:24
msgid "Use plain text for output"
msgstr "Użyj zwykłego tekstu na wyjściu"
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr "Użyty zostanie zwykły tekst bez formatowania"
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr "Zamknij wszystkie okna bez ostrzeżenia"
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr ""
"Wszystkie okna zostaną zamknięte bez żadnego ostrzeżenia, może to spowodować "
"utratę danych"
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr ""
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr ""
#: data/ui/preferences.blp:52 src/main.py:295
msgid "Providers"
msgstr "Dostawcy"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Główne menu"
#: data/ui/window.blp:36 src/provider/base.py:47
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr "Brak połączenia z siecią"
#: data/ui/window.blp:51
#: data/ui/window.blp:49
msgid "Message"
msgstr "Wiadomość"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr "Skopiuj do schowka"
#: data/ui/window.blp:108
#: data/ui/window.blp:106
msgid "Ask"
msgstr "Zapytaj"
#: data/ui/window.blp:117
#: data/ui/window.blp:115
msgid "Wait"
msgstr "Czekaj"
#: data/ui/window.blp:132
#: data/ui/window.blp:130
msgid "Response"
msgstr "Odpowiedź"
#: data/ui/window.blp:220
#: data/ui/window.blp:208
msgid "Stop"
msgstr "Zatrzymaj"
#: data/ui/window.blp:226
msgid "New window"
msgstr "Nowe okno"
#: data/ui/window.blp:237 src/main.py:298
msgid "Keyboard Shortcuts"
msgstr "Skróty klawiszowe"
#: data/ui/window.blp:225
#: data/ui/window.blp:242 src/main.py:299
msgid "About Bavarder"
msgstr "O Bavarderze"
#: src/provider/base.py:40
#: src/main.py:150
msgid "New version available!"
msgstr "Dostępna jest nowa wersja!"
#: src/main.py:266
msgid "New Window"
msgstr "Nowe okno"
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "Nie podano klucza API, dodaj go w ustawieniach"
#: src/provider/base.py:42
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Otwórz ustawienia"
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "Cat GPT"
#~ msgid "CatGPT"
#~ msgstr "Cat GPT"
#~ msgid "Chit-chat with an AI"
#~ msgstr "Pogawędka z SI"
#~ msgid "0xMRTT"
#~ msgstr "0xMRTT"
#~ msgid "Screenshot of Main UI"
#~ msgstr "Zrzut ekranu interfejsu"
#, fuzzy
#~| msgid "Screenshot of Main UI"
#~ msgid "Screenshot of Preferences UI"
#~ msgstr "Zrzut ekranu interfejsu"
#~ msgid "Chat"
#~ msgstr "Czat"
#, fuzzy
#~| msgid "Cat GPT"
#~ msgid "GPT"
#~ msgstr "Cat GPT"
#~ msgid "OpenAI"
#~ msgstr "OpenAI"
#, fuzzy
#~| msgid "Preferences"
#~ msgid "Update preferences UI"
#~ msgstr "Preferencje"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Fix keyboard shortcuts"
#~ msgstr "Skróty klawiszowe"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Add more keyboard shortcuts"
#~ msgstr "Skróty klawiszowe"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "Wyjdź"
#~ msgid "Special thanks to"
#~ msgstr "Specjalne podziękowania dla"
#~ msgid "Text copied"
#~ msgstr "Skopiowano tekst"
#~ msgid "Use text view"
#~ msgstr "Użyj widoku tekstowego"
#~ msgid "If the text view is used, you will lose formatting"
#~ msgstr "Używanie widoku tekstowego spowoduje utratę formatowania"
#~ msgid "Quit"
#~ msgstr "Wyjdź"
@@ -161,6 +246,3 @@ msgstr "Cat GPT"
#~ msgid "Speaking"
#~ msgstr "Mówienie"
#~ msgid "Special thanks to"
#~ msgstr "Specjalne podziękowania dla"

149
po/pt.po
View File

@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Portuguese <https://translate.codeberg.org/projects/bavarder/"
"bavarder/pt/>\n"
@@ -21,24 +21,10 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.17\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "Bate-papo com uma IA"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "Captura da tela principal"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
@@ -56,29 +42,34 @@ msgstr "Perguntar"
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Quit"
msgstr "Sair"
msgid "Close current window"
msgstr ""
#: data/ui/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Close all windows"
msgstr ""
#: data/ui/help-overlay.ui:38
#, fuzzy
#| msgid "Preferences"
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Preferências"
#: data/ui/help-overlay.ui:38
#: data/ui/help-overlay.ui:44
#, fuzzy
#| msgid "Response"
msgctxt "shortcut window"
msgid "Copy response"
msgstr "Resposta"
#: data/ui/help-overlay.ui:44
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr "Limpar"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
msgid "Preferences"
msgstr "Preferências"
@@ -94,58 +85,141 @@ msgstr "Limpar prompt após enviar"
msgid "The prompt will be cleared after send"
msgstr "O prompt será limpo após o envio"
#: data/ui/preferences.blp:24
msgid "Use plain text for output"
msgstr ""
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr ""
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr ""
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr ""
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr ""
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr ""
#: data/ui/preferences.blp:52 src/main.py:295
msgid "Providers"
msgstr "Provedores"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Menu principal"
#: data/ui/window.blp:36 src/provider/base.py:47
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr "Nenhuma conexão de rede"
#: data/ui/window.blp:51
#: data/ui/window.blp:49
msgid "Message"
msgstr "Mensagem"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr "Copiar para área de transferência"
#: data/ui/window.blp:108
#: data/ui/window.blp:106
msgid "Ask"
msgstr "Perguntar"
#: data/ui/window.blp:117
#: data/ui/window.blp:115
msgid "Wait"
msgstr "Espere"
#: data/ui/window.blp:132
#: data/ui/window.blp:130
msgid "Response"
msgstr "Resposta"
#: data/ui/window.blp:220
#: data/ui/window.blp:208
msgid "Stop"
msgstr "Parar"
#: data/ui/window.blp:226
msgid "New window"
msgstr ""
#: data/ui/window.blp:237 src/main.py:298
msgid "Keyboard Shortcuts"
msgstr "Atalhos do teclado"
#: data/ui/window.blp:225
#: data/ui/window.blp:242 src/main.py:299
msgid "About Bavarder"
msgstr "Sobre Bavarder"
#: src/provider/base.py:40
#: src/main.py:150
msgid "New version available!"
msgstr ""
#: src/main.py:266
msgid "New Window"
msgstr ""
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr ""
"Nenhuma chave de API fornecida, você pode fornecer uma nas configurações"
#: src/provider/base.py:42
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Abrir configurações"
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "Cat GPT"
#~ msgid "CatGPT"
#~ msgstr "Cat GPT"
#~ msgid "Chit-chat with an AI"
#~ msgstr "Bate-papo com uma IA"
#~ msgid "0xMRTT"
#~ msgstr "0xMRTT"
#~ msgid "Screenshot of Main UI"
#~ msgstr "Captura da tela principal"
#, fuzzy
#~| msgid "Screenshot of Main UI"
#~ msgid "Screenshot of Preferences UI"
#~ msgstr "Captura da tela principal"
#~ msgid "Chat"
#~ msgstr "Conversas"
#, fuzzy
#~| msgid "Cat GPT"
#~ msgid "GPT"
#~ msgstr "Cat GPT"
#, fuzzy
#~| msgid "Preferences"
#~ msgid "Update preferences UI"
#~ msgstr "Preferências"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Fix keyboard shortcuts"
#~ msgstr "Atalhos do teclado"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Add more keyboard shortcuts"
#~ msgstr "Atalhos do teclado"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "Sair"
#~ msgid "Special thanks to"
#~ msgstr "Agradecimentos especiais para"
#~ msgid "Quit"
#~ msgstr "Sair"
@@ -161,6 +235,3 @@ msgstr "Cat GPT"
#~ msgid "Speaking"
#~ msgstr "Falando"
#~ msgid "Special thanks to"
#~ msgstr "Agradecimentos especiais para"

239
po/ru.po
View File

@@ -10,37 +10,23 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
"PO-Revision-Date: 2023-05-17 11:04+0000\n"
"Last-Translator: Daudix_UFO <ddaudix@gmail.com>\n"
"Language-Team: Russian <https://translate.codeberg.org/projects/bavarder/"
"bavarder/ru/>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "Болтайте с GPT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "Снимок экрана главного интерфейса"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
@@ -58,25 +44,30 @@ msgstr "Спросить"
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Quit"
msgstr "Выйти"
msgid "Close current window"
msgstr "Закрыть текущее окно"
#: data/ui/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Close all windows"
msgstr "Закрыть все окна"
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Параметры"
#: data/ui/help-overlay.ui:38
#: data/ui/help-overlay.ui:44
msgctxt "shortcut window"
msgid "Copy response"
msgstr "Скопировать ответ"
#: data/ui/help-overlay.ui:44
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr "Очистить"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
msgid "Preferences"
msgstr "Параметры"
@@ -92,57 +83,224 @@ msgstr "Очищать поле ввода после отправки"
msgid "The prompt will be cleared after send"
msgstr "Поле ввода будет очищено после отправки"
#: data/ui/preferences.blp:24
msgid "Use plain text for output"
msgstr "Использовать обычный текст для вывода"
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr "Будет использован обычный текст без форматирования"
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr "Закрывать все окна без предупреждения"
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr ""
"Все окна будут закрываться без предупреждения, это может перевести к потере "
"данных"
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr "Искать новости о провайдерах"
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr "Новости о проблемах с провайдерами будут получены с сайта Bavarder"
#: data/ui/preferences.blp:52 src/main.py:295
msgid "Providers"
msgstr "Провайдеры"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Главное меню"
#: data/ui/window.blp:36 src/provider/base.py:47
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr "Нет подключения к сети"
#: data/ui/window.blp:51
#: data/ui/window.blp:49
msgid "Message"
msgstr "Сообщение"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr "Скопировать в буфер обмена"
#: data/ui/window.blp:108
#: data/ui/window.blp:106
msgid "Ask"
msgstr "Спросить"
#: data/ui/window.blp:117
#: data/ui/window.blp:115
msgid "Wait"
msgstr "Ждите"
#: data/ui/window.blp:132
#: data/ui/window.blp:130
msgid "Response"
msgstr "Ответ"
#: data/ui/window.blp:220
#: data/ui/window.blp:208
msgid "Stop"
msgstr "Остановить"
#: data/ui/window.blp:226
msgid "New window"
msgstr "Новое окно"
#: data/ui/window.blp:237 src/main.py:298
msgid "Keyboard Shortcuts"
msgstr "Комбинации клавиш"
#: data/ui/window.blp:225
#: data/ui/window.blp:242 src/main.py:299
msgid "About Bavarder"
msgstr "О Bavarder"
#: src/provider/base.py:40
#: src/main.py:150
msgid "New version available!"
msgstr "Доступна новая версия!"
#: src/main.py:266
msgid "New Window"
msgstr "Новое окно"
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "Ключ API не предоставлен, вы можете предоставить его в настройках"
#: src/provider/base.py:42
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Открыть настройки"
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "Cat GPT"
#~ msgid "CatGPT"
#~ msgstr "CatGPT"
#~ msgid "Chit-chat with an AI"
#~ msgstr "Болтайте с GPT"
#~ msgid "0xMRTT"
#~ msgstr "0xMRTT"
#~ msgid "Screenshot of Main UI"
#~ msgstr "Снимок экрана главного интерфейса"
#~ msgid "Screenshot of Preferences UI"
#~ msgstr "Снимок экрана интерфейса параметров"
#~ msgid "Chat"
#~ msgstr "Чат"
#~ msgid "GPT"
#~ msgstr "GPT"
#~ msgid "ChatGPT"
#~ msgstr "ChatGPT"
#~ msgid "AI"
#~ msgstr "AI"
#~ msgid "OpenAI"
#~ msgstr "OpenAI"
#~ msgid "Fix Theming support of the new render widget"
#~ msgstr "Исправить поддержку оформления для нового виджета рендеринга"
#~ msgid "Add the ability to have multiple windows open at the same time"
#~ msgstr "Добавить возможность одновременного открытия нескольких окон"
#~ msgid "Update preferences UI"
#~ msgstr "Обновление интерфейса параметров"
#~ msgid "Fix some bugs"
#~ msgstr "Исправление некоторых ошибок"
#~ msgid "Update translations"
#~ msgstr "Обновления переводов"
#~ msgid "Add better error handling"
#~ msgstr "Добавлена улучшенная обработка ошибок"
#~ msgid "Add support of formatting in the response view using Markdown"
#~ msgstr ""
#~ "Добавлена поддержка форматирования в представлении ответа с помощью "
#~ "Markdown"
#~ msgid "Allow disabling the new render method"
#~ msgstr "Разрешить отключение нового метода рендеринга"
#~ msgid "Add description of providers"
#~ msgstr "Добавлены описания провайдеров"
#~ msgid "Add help for getting a token for providers"
#~ msgstr "Добавлена справка по получению токена для провайдеров"
#~ msgid "New website including some help for providers"
#~ msgstr "Новый веб-сайт, включающий некоторую справку для провайдеров"
#~ msgid "Fix an issue which caused the app to spin forever"
#~ msgstr "Исправлена проблема, из-за которой приложение крутилось вечно"
#~ msgid "Remove Quit entry in the app menu"
#~ msgstr "Удален пункт \"Выход\" из меню приложения"
#~ msgid "Fix keyboard shortcuts"
#~ msgstr "Исправление комбинаций клавиш"
#~ msgid "Fix an issue which caused the app to crash randomly"
#~ msgstr ""
#~ "Исправление проблемы, которая приводила к случайным сбоям в работе "
#~ "приложения"
#~ msgid "Add the ability to enable/disable providers from the preferences"
#~ msgstr "Добавлена возможность включать/выключать провайдеров в параметрах"
#~ msgid "Add more keyboard shortcuts"
#~ msgstr "Добавьте больше комбинаций клавиш"
#~ msgid "Add save/load of settings"
#~ msgstr "Добавлено сохранение/загрузка настроек"
#~ msgid "Fix HuggingChat (again)"
#~ msgstr "Исправить HuggingChat (снова)"
#~ msgid "Fix HuggingChat"
#~ msgstr "Исправить HuggingChat"
#~ msgid "Add multiple providers support"
#~ msgstr "Добавлена поддержка нескольких провайдеров"
#~ msgid "Make HuggingChat the default provider"
#~ msgstr "Сделать HuggingChat провайдером по умолчанию"
#~ msgid "Focus on the response entry"
#~ msgstr "Фокусировка на поле ввода ответа"
#~ msgid "Fix appdata not having release tags"
#~ msgstr "Исправление отсутствия тегов релиза appdata"
#~ msgid "Change app ID to io.github.Bavarder.Bavarder"
#~ msgstr "Изменить app ID на io.github.Bavarder.Bavarder"
#~ msgid "First release of Bavarder"
#~ msgstr "Первый выпуск Bavarder"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "Выйти"
#~ msgid "Special thanks to"
#~ msgstr "Особое спасибо"
#~ msgid "Text copied"
#~ msgstr "Текст скопирован"
#~ msgid "Use text view"
#~ msgstr "Использовать текстовое представление"
#~ msgid "If the text view is used, you will lose formatting"
#~ msgstr ""
#~ "Если используется текстовое представление, вы потеряете форматирование"
#~ msgid "Quit"
#~ msgstr "Выйти"
@@ -159,9 +317,6 @@ msgstr "Cat GPT"
#~ msgid "Speaking"
#~ msgstr "Произношение"
#~ msgid "Special thanks to"
#~ msgstr "Особое спасибо"
#~ msgid "Ready"
#~ msgstr "Готов"

151
po/sv.po
View File

@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Swedish <https://translate.codeberg.org/projects/bavarder/"
"bavarder/sv/>\n"
@@ -22,24 +22,10 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "Chatta med en AI"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "Skärmdump av huvudgränssnittet"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
@@ -57,29 +43,32 @@ msgstr "Fråga"
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Quit"
msgstr "Avsluta"
msgid "Close current window"
msgstr ""
#: data/ui/help-overlay.ui:32
#, fuzzy
#| msgid "Preferences"
msgctxt "shortcut window"
msgid "Close all windows"
msgstr ""
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Inställningar"
#: data/ui/help-overlay.ui:38
#: data/ui/help-overlay.ui:44
#, fuzzy
#| msgid "Response"
msgctxt "shortcut window"
msgid "Copy response"
msgstr "Svar"
#: data/ui/help-overlay.ui:44
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr "Rensa"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
msgid "Preferences"
msgstr "Inställningar"
@@ -95,57 +84,140 @@ msgstr "Töm prompt efter den har skickats"
msgid "The prompt will be cleared after send"
msgstr "Prompten kommer att rensas efter att den har skickats"
#: data/ui/preferences.blp:24
msgid "Use plain text for output"
msgstr ""
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr ""
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr ""
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr ""
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr ""
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr ""
#: data/ui/preferences.blp:52 src/main.py:295
msgid "Providers"
msgstr "Leverantörer"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Huvudmeny"
#: data/ui/window.blp:36 src/provider/base.py:47
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr "Ingen kontakt med nätverket"
#: data/ui/window.blp:51
#: data/ui/window.blp:49
msgid "Message"
msgstr "Meddelande"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr "Kopiera till urklipp"
#: data/ui/window.blp:108
#: data/ui/window.blp:106
msgid "Ask"
msgstr "Fråga"
#: data/ui/window.blp:117
#: data/ui/window.blp:115
msgid "Wait"
msgstr "Vänta"
#: data/ui/window.blp:132
#: data/ui/window.blp:130
msgid "Response"
msgstr "Svar"
#: data/ui/window.blp:220
#: data/ui/window.blp:208
msgid "Stop"
msgstr "Stoppa"
#: data/ui/window.blp:226
msgid "New window"
msgstr ""
#: data/ui/window.blp:237 src/main.py:298
msgid "Keyboard Shortcuts"
msgstr "Tangentbordsgenvägar"
#: data/ui/window.blp:225
#: data/ui/window.blp:242 src/main.py:299
msgid "About Bavarder"
msgstr "Om Bavarder"
#: src/provider/base.py:40
#: src/main.py:150
msgid "New version available!"
msgstr ""
#: src/main.py:266
msgid "New Window"
msgstr ""
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "Ingen API-nyckel har angetts, du kan ange en i inställningarna"
#: src/provider/base.py:42
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Öppna inställningar"
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "Cat GPT"
#~ msgid "CatGPT"
#~ msgstr "Cat GPT"
#~ msgid "Chit-chat with an AI"
#~ msgstr "Chatta med en AI"
#~ msgid "0xMRTT"
#~ msgstr "0xMRTT"
#~ msgid "Screenshot of Main UI"
#~ msgstr "Skärmdump av huvudgränssnittet"
#, fuzzy
#~| msgid "Screenshot of Main UI"
#~ msgid "Screenshot of Preferences UI"
#~ msgstr "Skärmdump av huvudgränssnittet"
#, fuzzy
#~| msgid "Cat GPT"
#~ msgid "GPT"
#~ msgstr "Cat GPT"
#, fuzzy
#~| msgid "Preferences"
#~ msgid "Update preferences UI"
#~ msgstr "Inställningar"
#~ msgid "Update translations"
#~ msgstr "- Uppdaterade översättningarna"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Fix keyboard shortcuts"
#~ msgstr "Tangentbordsgenvägar"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Add more keyboard shortcuts"
#~ msgstr "Tangentbordsgenvägar"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "Avsluta"
#~ msgid "Special thanks to"
#~ msgstr "Särskilt tack till"
#~ msgid "Quit"
#~ msgstr "Avsluta"
@@ -162,9 +234,6 @@ msgstr "Cat GPT"
#~ msgid "Speaking"
#~ msgstr "Talar"
#~ msgid "Special thanks to"
#~ msgstr "Särskilt tack till"
#~ msgid "Ready"
#~ msgstr "läst"

142
po/th.po
View File

@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
"PO-Revision-Date: 2023-05-11 05:14+0000\n"
"Last-Translator: watchakorn-18k <porton555@gmail.com>\n"
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Thai <https://translate.codeberg.org/projects/bavarder/"
"bavarder/th/>\n"
"Language: th\n"
@@ -20,24 +20,10 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.17\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr "แบบวาร์เดอร์"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "แชทกับ AI"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "ภาพหน้าจอของ UI หลัก"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
@@ -55,25 +41,30 @@ msgstr "ถาม"
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Quit"
msgstr "ออก"
msgid "Close current window"
msgstr ""
#: data/ui/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Close all windows"
msgstr ""
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Preferences"
msgstr "การตั้งค่า"
#: data/ui/help-overlay.ui:38
#: data/ui/help-overlay.ui:44
msgctxt "shortcut window"
msgid "Copy response"
msgstr "คัดลอกการตอบกลับ"
#: data/ui/help-overlay.ui:44
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr "ล้าง"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
msgid "Preferences"
msgstr "การตั้งค่า"
@@ -89,54 +80,131 @@ msgstr "ล้างพร้อมต์หลังจากส่ง"
msgid "The prompt will be cleared after send"
msgstr "พรอมต์จะถูกล้างหลังจากส่ง"
#: data/ui/preferences.blp:24
msgid "Use plain text for output"
msgstr ""
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr ""
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr ""
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr ""
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr ""
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr ""
#: data/ui/preferences.blp:52 src/main.py:295
msgid "Providers"
msgstr "ผู้ให้บริการ"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "เมนูหลัก"
#: data/ui/window.blp:36 src/provider/base.py:47
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr "ไม่มีการเชื่อมต่อเครือข่าย"
#: data/ui/window.blp:51
#: data/ui/window.blp:49
msgid "Message"
msgstr "ข้อความ"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr "คัดลอกไปยังคลิปบอร์ด"
#: data/ui/window.blp:108
#: data/ui/window.blp:106
msgid "Ask"
msgstr "ถาม"
#: data/ui/window.blp:117
#: data/ui/window.blp:115
msgid "Wait"
msgstr "รอ"
#: data/ui/window.blp:132
#: data/ui/window.blp:130
msgid "Response"
msgstr "การตอบสนอง"
#: data/ui/window.blp:220
#: data/ui/window.blp:208
msgid "Stop"
msgstr "Stop"
#: data/ui/window.blp:226
msgid "New window"
msgstr ""
#: data/ui/window.blp:237 src/main.py:298
msgid "Keyboard Shortcuts"
msgstr "แป้นพิมพ์ลัด"
#: data/ui/window.blp:225
#: data/ui/window.blp:242 src/main.py:299
msgid "About Bavarder"
msgstr "เกี่ยวกับแบบวาร์เดอร์"
#: src/provider/base.py:40
#: src/main.py:150
msgid "New version available!"
msgstr ""
#: src/main.py:266
msgid "New Window"
msgstr ""
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "ไม่มีรหัส API คุณสามารถระบุได้ในการตั้งค่าได้"
#: src/provider/base.py:42
#: src/provider/base.py:45
msgid "Open settings"
msgstr "เปิดการตั้งค่า"
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "แมว GPT"
#~ msgid "CatGPT"
#~ msgstr "แมว GPT"
#~ msgid "Chit-chat with an AI"
#~ msgstr "แชทกับ AI"
#~ msgid "0xMRTT"
#~ msgstr "0xMRTT"
#~ msgid "Screenshot of Main UI"
#~ msgstr "ภาพหน้าจอของ UI หลัก"
#, fuzzy
#~| msgid "Screenshot of Main UI"
#~ msgid "Screenshot of Preferences UI"
#~ msgstr "ภาพหน้าจอของ UI หลัก"
#, fuzzy
#~| msgid "Cat GPT"
#~ msgid "GPT"
#~ msgstr "แมว GPT"
#, fuzzy
#~| msgid "Preferences"
#~ msgid "Update preferences UI"
#~ msgstr "การตั้งค่า"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Fix keyboard shortcuts"
#~ msgstr "แป้นพิมพ์ลัด"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Add more keyboard shortcuts"
#~ msgstr "แป้นพิมพ์ลัด"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "ออก"

154
po/tr.po
View File

@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Turkish <https://translate.codeberg.org/projects/bavarder/"
"bavarder/tr/>\n"
@@ -21,24 +21,10 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "Chit AI ile sohbet edin"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "Ana Kullanıcı Arayüzü'nün ekran görüntüsü"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
@@ -56,29 +42,34 @@ msgstr "Sor"
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Quit"
msgstr "Çıkış"
msgid "Close current window"
msgstr ""
#: data/ui/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Close all windows"
msgstr ""
#: data/ui/help-overlay.ui:38
#, fuzzy
#| msgid "Preferences"
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Tercihler"
#: data/ui/help-overlay.ui:38
#: data/ui/help-overlay.ui:44
#, fuzzy
#| msgid "Response"
msgctxt "shortcut window"
msgid "Copy response"
msgstr "Yanıt"
#: data/ui/help-overlay.ui:44
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr "Temizle"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
msgid "Preferences"
msgstr "Tercihler"
@@ -94,57 +85,145 @@ msgstr "Gönderdikten sonra giriş alanını temizle"
msgid "The prompt will be cleared after send"
msgstr "Gönderimden sonra giriş alanı temizlenecek"
#: data/ui/preferences.blp:24
msgid "Use plain text for output"
msgstr ""
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr ""
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr ""
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr ""
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr ""
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr ""
#: data/ui/preferences.blp:52 src/main.py:295
msgid "Providers"
msgstr "Sağlayıcılar"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Ana Menü"
#: data/ui/window.blp:36 src/provider/base.py:47
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr "Ağ bağlantısı yok"
#: data/ui/window.blp:51
#: data/ui/window.blp:49
msgid "Message"
msgstr "Mesaj"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr "Panoya kopyala"
#: data/ui/window.blp:108
#: data/ui/window.blp:106
msgid "Ask"
msgstr "Sor"
#: data/ui/window.blp:117
#: data/ui/window.blp:115
msgid "Wait"
msgstr "Bekle"
#: data/ui/window.blp:132
#: data/ui/window.blp:130
msgid "Response"
msgstr "Yanıt"
#: data/ui/window.blp:220
#: data/ui/window.blp:208
msgid "Stop"
msgstr "Dur"
#: data/ui/window.blp:226
msgid "New window"
msgstr "Yeni Pencere"
#: data/ui/window.blp:237 src/main.py:298
msgid "Keyboard Shortcuts"
msgstr "Klavye kısayolları"
#: data/ui/window.blp:225
#: data/ui/window.blp:242 src/main.py:299
msgid "About Bavarder"
msgstr "Bavarder Hakkında"
#: src/provider/base.py:40
#: src/main.py:150
msgid "New version available!"
msgstr ""
#: src/main.py:266
#, fuzzy
#| msgid "New window"
msgid "New Window"
msgstr "Yeni Pencere"
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "API anahtarı sağlanmadı, ayarlarda bir tane sağlayabilirsiniz"
#: src/provider/base.py:42
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Ayarları aç"
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "Cat GPT"
#~ msgid "CatGPT"
#~ msgstr "Cat GPT"
#~ msgid "Chit-chat with an AI"
#~ msgstr "Chit AI ile sohbet edin"
#~ msgid "0xMRTT"
#~ msgstr "0xMRTT"
#~ msgid "Screenshot of Main UI"
#~ msgstr "Ana Kullanıcı Arayüzü'nün ekran görüntüsü"
#, fuzzy
#~| msgid "Screenshot of Main UI"
#~ msgid "Screenshot of Preferences UI"
#~ msgstr "Ana Kullanıcı Arayüzü'nün ekran görüntüsü"
#~ msgid "Chat"
#~ msgstr "Sohbet"
#, fuzzy
#~| msgid "Cat GPT"
#~ msgid "GPT"
#~ msgstr "Cat GPT"
#, fuzzy
#~| msgid "Preferences"
#~ msgid "Update preferences UI"
#~ msgstr "Tercihler"
#~ msgid "Update translations"
#~ msgstr "- Çeviri güncellemeleri"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Fix keyboard shortcuts"
#~ msgstr "Klavye kısayolları"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Add more keyboard shortcuts"
#~ msgstr "Klavye kısayolları"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "Çıkış"
#~ msgid "Special thanks to"
#~ msgstr "Özel teşekkürler"
#~ msgid "Quit"
#~ msgstr "Çıkış"
@@ -160,6 +239,3 @@ msgstr "Cat GPT"
#~ msgid "Speaking"
#~ msgstr "Konuşuyor"
#~ msgid "Special thanks to"
#~ msgstr "Özel teşekkürler"

173
po/uk.po
View File

@@ -6,12 +6,13 @@
# 0xMRTT <0xmrtt@tuta.io>, 2023.
# Orest58008 <orest58008@tuta.io>, 2023.
# 0xMRTT <0xmrtt@proton.me>, 2023.
# volkov <d2oo1dle2x@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Ukrainian <https://translate.codeberg.org/projects/bavarder/"
"bavarder/uk/>\n"
@@ -19,28 +20,14 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
msgid "Chit-chat with an AI"
msgstr "Побалакати з ШІ"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
msgid "0xMRTT"
msgstr "0xMRTT"
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
msgid "Screenshot of Main UI"
msgstr "Знімок головного інтерфейсу"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
@@ -49,7 +36,7 @@ msgstr "Загальні"
#: data/ui/help-overlay.ui:14
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Показати Скорочення"
msgstr "Показати комбінації клавіш"
#: data/ui/help-overlay.ui:20
msgctxt "shortcut window"
@@ -58,29 +45,30 @@ msgstr "Запитати"
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Quit"
msgstr "Вийти"
msgid "Close current window"
msgstr ""
#: data/ui/help-overlay.ui:32
#, fuzzy
#| msgid "Preferences"
msgctxt "shortcut window"
msgid "Close all windows"
msgstr ""
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Опції"
#: data/ui/help-overlay.ui:38
#, fuzzy
#| msgid "Response"
#: data/ui/help-overlay.ui:44
msgctxt "shortcut window"
msgid "Copy response"
msgstr "Відповідь"
msgstr "Копіювати відповідь"
#: data/ui/help-overlay.ui:44
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr "Очистити"
#: data/ui/preferences.blp:5 data/ui/window.blp:215
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
msgid "Preferences"
msgstr "Опції"
@@ -96,57 +84,149 @@ msgstr "Очистити запит після надсилання"
msgid "The prompt will be cleared after send"
msgstr "Запит буде очищений після надсилання"
#: data/ui/preferences.blp:24
#, fuzzy
msgid "Use plain text for output"
msgstr "Використовувати звичайний текст для виводу"
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr "Звичайний текст, без форматування, буде використовуватися"
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr ""
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr ""
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr ""
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr ""
#: data/ui/preferences.blp:52 src/main.py:295
msgid "Providers"
msgstr "Постачальники"
#: data/ui/window.blp:27
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "Головне Меню"
#: data/ui/window.blp:36 src/provider/base.py:47
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr "Відсутнє з'єднання з мережею"
#: data/ui/window.blp:51
#: data/ui/window.blp:49
msgid "Message"
msgstr "Повідомлення"
#: data/ui/window.blp:84 data/ui/window.blp:198
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr "Копіювати"
#: data/ui/window.blp:108
#: data/ui/window.blp:106
msgid "Ask"
msgstr "Запитати"
#: data/ui/window.blp:117
#: data/ui/window.blp:115
msgid "Wait"
msgstr "Чекати"
msgstr "Чекайте"
#: data/ui/window.blp:132
#: data/ui/window.blp:130
msgid "Response"
msgstr "Відповідь"
#: data/ui/window.blp:220
#: data/ui/window.blp:208
msgid "Stop"
msgstr "Зупинити"
#: data/ui/window.blp:226
msgid "New window"
msgstr "Нове вікно"
#: data/ui/window.blp:237 src/main.py:298
msgid "Keyboard Shortcuts"
msgstr "Комбінації Клавіш"
#: data/ui/window.blp:225
#: data/ui/window.blp:242 src/main.py:299
msgid "About Bavarder"
msgstr "Про Bavarder"
#: src/provider/base.py:40
#: src/main.py:150
msgid "New version available!"
msgstr ""
#: src/main.py:266
#, fuzzy
#| msgid "New window"
msgid "New Window"
msgstr "Нове вікно"
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "Відсутній ключ API, надайте його в налаштуваннях"
#: src/provider/base.py:42
#: src/provider/base.py:45
msgid "Open settings"
msgstr "Відкрити налаштування"
#: src/provider/catgpt.py:9
msgid "Cat GPT"
msgstr "Кіт GPT"
#~ msgid "CatGPT"
#~ msgstr "Кіт GPT"
#~ msgid "Chit-chat with an AI"
#~ msgstr "Побалакати з ШІ"
#~ msgid "0xMRTT"
#~ msgstr "0xMRTT"
#~ msgid "Screenshot of Main UI"
#~ msgstr "Знімок головного інтерфейсу"
#, fuzzy
#~| msgid "Screenshot of Main UI"
#~ msgid "Screenshot of Preferences UI"
#~ msgstr "Знімок головного інтерфейсу"
#~ msgid "Chat"
#~ msgstr "Бесіда"
#, fuzzy
#~| msgid "Cat GPT"
#~ msgid "GPT"
#~ msgstr "Кіт GPT"
#~ msgid "OpenAI"
#~ msgstr "OpenAI"
#, fuzzy
#~| msgid "Preferences"
#~ msgid "Update preferences UI"
#~ msgstr "Опції"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Fix keyboard shortcuts"
#~ msgstr "Комбінації Клавіш"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Add more keyboard shortcuts"
#~ msgstr "Комбінації Клавіш"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "Вийти"
#~ msgid "Special thanks to"
#~ msgstr "Особлива подяка"
#~ msgid "Text copied"
#~ msgstr "Текст скопійовано"
#~ msgid "Quit"
#~ msgstr "Вийти"
@@ -163,9 +243,6 @@ msgstr "Кіт GPT"
#~ msgid "Speaking"
#~ msgstr "Говорить"
#~ msgid "Special thanks to"
#~ msgstr "Особлива подяка"
#~ msgid "Ready"
#~ msgstr "Готово"

220
po/zh_Hans.po Normal file
View File

@@ -0,0 +1,220 @@
# Bavarder POT file
# Copyright (C) 2023 Bavarder
# This file is distributed under the GNU GPLv3 license.
# Bavarder, 2023.
#
# yangyangdaji <1504305527@qq.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
"PO-Revision-Date: 2023-05-18 07:47+0000\n"
"Last-Translator: yangyangdaji <1504305527@qq.com>\n"
"Language-Team: Chinese (Simplified) <https://translate.codeberg.org/projects/"
"bavarder/bavarder/zh_Hans/>\n"
"Language: zh_Hans\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.17\n"
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
msgid "Bavarder"
msgstr "Bavarder"
#: data/ui/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
msgstr "常规"
#: data/ui/help-overlay.ui:14
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "显示快捷方式"
#: data/ui/help-overlay.ui:20
msgctxt "shortcut window"
msgid "Ask"
msgstr "问"
#: data/ui/help-overlay.ui:26
msgctxt "shortcut window"
msgid "Close current window"
msgstr "关闭当前窗口"
#: data/ui/help-overlay.ui:32
msgctxt "shortcut window"
msgid "Close all windows"
msgstr "关闭全部窗口"
#: data/ui/help-overlay.ui:38
msgctxt "shortcut window"
msgid "Preferences"
msgstr "首选项"
#: data/ui/help-overlay.ui:44
msgctxt "shortcut window"
msgid "Copy response"
msgstr "复制回复"
#: data/ui/help-overlay.ui:50
msgctxt "shortcut window"
msgid "Clear"
msgstr "清除"
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
msgid "Preferences"
msgstr "首选项"
#: data/ui/preferences.blp:12
msgid "Prompt"
msgstr "提示词"
#: data/ui/preferences.blp:15
msgid "Clear prompt after send"
msgstr "发送后明确提示"
#: data/ui/preferences.blp:16
msgid "The prompt will be cleared after send"
msgstr "发送后将清除该提示"
#: data/ui/preferences.blp:24
msgid "Use plain text for output"
msgstr "使用纯文本进行输出"
#: data/ui/preferences.blp:25
msgid "The plain text without formatting will be used"
msgstr "将使用没有格式化的纯文本"
#: data/ui/preferences.blp:33
msgid "Close all windows without warning"
msgstr "毫无警告地关闭所有窗口"
#: data/ui/preferences.blp:34
msgid "All windows will be closed without warning, this can lead to data loss"
msgstr "所有窗口将在没有警告的情况下关闭,这可能导致数据丢失"
#: data/ui/preferences.blp:42
msgid "Look for provider news"
msgstr "寻找提供商新闻"
#: data/ui/preferences.blp:43
msgid "News about issues with providers will be fetched from Bavarder website"
msgstr "有关提供商问题的新闻将从 Bavarder 网站获取"
#: data/ui/preferences.blp:52 src/main.py:295
msgid "Providers"
msgstr "提供者"
#: data/ui/window.blp:28
msgid "Main Menu"
msgstr "主菜单"
#: data/ui/window.blp:34 src/provider/base.py:50
msgid "No network connection"
msgstr "无网络连接"
#: data/ui/window.blp:49
msgid "Message"
msgstr "消息"
#: data/ui/window.blp:82 data/ui/window.blp:198
msgid "Copy to Clipboard"
msgstr "复制到剪贴板"
#: data/ui/window.blp:106
msgid "Ask"
msgstr "询问"
#: data/ui/window.blp:115
msgid "Wait"
msgstr "等待"
#: data/ui/window.blp:130
msgid "Response"
msgstr "回复"
#: data/ui/window.blp:208
msgid "Stop"
msgstr "停止"
#: data/ui/window.blp:226
msgid "New window"
msgstr "新窗口"
#: data/ui/window.blp:237 src/main.py:298
msgid "Keyboard Shortcuts"
msgstr "键盘快捷键"
#: data/ui/window.blp:242 src/main.py:299
msgid "About Bavarder"
msgstr "关于 Bavarder"
#: src/main.py:150
msgid "New version available!"
msgstr "新版本可用!"
#: src/main.py:266
msgid "New Window"
msgstr "新窗口"
#: src/provider/base.py:43
msgid "No API key provided, you can provide one in settings"
msgstr "没有提供API密钥您可以在设置中提供一个"
#: src/provider/base.py:45
msgid "Open settings"
msgstr "打开设置"
#~ msgid "CatGPT"
#~ msgstr "Cat GPT"
#~ msgid "Chit-chat with an AI"
#~ msgstr "与AI一起聊天"
#~ msgid "0xMRTT"
#~ msgstr "0xMRTT"
#~ msgid "Screenshot of Main UI"
#~ msgstr "主界面的屏幕截图"
#~ msgid "Screenshot of Preferences UI"
#~ msgstr "首选项界面的屏幕截图"
#~ msgid "Chat"
#~ msgstr "聊天"
#, fuzzy
#~| msgid "Cat GPT"
#~ msgid "GPT"
#~ msgstr "Cat GPT"
#, fuzzy
#~| msgid "Preferences"
#~ msgid "Update preferences UI"
#~ msgstr "首选项"
#~ msgid "Update translations"
#~ msgstr "- 更新了新的翻译。"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Fix keyboard shortcuts"
#~ msgstr "键盘快捷键"
#, fuzzy
#~| msgid "Keyboard Shortcuts"
#~ msgid "Add more keyboard shortcuts"
#~ msgstr "键盘快捷键"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "退出"
#~ msgid "Special thanks to"
#~ msgstr "特别感谢"
#~ msgid "Text copied"
#~ msgstr "复制文本"

View File

@@ -2,10 +2,11 @@
# chmod +x flatpak-pip-generator
# ./flatpak-pip-generator --requirements-file=requirements.txt --output pypi-dependencies
baichat-py>=0.1.2
hgchat
openai
Pygments
baichat_py
googlebardpy
markdown
openai
pymdown-extensions
Pygments
requests
text-generation

View File

@@ -34,6 +34,7 @@ from .window import BavarderWindow
from .preferences import Preferences
from enum import auto, IntEnum
from gettext import gettext as _
from .constants import app_id, version, build_type
from tempfile import NamedTemporaryFile
@@ -44,6 +45,7 @@ import os
import markdown
import tempfile
import re
import requests
class Step(IntEnum):
CONVERT_HTML = auto()
@@ -80,19 +82,22 @@ class KillableThread(threading.Thread):
def kill(self):
self.killed = True
ANNOUCEMENT_URL = "https://bavarder.codeberg.page/annoucements.json"
class BavarderApplication(Adw.Application):
"""The main application singleton class."""
annoucements = {}
def __init__(self):
super().__init__(
application_id="io.github.Bavarder.Bavarder",
flags=Gio.ApplicationFlags.DEFAULT_FLAGS,
)
self.create_action("quit", self.on_quit, ["<primary>q"])
self.create_action("quit_all", self.on_close_all, ["<primary>q"])
self.create_action("quit", self.on_quit, ["<primary>w"])
self.create_action("about", self.on_about_action)
self.create_action(
"preferences", self.on_preferences_action, ["<primary>comma"]
@@ -102,6 +107,8 @@ class BavarderApplication(Adw.Application):
self.create_action("ask", self.on_ask_action, ["<primary>Return"])
self.create_action("clear", self.on_clear_action, ["<primary><shift>BackSpace"])
self.create_action("stop", self.on_stop_action, ["<primary>Escape"])
self.create_action("new", self.on_new_window, ["<primary>n"])
self.create_action("open_help", self.on_open_help, ["F1"])
# self.create_action("speak", self.on_speak_action, ["<primary>S"])
# self.create_action("listen", self.on_listen_action, ["<primary>L"])
@@ -114,35 +121,125 @@ class BavarderApplication(Adw.Application):
set(self.settings.get_strv("enabled-providers"))
)
self.latest_provider = self.settings.get_string("latest-provider")
self.provider = self.latest_provider
self.close_all_without_dialog = self.settings.get_boolean(
"close-all-without-dialog"
)
self.create_stateful_action(
"set_provider",
GLib.VariantType.new("s"),
GLib.Variant("s", self.latest_provider),
self.on_set_provider_action
)
self.allow_remote_fetching = self.settings.get_boolean("allow-remote-fetching")
self.use_theme = False
self.providers = {}
self.web_view = None
self.web_view_pending_html = None
def load_annoucements(self):
try:
self.annoucements = requests.get(ANNOUCEMENT_URL).json()
except:
pass
else:
try:
self.latest = self.annoucements["latest"]
del self.annoucements["latest"]
except:
pass
else:
if not self.latest in version:
self.win.banner.set_title(_("New version available!"))
self.win.banner.set_revealed(True)
self.loading = False
self.shown = False
self.preview_visible = False
def on_open_help(self, action, *args):
GLib.spawn_command_line_async(
f"xdg-open https://bavarder.codeberg.page"
)
def on_set_provider_action(self, action, *args):
self.provider = args[0].get_string()
Gio.SimpleAction.set_state(self.lookup_action("set_provider"), args[0])
def quitting(self, *args, **kwargs):
"""Called before closing main window."""
self.settings.set_strv("enabled-providers", list(self.enabled_providers))
self.settings.set_string("latest-provider", self.get_provider().slug)
self.settings.set_string("latest-provider", self.provider)
print("Saving providers data...")
self.save_providers()
self.quit()
@property
def win(self):
return self.props.active_window
def on_new_window(self, action, *args):
self.new_window()
def new_window(self, window=None):
if window:
win = self.props.active_window
else:
win = BavarderWindow(application=self)
win.connect("close-request", self.quitting)
self.load_dropdown(win)
self.load()
win.web_view = None
win.web_view_pending_html = None
win.loading = False
win.shown = False
win.preview_visible = False
win.present()
def close_all(self):
self.quitting()
for w in self.get_windows():
w.close()
def on_close_all(self, action, param):
print("Closing all windows...")
if len(self.get_windows()) == 1:
self.on_quit(action, param)
elif self.close_all_without_dialog:
self.close_all()
else:
dialog = Adw.MessageDialog(
heading="Close all windows?",
body="Closing all windows will lead to chat data loss",
transient_for=self.props.active_window,
)
dialog.add_response("cancel", "Cancel")
dialog.add_response("close", "Close")
dialog.set_response_appearance("close", Adw.ResponseAppearance.DESTRUCTIVE)
dialog.set_default_response("cancel")
dialog.set_close_response("cancel")
dialog.connect("response", self.on_close_all_response)
dialog.present()
def on_close_all_response(self, dialog, response):
if response == "close":
self.close_all()
dialog.close()
def on_quit(self, action, param):
"""Called when the user activates the Quit action."""
print("Closing active window...")
self.quitting()
self.win.close()
def save_providers(self):
r = {}
for k, p in self.providers.items():
r[p.slug] = json.dumps(p.save())
print(r)
data = GLib.Variant("a{ss}", r)
self.settings.set_value("providers-data", data)
@@ -151,74 +248,75 @@ class BavarderApplication(Adw.Application):
self.win.prompt_text_view.get_buffer().set_text("")
self.win.prompt_text_view.grab_focus()
def get_provider(self):
print(self.providers)
return self.providers[self.win.provider_selector.props.selected]
def do_activate(self):
"""Called when the application is activated.
We raise the application's main window, creating it if
necessary.
"""
self.win = self.props.active_window
if not self.win:
self.win = BavarderWindow(application=self)
self.win.present()
self.win.connect("close-request", self.quitting)
self.load_dropdown()
self.load()
print(self.latest_provider)
for k, p in self.providers.items():
if p.slug == self.latest_provider:
print("Setting selected provider to", k)
self.win.provider_selector.set_selected(k)
break
self.new_window()
if self.allow_remote_fetching:
self.load_annoucements()
self.win.prompt_text_view.grab_focus()
def load_dropdown(self):
def load_dropdown(self, window=None):
if window is None:
window = self.props.active_window
self.menu_model = Gio.Menu()
self.menu_model.append_item(Gio.MenuItem.new(label=_("New Window"), detailed_action="app.new"))
section_menu = Gio.Menu()
provider_menu = Gio.Menu()
self.provider_selector_model = Gtk.StringList()
self.providers = {}
self.providers_data = self.settings.get_value("providers-data")
print(self.providers_data)
print(self.enabled_providers)
for provider, i in zip(
self.enabled_providers, range(len(self.enabled_providers))
):
print("Loading provider", provider)
try:
self.provider_selector_model.append(PROVIDERS[provider].name)
except KeyError:
print("Provider", provider, "not found")
self.enabled_providers.remove(provider)
continue
for provider in self.enabled_providers:
if provider in self.providers:
p = self.providers[provider]
name = p.name
slug = p.slug
else:
try:
_ = self.providers[i] # doesn't re load if already loaded
p = PROVIDERS[provider]
name = p.name
slug = p.slug
except KeyError:
self.providers[i] = PROVIDERS[provider](self.win, self)
continue
else:
self.providers[slug] = PROVIDERS[provider](window, self)
self.win.provider_selector.set_model(self.provider_selector_model)
self.win.provider_selector.connect("notify", self.on_provider_selector_notify)
item_model = Gio.MenuItem()
item_model.set_label(name)
item_model.set_action_and_target_value(
"app.set_provider",
GLib.Variant("s", slug))
provider_menu.append_item(item_model)
section_menu.append_submenu(_("Providers"), provider_menu)
section_menu.append_item(Gio.MenuItem.new(label=_("Preferences"), detailed_action="app.preferences"))
section_menu.append_item(Gio.MenuItem.new(label=_("Keyboard Shortcuts"), detailed_action="win.show-help-overlay"))
section_menu.append_item(Gio.MenuItem.new(label=_("About Bavarder"), detailed_action="app.about"))
self.menu_model.append_section(None, section_menu)
window.menu.set_menu_model(self.menu_model)
def load(self):
for p in self.providers.values():
print(self.providers_data)
try:
p.load(data=json.loads(self.providers_data[p.slug]))
except KeyError: # provider not in data
pass
def on_provider_selector_notify(self, _unused, pspec):
self.win.banner.set_revealed(False)
try:
self.win.banner.set_revealed(False)
except AttributeError:
pass
def on_about_action(self, widget, _):
"""Callback for the app.about action."""
@@ -263,6 +361,11 @@ Gtk: {Gtk.MAJOR_VERSION}.{Gtk.MINOR_VERSION}.{Gtk.MICRO_VERSION}
Python: {platform.python_version()}
OS: {platform.system()} {platform.release()} {platform.version()}
Providers: {self.enabled_providers}
Use Theme: {self.use_theme}
Use Text View: {self.use_text_view}
Clear After Send: {self.clear_after_send}
Close All Without Dialog: {self.close_all_without_dialog}
Current Provider: {self.provider}
"""
)
about.present()
@@ -310,9 +413,6 @@ Providers: {self.enabled_providers}
self.win.toast_overlay.add_toast(toast)
def ask(self, prompt):
return self.providers[self.provider].ask(prompt)
@staticmethod
def on_click_link(web_view, decision, _decision_type):
if web_view.get_uri().startswith(("http://", "https://", "www.")):
@@ -333,53 +433,53 @@ Providers: {self.enabled_providers}
def show(self, html=None, step=Step.LOAD_WEBVIEW):
if step == Step.LOAD_WEBVIEW:
self.loading = True
if not self.web_view:
self.web_view = WebKit.WebView()
self.web_view.get_settings().set_allow_universal_access_from_file_urls(True)
self.win.loading = True
if not self.win.web_view:
self.win.web_view = WebKit.WebView()
self.win.web_view.get_settings().set_allow_universal_access_from_file_urls(True)
self.web_view.get_settings().set_enable_developer_extras(True)
self.win.web_view.get_settings().set_enable_developer_extras(True)
# Show preview once the load is finished
self.web_view.connect("load-changed", self.on_load_changed)
self.win.web_view.connect("load-changed", self.on_load_changed)
# All links will be opened in default browser, but local files are opened in apps.
self.web_view.connect("decide-policy", self.on_click_link)
self.win.web_view.connect("decide-policy", self.on_click_link)
self.web_view.connect("context-menu", self.on_right_click)
self.win.web_view.connect("context-menu", self.on_right_click)
self.web_view.set_hexpand(True)
self.web_view.set_vexpand(True)
self.win.web_view.set_hexpand(True)
self.win.web_view.set_vexpand(True)
self.win.response_stack.add_child(self.web_view)
self.win.response_stack.set_visible_child(self.web_view)
self.win.response_stack.add_child(self.win.web_view)
self.win.response_stack.set_visible_child(self.win.web_view)
if self.web_view.is_loading():
self.web_view_pending_html = html
if self.win.web_view.is_loading():
self.win.web_view_pending_html = html
else:
try:
self.web_view.load_html(html, "file://localhost/")
self.win.web_view.load_html(html, "file://localhost/")
except TypeError: # Argument 1 does not allow None as a value
pass
elif step == Step.RENDER:
if not self.preview_visible:
self.preview_visible = True
if not self.win.preview_visible:
self.win.preview_visible = True
self.show()
def reload(self, *_widget, reshow=False):
if self.preview_visible:
if self.win.preview_visible:
if reshow:
self.hide()
self.show()
def on_load_changed(self, _web_view, event):
if event == WebKit.LoadEvent.FINISHED:
self.loading = False
if self.web_view_pending_html:
self.show(html=self.web_view_pending_html, step=Step.LOAD_WEBVIEW)
self.web_view_pending_html = None
self.win.loading = False
if self.win.web_view_pending_html:
self.show(html=self.win.web_view_pending_html, step=Step.LOAD_WEBVIEW)
self.win.web_view_pending_html = None
else:
# we only lazyload the webview once
self.show(step=Step.RENDER)
@@ -459,7 +559,7 @@ Providers: {self.enabled_providers}
}
html {
font-size: 16px;
font-size: 11pt;
}
body {
@@ -469,7 +569,7 @@ Providers: {self.enabled_providers}
line-height: 1.5;
word-wrap: break-word;
max-width: 980px;
//margin: auto;
margin: 0;
//padding: 4em;
}
@@ -489,7 +589,7 @@ Providers: {self.enabled_providers}
}
strong {
font-weight: 600;
font-weight: bold;
}
img {
@@ -546,32 +646,32 @@ Providers: {self.enabled_providers}
h4,
h5,
h6 {
font-weight: 600;
font-weight: bold;
margin: 0;
}
h1 {
font-size: 2em;
font-size: 24pt;
}
h2 {
font-size: 1.5em;
font-size: 18pt;
}
h3 {
font-size: 1.25em;
font-size: 14pt;
}
h4 {
font-size: 1em;
font-size: 12pt;
}
h5 {
font-size: 0.875em;
font-size: 10pt;
}
h6 {
font-size: 0.85em;
font-size: 8pt;
}
p {
@@ -609,14 +709,14 @@ Providers: {self.enabled_providers}
code,
kbd,
pre {
font-family: "Fira Mono", fira-mono, monospace, color-emoji;
font-size: 1em;
font-family: "Monospace", monospace, color-emoji;
font-size: 12pt;
word-wrap: normal;
}
code {
border-radius: 0.1875em;
font-size: 0.85em;
font-size: 10pt;
padding: 0.2em 0.4em;
margin: 0;
}
@@ -624,13 +724,13 @@ Providers: {self.enabled_providers}
pre {
margin-top: 0;
margin-bottom: 0;
font-size: 0.75em;
font-size: 8pt;
}
pre>code {
padding: 0;
margin: 0;
font-size: 1em;
font-size: 12pt;
word-break: normal;
white-space: pre;
background: transparent;
@@ -650,7 +750,7 @@ Providers: {self.enabled_providers}
pre {
padding: 1em;
overflow: auto;
font-size: 0.85em;
font-size: 10pt;
line-height: 1.5;
background-color: var(--alt-background-color);
border-radius: 0.1875em;
@@ -758,7 +858,7 @@ Providers: {self.enabled_providers}
kbd {
display: inline-block;
padding: 0.1875em 0.3125em;
font-size: 0.6875em;
font-size: 8pt;
line-height: 1;
color: var(--kbd-text-color);
vertical-align: middle;
@@ -792,30 +892,30 @@ Providers: {self.enabled_providers}
h1 {
padding-bottom: 0.3em;
font-size: 2em;
font-size: 24pt;
border-bottom: 1px solid var(--header-border-color);
}
h2 {
padding-bottom: 0.3em;
font-size: 1.5em;
font-size: 18pt;
border-bottom: 1px solid var(--header-border-color);
}
h3 {
font-size: 1.25em;
font-size: 14pt;
}
h4 {
font-size: 1em;
font-size: 12pt;
}
h5 {
font-size: 0.875em;
font-size: 10pt;
}
h6 {
font-size: 0.85em;
font-size: 8pt;
opacity: 0.67;
}
@@ -851,7 +951,7 @@ Providers: {self.enabled_providers}
dl dt {
padding: 0;
margin-top: 1em;
font-size: 1em;
font-size: 12pt;
font-style: italic;
font-weight: 600;
}
@@ -939,38 +1039,38 @@ Providers: {self.enabled_providers}
"""
ADWAITA_STYLE = """:root {
--text-color: #2e3436;
--background-color: #f6f5f4;
--alt-background-color: #edeeef;
--link-color: #0d71de;
--blockquote-text-color: #747e85;
--blockquote-border-color: #d6d8da;
--header-border-color: #e1e2e4;
--hr-background-color: #d8dadd;
--table-tr-border-color: #bdc1c6;
--table-td-border-color: #d6d8da;
--kbd-text-color: #4e585e;
--kbd-background-color: #f1f1f1;
--kbd-border-color: #bdc1c6;
--kbd-shadow-color: #8c939a;
--text-color: rgba(0, 0, 0, 0.8);
--background-color: #ffffff;
--alt-background-color: #ebebeb;
--link-color: #1c71d8;
--blockquote-text-color: rgba(0, 0, 0, 0.8);
--blockquote-border-color: #dbdbdb;
--header-border-color: #dbdbdb;
--hr-background-color: #dbdbdb;
--table-tr-border-color: #dcdcdc;
--table-td-border-color: #dcdcdc;
--kbd-text-color: rgba(0, 0, 0, 0.8);
--kbd-background-color: #ffffff;
--kbd-border-color: #dcdcdc;
--kbd-shadow-color: #dddddd;
}
@media (prefers-color-scheme: dark) {
:root {
--text-color: #eeeeec;
--text-color: #ffffff;
--background-color: #363636;
--alt-background-color: #4a4a4a;
--link-color: #78aeed;
--blockquote-text-color: #ffffff;
--blockquote-border-color: #525252;
--header-border-color: #474747;
--blockquote-border-color: #454545;
--header-border-color: #454545;
--hr-background-color: #505050;
--table-tr-border-color: #696969;
--table-td-border-color: #525252;
--table-tr-border-color: #6e6e6e;
--table-td-border-color: #6e6e6e;
--kbd-text-color: #ffffff;
--kbd-background-color: #4a4a4a;
--kbd-border-color: #696969;
--kbd-shadow-color: #979797;
--kbd-border-color: #6e6e6e;
--kbd-shadow-color: #575757;
}
}"""
CUSTOM_STYLE = """
@@ -989,11 +1089,36 @@ Providers: {self.enabled_providers}
--kbd-border-color: #bdc1c6;
--kbd-shadow-color: #8c939a;
"""
DARK_CUSTOM_STYLE = """
--text-color: {card_fg_color};
--background-color: {card_bg_color};
--alt-background-color: {view_bg_color};
--link-color: {accent_fg_color};
--blockquote-text-color: {card_fg_color};
--blockquote-border-color: {card_bg_color};
--header-border-color: {headerbar_border_color};
--hr-background-color: {headerbar_bg_color};
--table-tr-border-color: {headerbar_border_color};
--table-td-border-color: {headerbar_border_color};
--kbd-text-color: #ffffff;
--kbd-background-color: #4a4a4a;
--kbd-border-color: #1f1f1f;
--kbd-shadow-color: #1e1e1e;
"""
if os.path.exists(os.path.expanduser("~/.config/gtk-4.0/gtk.css")):
self.use_theme = True
variables, palette, css = self.parse_css(os.path.expanduser("~/.config/gtk-4.0/gtk.css"))
theme_css = ":root {\n" + CUSTOM_STYLE.format(**variables) + " \n}\n" + css
variables["card_fg_color"] = variables.get("card_fg_color", "#2e3436")
variables["card_bg_color"] = variables.get("card_bg_color", "#f6f5f4")
variables["view_bg_color"] = variables.get("view_bg_color", "#edeeef")
variables["accent_fg_color"] = variables.get("accent_fg_color", "#0d71de")
variables["headerbar_border_color"] = variables.get("headerbar_border_color", "#e1e2e4")
variables["headerbar_bg_color"] = variables.get("headerbar_bg_color", "#d8dadd")
theme_css = ":root {\n" + CUSTOM_STYLE.format(**variables) + " \n}\n" + "@media (prefers-color-scheme: dark) {\n:root {\n" + \
DARK_CUSTOM_STYLE.format(**variables) + "\n}\n}\n" + css
else:
self.use_theme = False
theme_css = ADWAITA_STYLE
self.show(TEMPLATE.replace("{response}", response).replace("{theme_css}", theme_css), Step.LOAD_WEBVIEW)
else:
@@ -1003,6 +1128,23 @@ Providers: {self.enabled_providers}
def on_ask_action(self, widget, _):
"""Callback for the app.ask action."""
self.win.banner.set_revealed(False)
for key, an in self.annoucements.items():
if an["provider"] == self.provider:
if an["status"] == "open":
match an["action"]:
case "error": # show an error banner with a button to open settings
self.win.banner.set_title(an["message"])
self.win.banner.props.button_label = "Open settings"
self.win.banner.connect("button-clicked", self.on_preferences_action)
self.win.banner.set_revealed(True)
case _:
self.win.banner.set_title(an["message"])
self.win.banner.set_revealed(True)
del self.annoucements[key]
break
self.prompt = self.win.prompt_text_view.get_buffer().props.text.strip()
if self.prompt == "" or self.prompt is None: # empty prompt
@@ -1012,13 +1154,14 @@ Providers: {self.enabled_providers}
self.win.ask_button.set_visible(False)
self.win.wait_button.set_visible(True)
self.win.stop_button.set_visible(True)
self.provider = self.win.provider_selector.props.selected
def thread_run():
try:
response = self.ask(self.prompt)
response = self.providers[self.provider].ask(self.prompt)
except GLib.Error as e:
response = e.message
except KeyError:
del self.providers[self.provider]
GLib.idle_add(cleanup, response)
def cleanup(response):
@@ -1084,6 +1227,16 @@ Providers: {self.enabled_providers}
if shortcuts:
self.set_accels_for_action(f"app.{name}", shortcuts)
def create_stateful_action(self, name, parameter_type, initial_state, callback, shortcuts=None):
"""Add a stateful application action."""
action = Gio.SimpleAction.new_stateful(
name, parameter_type, initial_state)
action.connect("activate", callback)
self.add_action(action)
if shortcuts:
self.parent.set_accels_for_action(f"app.{name}", shortcuts)
def main(version):
"""The application's entry point."""

View File

@@ -10,6 +10,8 @@ class Preferences(Adw.PreferencesWindow):
clear_after_send_switch = Gtk.Template.Child()
provider_group = Gtk.Template.Child()
use_text_view_switch = Gtk.Template.Child()
close_all_without_dialog_switch = Gtk.Template.Child()
allow_remote_fetching_switch = Gtk.Template.Child()
def __init__(self, application, **kwargs):
super().__init__(**kwargs)
@@ -27,6 +29,16 @@ class Preferences(Adw.PreferencesWindow):
"notify::active", self.on_use_text_view_switch_toggled
)
self.close_all_without_dialog_switch.set_active(self.app.close_all_without_dialog)
self.close_all_without_dialog_switch.connect(
"notify::active", self.on_close_all_without_dialog_switch_toggled
)
self.allow_remote_fetching_switch.set_active(self.app.allow_remote_fetching)
self.allow_remote_fetching_switch.connect(
"notify::active", self.on_allow_remote_fetching_switch_toggled
)
self.setup_providers()
def on_clear_after_send_switch_toggled(self, widget, *args):
@@ -47,6 +59,25 @@ class Preferences(Adw.PreferencesWindow):
self.settings.set_boolean("use-text-view", False)
self.app.use_text_view = False
def on_close_all_without_dialog_switch_toggled(self, widget, *args):
"""Callback for the close_all_without_dialog_switch toggled event."""
if widget.get_active():
self.settings.set_boolean("close-all-without-dialog", True)
self.app.close_all_without_dialog = True
else:
self.settings.set_boolean("close-all-without-dialog", False)
self.app.close_all_without_dialog = False
def on_allow_remote_fetching_switch_toggled(self, widget, *args):
"""Callback for the allow_remote_fetching_switch toggled event."""
if widget.get_active():
self.settings.set_boolean("allow-remote-fetching", True)
self.app.load_annoucements()
self.app.allow_remote_fetching = True
else:
self.settings.set_boolean("allow-remote-fetching", False)
self.app.allow_remote_fetching = False
def setup_providers(self):
# for provider in self.app.providers.values():
# try:
@@ -58,9 +89,11 @@ class Preferences(Adw.PreferencesWindow):
# row.props.title = "No providers available"
# self.provider_group.add(row)
for provider in PROVIDERS.values():
try:
if provider.slug in self.app.providers:
self.provider_group.add(
provider(self.app.win, self.app).preferences(self)
self.app.providers[provider.slug].preferences(win=self.app.win)
)
else:
self.provider_group.add(
provider(self.app.win, self.app).preferences(win=self.app.win)
)
except TypeError:
pass

View File

@@ -1,19 +1,20 @@
from .huggingchat import HuggingChatProvider
# from .huggingchat import HuggingChatProvider
from .baichat import BAIChatProvider
from .openaigpt35turbo import OpenAIGPT35TurboProvider
from .openaigpt4 import OpenAIGPT4Provider
from .openaicustom import OpenAICustomProvider, LocalModel
from .catgpt import CatGPTProvider
from .openaitextdavinci003 import OpenAITextDavinci003
from .alpacalora import AlpacaLoRAProvider
from .hfgoogleflant5xxl import HuggingFaceGoogleFlanT5XXLProvider
from .hfgoogleflanu12 import HuggingFaceGoogleFlanU12Provider
from .hfopenassistantsft1pythia12b import HuggingFaceOpenAssistantSFT1PythiaProvider
from .hfopenassistantsft1pythia12b import HuggingFaceOpenAssistantSFT1PythiaProvider, HuggingChatMask
from .hfgpt2 import HuggingFaceGPT2Provider
from .hfdialogpt import HuggingFaceDialoGPTLargeProvider
from .bard import BardProvider
# from .bard import BardProvider
from .hfgpt2large import HuggingFaceGPT2LargeProvider
from .hfgpt2xl import HuggingFaceGPT2XLProvider
from .starcoder import StarCoderProvider
# from .starcoder import StarCoderProvider
PROVIDERS = {
"alpacalora": AlpacaLoRAProvider,
@@ -27,9 +28,11 @@ PROVIDERS = {
"hfgpt2large": HuggingFaceGPT2LargeProvider,
"hfgpt2xl": HuggingFaceGPT2XLProvider,
"hfopenassistantsft1pythia12b": HuggingFaceOpenAssistantSFT1PythiaProvider,
"huggingchat": HuggingChatProvider,
"huggingchat": HuggingChatMask, # hugging chat is replaced by open assistant
"local": LocalModel,
"openaicustom": OpenAICustomProvider,
"openaigpt35turbo": OpenAIGPT35TurboProvider,
"openaigpt4": OpenAIGPT4Provider,
"openaitextdavinci003": OpenAITextDavinci003,
"starcoder": StarCoderProvider,
# "starcoder": StarCoderProvider,
}

View File

@@ -11,7 +11,7 @@ class BardProvider(BavarderProvider):
name = "Bard"
slug = "bard"
version = "0.1.0"
url = "https://bavarder.codeberg.page/docs/providers/bard.html"
url = "https://bavarder.codeberg.page/help/bavarder"
def __init__(self, win, app, *args, **kwargs):
super().__init__(win, app, *args, **kwargs)

View File

@@ -77,7 +77,9 @@ class BavarderProvider:
popover.set_child(vbox)
about_button = Gtk.MenuButton()
about_button.set_icon_name("info-symbolic")
about_button.set_icon_name("help-about-symbolic")
about_button.set_tooltip_text("About provider")
about_button.add_css_class("flat")
about_button.set_valign(Gtk.Align.CENTER)
about_button.set_popover(popover)
return about_button
@@ -89,8 +91,8 @@ class BavarderProvider:
def how_to_get_a_token(self):
about_button = Gtk.Button()
about_button.set_icon_name("info-symbolic")
about_button.set_tooltip_text("How to get a token?")
about_button.set_icon_name("dialog-information-symbolic")
about_button.set_tooltip_text("How to get a token")
about_button.add_css_class("flat")
about_button.set_valign(Gtk.Align.CENTER)
about_button.connect("clicked", self.open_documentation)

View File

@@ -0,0 +1,42 @@
from .base import BavarderProvider
import requests
import shutil
class BaseOfflineProvider(BavarderProvider):
data = {
"setup": False,
"weight_path": "",
}
download_url = ""
def save(self):
return data
def load(self, data):
self.data = data
def download_file(self, url, filename=None):
if not filename:
filename = url.split('/')[-1]
with requests.get(url, stream=True) as r:
with open(filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return filename
def setup(self):
if self.data["setup"]:
return
else:
self.data["setup"] = True
self.data["weight_path"] = self.download_file(self.download_url)
def ask(self, prompt):
self.setup()
return self._ask(prompt)
def _ask(self, prompt):
raise NotImplementedError()

View File

@@ -6,9 +6,12 @@ from gi.repository import Gtk, Adw, GLib
class CatGPTProvider(BavarderProvider):
name = _("Cat GPT")
name = "CatGPT"
slug = "catgpt"
description = "🐱️"
version = "0.1.0"
developer_name = "Astrid Yu"
developers = ["Astrid Yu https://github.com/ifd3f"]
def __init__(self, win, app, *args, **kwargs):
super().__init__(win, app, *args, **kwargs)

View File

@@ -1,11 +1,54 @@
from .huggingface import BaseHFProvider
import requests
import json
import socket
from gi.repository import Gtk, Adw, GLib
class HuggingFaceOpenAssistantSFT1PythiaProvider(BaseHFProvider):
name = "Open-Assistant SFT-1 12B Model "
name = "Open-Assistant SFT-1 12B Model"
slug = "hfopenassistantsft1pythia12b"
model = "OpenAssistant/oasst-sft-1-pythia-12b"
model = "OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5"
@property
def require_api_key(self):
return False
def ask(self, prompt):
prompt = f"<|prompter|> {prompt}<|endoftext|><|assistant|>"
try:
payload = json.dumps({"inputs": prompt})
headers = {"Content-Type": "application/json"}
if self.require_api_key:
headers["Authorization"] = f"Bearer {self.api_key}"
url = f"https://api-inference.huggingface.co/models/{self.model}"
response = requests.request("POST", url, headers=headers, data=payload)
if response.status_code == 403:
self.no_api_key()
return ""
elif response.status_code != 200:
self.win.banner.props.title = response.json()["error"]
self.win.banner.props.button_label = ""
self.win.banner.set_revealed(True)
return ""
response = response.json()[0]["generated_text"].split("<|assistant|>")[1].strip()
# except NoApikey:
# self.no_api_key()
# return ""
except KeyError:
pass
except socket.gaierror:
self.no_connection()
return ""
else:
self.hide_banner()
print(response)
GLib.idle_add(self.update_response, response)
return response
class HuggingChatMask(HuggingFaceOpenAssistantSFT1PythiaProvider):
url = "https://bavarder.codeberg.page/help/huggingchat"
name = "Open-Assistant SFT-1 12B Model (HuggingChat)"
slug = "huggingchat"

View File

@@ -1,8 +1,9 @@
from .base import BavarderProvider
from hgchat import HGChat
from hugchat import hugchat
import socket
import requests
import json
from gi.repository import Gtk, Adw, GLib
@@ -11,40 +12,81 @@ class BaseHuggingChatProvider(BavarderProvider):
name = "Hugging Chat"
slug = "huggingchat"
model = None
url = "https://bavarder.codeberg.page/help/huggingchat"
cookies = {}
def __init__(self, win, app, *args, **kwargs):
super().__init__(win, app, *args, **kwargs)
self.chat = HGChat(self.model)
def ask(self, prompt):
print(self.cookies)
try:
response = self.chat.ask(prompt)
except socket.gaierror:
self.no_connection()
return ""
self.chat = hugchat.ChatBot(cookies=self.cookies) # or cookies=[...]
print(self.chat)
print(self.cookies)
except Exception as e:
print(e)
self.win.banner.props.title = str(e)
self.win.banner.props.button_label = ""
self.win.banner.set_revealed(True)
return ""
else:
self.win.banner.set_revealed(False)
r = ""
for i in response:
char = i["token"]["text"]
if char == "</s>":
r += "\n"
else:
r += char
GLib.idle_add(self.update_response, r)
return r
try:
response = self.chat.chat(prompt)
except socket.gaierror:
self.no_connection()
return ""
except Exception as e:
self.win.banner.props.title = str(e)
self.win.banner.props.button_label = ""
self.win.banner.set_revealed(True)
return ""
else:
self.win.banner.set_revealed(False)
r = ""
for i in response:
char = i["token"]["text"]
if char == "</s>":
r += "\n"
else:
r += char
GLib.idle_add(self.update_response, r)
return r
@property
def require_api_key(self):
return False
return True
def preferences(self, win):
self.pref_win = win
self.expander = Adw.ExpanderRow()
self.expander.props.title = self.name
self.expander.add_action(self.about()) # TODO: in Adw 1.4, use add_suffix
self.expander.add_action(self.enable_switch())
self.api_row = Adw.EntryRow()
self.api_row.connect("apply", self.on_apply)
self.api_row.props.text = str(self.cookies) or ""
self.api_row.props.title = "Cookies"
self.api_row.set_show_apply_button(True)
self.api_row.add_suffix(self.how_to_get_a_token())
self.expander.add_row(self.api_row)
return self.expander
def on_apply(self, widget):
self.hide_banner()
cookies = self.api_row.get_text()
print("cookies", cookies)
self.cookies = json.loads(cookies)
print("Applied cookies", self.cookies)
def save(self):
return {}
print(self.cookies)
print("Saved cookies", self.cookies)
return self.cookies
def load(self, data):
pass
self.cookies = data

View File

@@ -6,6 +6,7 @@ import socket
from gi.repository import Gtk, Adw, GLib
# from text_generation import InferenceAPIClient
class BaseHFProvider(BavarderProvider):
name = None
@@ -16,6 +17,7 @@ class BaseHFProvider(BavarderProvider):
def __init__(self, win, app, *args, **kwargs):
super().__init__(win, app, *args, **kwargs)
self.api_key = None
# self.client = InferenceAPIClient(self.model)
def ask(self, prompt):
try:
@@ -43,6 +45,11 @@ class BaseHFProvider(BavarderProvider):
except socket.gaierror:
self.no_connection()
return ""
except Exception as e:
print(e)
self.win.banner.props.title = str(e)
self.win.banner.props.button_label = ""
self.win.banner.set_revealed(True)
else:
self.hide_banner()
print(response)

View File

@@ -5,7 +5,7 @@ providers_sources = [
'__init__.py',
'alpacalora.py',
'baichat.py',
'bard.py',
# 'bard.py',
'base.py',
'catgpt.py',
'hfdialogpt.py',
@@ -15,14 +15,15 @@ providers_sources = [
'hfgpt2large.py',
'hfgpt2xl.py',
'hfopenassistantsft1pythia12b.py',
'huggingchat.py',
'huggingchatbase.py',
# 'huggingchat.py',
# 'huggingchatbase.py',
'huggingface.py',
'openai.py',
'openaicustom.py',
'openaigpt4.py',
'openaigpt35turbo.py',
'openaitextdavinci003.py',
'starcoder.py',
# 'starcoder.py',
]
PY_INSTALLDIR.install_sources(providers_sources, subdir: providers_dir)

View File

@@ -20,47 +20,56 @@ class BaseOpenAIProvider(BavarderProvider):
self.pref_win = None
def ask(self, prompt):
prompt = self.chunk(prompt)
try:
if isinstance(prompt, list):
self.win.banner.props.title = "Prompt too long, splitting into chunks."
if self.model:
prompt = self.chunk(prompt)
try:
if isinstance(prompt, list):
self.win.banner.props.title = "Prompt too long, splitting into chunks."
self.win.banner.props.button_label = ""
self.win.banner.set_revealed(True)
response = ""
for chunk in prompt:
response += (
self.chat.create(
model=self.model,
messages=[{"role": "user", "content": chunk}],
)
.choices[0]
.message.content
)
else:
response = self.chat.create(
model=self.model, messages=[{"role": "user", "content": prompt}]
)
response = response.choices[0].message.content
except openai.error.AuthenticationError:
self.no_api_key()
return ""
except openai.error.InvalidRequestError:
self.win.banner.props.title = "You don't have access to this model"
self.win.banner.props.button_label = ""
self.win.banner.set_revealed(True)
response = ""
for chunk in prompt:
response += (
self.chat.create(
model=self.model,
messages=[{"role": "user", "content": chunk}],
)
.choices[0]
.message.content
)
return ""
except openai.error.RateLimitError:
self.win.banner.props.title = "You exceeded your current quota, please check your plan and billing details."
self.win.banner.props.button_label = ""
self.win.banner.set_revealed(True)
return ""
except openai.error.APIError:
self.win.banner.props.title = "API Error"
self.win.banner.props.button_label = ""
self.win.banner.set_revealed(True)
except socket.gaierror:
self.no_connection()
return ""
else:
response = self.chat.create(
model=self.model, messages=[{"role": "user", "content": prompt}]
)
response = response.choices[0].message.content
except openai.error.AuthenticationError:
self.no_api_key()
return ""
except openai.error.InvalidRequestError:
self.win.banner.props.title = "You don't have access to this model"
self.win.banner.props.button_label = ""
self.win.banner.set_revealed(True)
return ""
except openai.error.RateLimitError:
self.win.banner.props.title = "You exceeded your current quota, please check your plan and billing details."
self.win.banner.props.button_label = ""
self.win.banner.set_revealed(True)
return ""
except socket.gaierror:
self.no_connection()
return ""
self.hide_banner()
GLib.idle_add(self.update_response, response)
return response
else:
self.hide_banner()
GLib.idle_add(self.update_response, response)
return response
self.no_api_key(title="No model selected, you can choose one in preferences")
return ""
@property
def require_api_key(self):
@@ -83,16 +92,39 @@ class BaseOpenAIProvider(BavarderProvider):
self.api_row.add_suffix(self.how_to_get_a_token())
self.expander.add_row(self.api_row)
self.api_url_row = Adw.EntryRow()
self.api_url_row.connect("apply", self.on_apply)
self.api_url_row.props.text = openai.api_key or ""
self.api_url_row.props.title = "API Url"
self.api_url_row.set_show_apply_button(True)
self.api_url_row.add_suffix(self.how_to_get_base_url())
self.expander.add_row(self.api_url_row)
return self.expander
def on_apply(self, widget):
self.hide_banner()
api_key = self.api_row.get_text()
openai.api_key = api_key
openai.api_base = self.api_url_row.get_text()
def save(self):
return {"api_key": openai.api_key}
return {
"api_key": openai.api_key,
"api_base": openai.api_base,
}
def load(self, data):
if data["api_key"]:
openai.api_key = data["api_key"]
if data["api_base"]:
openai.api_base = data["api_base"]
def how_to_get_base_url(self):
about_button = Gtk.Button()
about_button.set_icon_name("dialog-information-symbolic")
about_button.set_tooltip_text("How to choose base url")
about_button.add_css_class("flat")
about_button.set_valign(Gtk.Align.CENTER)
about_button.connect("clicked", self.open_documentation)
return about_button

View File

@@ -0,0 +1,89 @@
from .openai import BaseOpenAIProvider
from gi.repository import Gtk, Adw, GLib
import openai
class OpenAICustomProvider(BaseOpenAIProvider):
name = "OpenAI Custom Model"
slug = "openaicustom"
api_base = ""
def preferences(self, win):
self.pref_win = win
self.expander = Adw.ExpanderRow()
self.expander.props.title = self.name
self.expander.add_action(self.about()) # TODO: in Adw 1.4, use add_suffix
self.expander.add_action(self.enable_switch())
self.api_row = Adw.PasswordEntryRow()
self.api_row.connect("apply", self.on_apply)
self.api_row.props.text = openai.api_key or ""
self.api_row.props.title = self.api_key_title
self.api_row.set_show_apply_button(True)
self.api_row.add_suffix(self.how_to_get_a_token())
self.expander.add_row(self.api_row)
self.api_url_row = Adw.EntryRow()
self.api_url_row.connect("apply", self.on_apply)
self.api_url_row.props.text = self.api_base or ""
self.api_url_row.props.title = "API Url"
self.api_url_row.set_show_apply_button(True)
self.api_url_row.add_suffix(self.how_to_get_a_token())
self.expander.add_row(self.api_url_row)
self.model_row = Adw.EntryRow()
self.model_row.connect("apply", self.on_apply)
self.model_row.props.title = "Model"
if self.model:
self.model_row.props.text = str(self.model)
else:
print("No model")
self.model_row.props.text = ""
self.model_row.add_suffix(self.how_to_choose_model())
self.model_row.set_show_apply_button(True)
self.expander.add_row(self.model_row)
return self.expander
def on_apply(self, widget):
self.hide_banner()
api_key = self.api_row.get_text()
openai.api_key = api_key
self.api_base = self.api_url_row.get_text()
openai.api_base = self.api_base
self.model = str(self.model_row.get_text())
def save(self):
return {
"api_key": openai.api_key,
"api_base": self.api_base,
"model": self.model,
}
def load(self, data):
if data["api_key"]:
openai.api_key = data["api_key"]
else:
openai.api_key = ""
if data["api_base"]:
self.api_base = data["api_base"]
openai.api_base = self.api_base
if data["model"]:
self.model = data["model"]
def how_to_choose_model(self):
about_button = Gtk.Button()
about_button.set_icon_name("dialog-information-symbolic")
about_button.set_tooltip_text("How to choose a model")
about_button.add_css_class("flat")
about_button.set_valign(Gtk.Align.CENTER)
about_button.connect("clicked", self.open_documentation)
return about_button
class LocalModel(OpenAICustomProvider):
name = "Local Model"
slug = "local"
url = "https://bavarder.codeberg.page/help/local" # just for the url :)

View File

@@ -41,11 +41,16 @@ class BavarderWindow(Adw.ApplicationWindow):
# speak = Gtk.Template.Child()
# speak_wait = Gtk.Template.Child()
# speak_spinner = Gtk.Template.Child()
provider_selector = Gtk.Template.Child()
menu = Gtk.Template.Child()
def __init__(self, **kwargs):
super().__init__(**kwargs)
app = kwargs.get('application')
if app is None:
raise ValueError("Application should be passed to ImaginerWindow")
self.app = app
self.settings = Gio.Settings(schema_id="io.github.Bavarder.Bavarder")
self.settings.bind(