Compare commits
624 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
cb8ebad771
|
|||
|
e72f68c9b3
|
|||
|
|
a74de76ae4 | ||
|
|
607258ef9f | ||
|
|
ce31253997 | ||
|
|
511b0e6d65 | ||
|
b7131cc212
|
|||
|
|
8d03619705 | ||
|
|
79f8f68ac2 | ||
|
|
d1e065a725 | ||
|
|
f13392494b | ||
|
|
c5117dfa7f | ||
|
|
924ae707f7 | ||
|
|
1e31459044 | ||
|
|
268f30b7a4 | ||
| 7e0e53774e | |||
|
|
fdf2d25b6a | ||
|
|
416a4692c3 | ||
|
|
3311f222c7 | ||
|
|
ae09b392fd | ||
|
|
90177b3041 | ||
|
|
7f31ba23da | ||
|
|
043febd966 | ||
|
|
595a974bf8 | ||
|
|
79bb2fe237 | ||
|
|
3d22dd0268 | ||
|
|
5c20b22e93 | ||
|
|
74e58b9d71 | ||
|
|
3be65b5af3 | ||
|
|
288154bb73 | ||
|
|
171dcb409a | ||
|
|
e72c88977c | ||
|
|
afa6bf29db | ||
|
|
6804990133 | ||
|
|
fc6a0aace6 | ||
|
|
e7acf0925e | ||
|
|
d6ed971d76 | ||
|
|
51379483c4 | ||
|
|
025f7569b4 | ||
|
|
87433d5c80 | ||
|
|
cfc948db06 | ||
|
|
64e6454840 | ||
|
|
0628c4443a | ||
| abac750252 | |||
|
|
d5dd123a0d | ||
|
|
021667b506 | ||
|
|
812acbc855 | ||
|
|
f67bfe3eea | ||
|
|
101348079a | ||
|
|
d3abe6584f | ||
|
|
65beca89da | ||
|
|
c6fa60cd5a | ||
|
|
8e86c0e40d | ||
|
|
ae3400b110 | ||
|
|
46cfbb8e73 | ||
|
|
5e8e3c6682 | ||
|
|
2917dc202b | ||
|
ff6818bba0
|
|||
|
f1d5119e74
|
|||
|
57763b4d54
|
|||
|
c3086e79c0
|
|||
|
890348f94e
|
|||
| d391c9801e | |||
|
ca3b4db83a
|
|||
|
1437d80260
|
|||
|
|
e3ec9faa28 | ||
|
|
8c9a41e22f | ||
|
|
a7b8c0d207 | ||
|
|
8ec0e79fb4 | ||
|
|
a880e9074a | ||
|
|
fdb1efd6ab | ||
|
|
973c3abee2 | ||
|
|
6c9daf6f0b | ||
|
|
cf13c731b9 | ||
|
|
3e59237358 | ||
|
|
9c1185b894 | ||
|
|
eb6ba12c09 | ||
|
|
27bbec3d33 | ||
|
a653e34d83
|
|||
|
|
fb17c035c3 | ||
|
|
3048f741bc | ||
|
02e25c098b
|
|||
|
64bad9291e
|
|||
|
04405252d0
|
|||
|
e22ebd5b8f
|
|||
|
37fec583ab
|
|||
|
447ab66a5e
|
|||
|
a7a8ef923b
|
|||
|
a50a49e10d
|
|||
|
b5a7784f4b
|
|||
|
7f15cc59be
|
|||
|
e8bfb6cb2e
|
|||
|
8feb5d98b5
|
|||
|
6cdaab48c0
|
|||
|
|
cf9a619ee9 | ||
|
|
c6e88c7709 | ||
|
|
c78885aaaf | ||
|
|
403e78067a | ||
|
6ee13f7986
|
|||
|
|
702a4ba297 | ||
|
|
acd90b6e20 | ||
|
|
8131e8c4ef | ||
|
|
4109c45666 | ||
|
31689a1d72
|
|||
|
dbfe5b4eb9
|
|||
|
|
de71bbdc32 | ||
|
|
43bf971588 | ||
|
|
11ba62db06 | ||
|
ddb9588d30
|
|||
|
201ede414a
|
|||
|
1b048b229d
|
|||
|
fa9c41e131
|
|||
|
fde6a5cb0a
|
|||
|
adb4885e9e
|
|||
|
e108e3d52e
|
|||
|
fd41349aa6
|
|||
|
4adf42c27b
|
|||
|
1b86146a97
|
|||
|
|
d2d2351acd | ||
|
|
64e69bc732 | ||
|
|
be53aa82ae | ||
|
8325e4ab1e
|
|||
| 9460c9be00 | |||
|
5cbfffca0d
|
|||
| d2e52bb659 | |||
|
1b5a91232a
|
|||
| f24f3724bf | |||
|
3539be26b8
|
|||
|
90d590a77c
|
|||
|
f851e3a19a
|
|||
|
5d7c5cca4b
|
|||
|
|
d3f895f3fc | ||
|
|
998ff28c7d | ||
|
|
e33cb1b63d | ||
|
|
b245ae2c64 | ||
|
|
0662e6ab5b | ||
|
|
71d0218a1b | ||
|
|
6fded6f308 | ||
|
|
7ce3d6af54 | ||
|
|
dd8472fa86 | ||
|
|
7f81c114b7 | ||
|
|
2b2f7fba65 | ||
|
|
4cda2d93ba | ||
|
|
15fbc035e7 | ||
|
|
195957b8e1 | ||
|
|
cdbd36e843 | ||
| a0c5fb35c9 | |||
|
|
d2020fe05c | ||
|
|
64eeaa2a9c | ||
|
|
0ea841eb18 | ||
|
|
8be62d834e | ||
|
|
6361d30a1a | ||
|
|
f0c6cac09e | ||
|
|
c5dad67a7e | ||
| 2b15001e2a | |||
| 1348069b07 | |||
| a17d462030 | |||
| 2f77b51d0f | |||
| 3ab6a403b9 | |||
| a92847a33a | |||
| b18bc99906 | |||
| 1eb456b5f2 | |||
| 10b4ecbf5b | |||
| f938d1f4b9 | |||
| fb1fea6d0f | |||
| 82dc0d6bd0 | |||
| f94d7338b6 | |||
| 95dc455f9c | |||
|
|
1acb6f3d80 | ||
|
|
8347e592a5 | ||
|
|
a52f752b30 | ||
|
|
ee5e70d8d7 | ||
|
492b6e693e
|
|||
|
|
d24f5d4a68 | ||
| d4cbb0813d | |||
|
|
642fe3bd29 | ||
|
|
ad4ae7aabb | ||
|
|
fb4d4dabe1 | ||
|
b5f872b747
|
|||
|
45bf25934d
|
|||
|
bc2fab30a8
|
|||
|
5d073ab5c4
|
|||
|
61f626b20b
|
|||
|
3817bed117
|
|||
|
|
0541fd582f | ||
|
|
673cce0cce | ||
|
|
1322f574c8 | ||
|
8c07cd59ba
|
|||
|
c6e86d3bae
|
|||
|
c12112f925
|
|||
|
ef57438385
|
|||
|
|
4346253c97 | ||
|
|
6fee4c15e1 | ||
|
|
fcc30d7906 | ||
|
79f752ae83
|
|||
|
bc0a6b6704
|
|||
| d0c6bc1c31 | |||
| d4bff79293 | |||
|
|
43b35a57d8 | ||
|
|
c0705b8a74 | ||
| ecc296d7a2 | |||
| 7b38d3af3f | |||
|
ea62784f7c
|
|||
|
e53135d840
|
|||
| 1006865fbb | |||
|
4cc600cdfc
|
|||
|
52b0703dc3
|
|||
|
a17ea0a9e1
|
|||
|
60a1929c8e
|
|||
| 2d038ee396 | |||
|
|
8f0e4e3e4c | ||
| c33114eefe | |||
|
1272ab8532
|
|||
| 48d445b7d7 | |||
|
ac9a518f13
|
|||
| 21390da057 | |||
|
|
626b588796 | ||
| b89d9c2c29 | |||
| 321e4ad77e | |||
|
|
8a9359fc68 | ||
|
|
f5ad5c15d6 | ||
|
|
3acc7ae712 | ||
| 36bccd994f | |||
| 27d378156c | |||
| a7c9a05f6a | |||
| 09a75830e4 | |||
| 6a802c6190 | |||
|
|
e2dc8a671a | ||
|
|
85717ffe9f | ||
|
|
7bd96c2ab7 | ||
|
|
ad7cb3c087 | ||
|
|
7144f1ea45 | ||
|
|
a7c9388029 | ||
|
|
c2d5b633d4 | ||
|
|
ae6fc70e6c | ||
|
|
a1ab56a147 | ||
|
|
2b16f7e7ab | ||
|
|
12a565f8de | ||
|
|
7f37bdf18a | ||
|
|
b5c94e46df | ||
|
|
c48cad2eed | ||
|
|
f83bc1c6a5 | ||
|
|
dcf402ccb9 | ||
|
|
57da684031 | ||
|
|
9f09114614 | ||
|
|
e860601234 | ||
|
|
a95564bcca | ||
| 55adf8080b | |||
| c1983d228f | |||
|
|
249623413b | ||
|
|
8e594dcf02 | ||
|
|
9bf96cd97f | ||
| 9cfd5229a1 | |||
| 6806c3138e | |||
| 0656c107d7 | |||
| 185808f69f | |||
| e426129b1b | |||
| 891a29f6d6 | |||
| 599cb6fb49 | |||
| a6158ec7f1 | |||
| 1b48fb4c35 | |||
| 683aec6ae5 | |||
|
|
232337331a | ||
|
|
02b615b96a | ||
|
|
b06fb39e86 | ||
|
|
90b6ff4172 | ||
|
|
ec956191c6 | ||
|
|
f42b25add4 | ||
|
|
2922971136 | ||
|
74a25909c1
|
|||
|
a4876b5fac
|
|||
|
25094b4085
|
|||
|
aa7624394c
|
|||
|
589c5416a0
|
|||
|
0938be4486
|
|||
|
d8eb32c83d
|
|||
|
83ec10c205
|
|||
|
62c5b4e788
|
|||
|
|
d977c0ebfb | ||
|
|
31340da6cf | ||
|
|
b6d2e0efe9 | ||
|
|
164868f404 | ||
|
c5af44e8b4
|
|||
|
|
0c68157f14 | ||
|
|
2784ceb818 | ||
|
|
153ad37d12 | ||
|
|
d0f6ac660a | ||
|
|
871f205dd0 | ||
|
|
5e4111df6b | ||
|
fc86f2fb4f
|
|||
|
db270e0d00
|
|||
|
|
3ac953722f | ||
|
|
437bf2436c | ||
|
|
93d1f22634 | ||
|
|
aa7545c08a | ||
|
|
cda5833864 | ||
|
f09a34d448
|
|||
|
3161da89cc
|
|||
|
8e1812eb17
|
|||
|
|
6ce4614f73 | ||
|
93245dfa19
|
|||
|
912f531a0d
|
|||
|
2c30abbfe9
|
|||
|
a583abfc06
|
|||
|
26642ec0f4
|
|||
| bce914f618 | |||
|
|
7a01ac8d93 | ||
|
|
1400fe36bc | ||
|
|
9080e0a162 | ||
|
|
0baa2d372a | ||
|
|
d55db09ed8 | ||
|
|
d659ed7958 | ||
|
|
ed162e6b8e | ||
| df8f4a120f | |||
|
|
a038f7deb7 | ||
| 21f756f054 | |||
|
|
30bd160065 | ||
| f4a53b93ef | |||
|
4da2ae80fc
|
|||
|
7f9ef297b1
|
|||
|
daaa9de469
|
|||
|
61de030107
|
|||
|
60169ba940
|
|||
|
15a73ae8d1
|
|||
|
0299d14902
|
|||
|
|
020d6b84b3 | ||
|
|
0e06c91639 | ||
|
|
7879aa417b | ||
|
|
5bfd55173c | ||
|
|
fc5614a048 | ||
| c83ebef74c | |||
| c3d98f6772 | |||
|
|
fb5a34356f | ||
|
|
568fba2f2b | ||
|
|
7865c33dc9 | ||
|
|
fa1381abb3 | ||
|
|
1e20fe76b8 | ||
|
|
946f4c604e | ||
|
|
a2730795d1 | ||
|
|
f113f80927 | ||
|
|
dbbaadde38 | ||
|
|
734bc92ad1 | ||
|
|
8773c027a5 | ||
|
|
654bd3f1ed | ||
|
|
d81aeb4f17 | ||
|
|
9857f64882 | ||
|
|
e15a48602c | ||
|
|
ff80a1fbad | ||
|
|
5f57b89551 | ||
|
eb408ae930
|
|||
|
|
642de5d304 | ||
|
|
94ce4d1c5d | ||
|
|
cd313078c6 | ||
|
|
47818bfa90 | ||
|
|
4daa80d1e4 | ||
|
|
5966979eb9 | ||
| f50469c2cf | |||
| 4bd514680d | |||
|
|
32a390c97e | ||
| a9541bc368 | |||
|
|
bb87b22387 | ||
|
|
43a799c841 | ||
|
|
6d0a6843d7 | ||
|
|
63803d198e | ||
|
90eafb07de
|
|||
|
d084a09e5f
|
|||
|
d6fd3b3d0c
|
|||
|
9a460d9302
|
|||
|
be32379d81
|
|||
|
0fff84a2f9
|
|||
|
be9a0f95ae
|
|||
|
5fabf9557c
|
|||
|
90b5233653
|
|||
|
|
cc59054ec2 | ||
|
|
724bd97905 | ||
|
|
777a4cfaf5 | ||
|
a7d3183b51
|
|||
|
e17520cde1
|
|||
|
0215ccd5a1
|
|||
|
575cc406c5
|
|||
|
|
73937725e5 | ||
|
15ec5c978f
|
|||
|
6b91205c57
|
|||
|
bdd1a2e9a9
|
|||
|
d6f26e7fc9
|
|||
|
8259cfbb70
|
|||
|
80376a6692
|
|||
|
64ba5007d8
|
|||
|
|
09fc50cda8 | ||
|
5c3973c420
|
|||
|
e37fb02eeb
|
|||
|
a57ba73fcd
|
|||
|
5e56b13d36
|
|||
|
ffdbc1759a
|
|||
|
46c3bcd41e
|
|||
|
|
f1282b8500 | ||
|
|
3b0bb638ea | ||
|
|
edde2f53b6 | ||
|
|
4a16150a94 | ||
|
|
c500c22eac | ||
|
|
bbd1ee16f4 | ||
|
|
d3e000ef4e | ||
|
|
f0f2d29857 | ||
|
|
6fa8d0511b | ||
|
|
85ef198051 | ||
| d908a5ab41 | |||
|
|
90189c3e19 | ||
|
|
079a46d386 | ||
|
|
736b2f0b2a | ||
|
|
4687094c67 | ||
|
|
bfc4fe413a | ||
|
|
6fa2ea24b7 | ||
|
|
444021134f | ||
|
|
d8ba6968a7 | ||
|
|
1dc9d6d62e | ||
| 5f0d3224c1 | |||
|
|
8a83e78bcf | ||
|
|
8ad100aae6 | ||
| 266f8ac7fc | |||
|
|
19b85ea78a | ||
|
16f4b62dbc
|
|||
|
86deb53691
|
|||
|
142eefa310
|
|||
|
|
f15696e470 | ||
|
|
6552dd1561 | ||
|
a0ed6d7b68
|
|||
|
62b57a6ad9
|
|||
|
72715e0bde
|
|||
|
af9bfc1d87
|
|||
|
cd5d73d64f
|
|||
|
4867f9c02d
|
|||
|
916ff133da
|
|||
|
61d69aaf06
|
|||
|
25cefc9671
|
|||
|
722ee665ec
|
|||
|
8a328e1bd6
|
|||
|
499723d11e
|
|||
|
3664324a69
|
|||
|
b559289c3d
|
|||
|
4d4bcf5957
|
|||
|
3c6e11cf61
|
|||
|
5bbfdffb10
|
|||
|
9c1ae1f105
|
|||
|
73a391fd9e
|
|||
|
edf12c954d
|
|||
|
a335768d76
|
|||
|
ad287c34c2
|
|||
| 75f4578bce | |||
| dc477edebb | |||
| 73b6c2edd5 | |||
| e3acaec9d2 | |||
| e1cab5b574 | |||
| f324a71b13 | |||
| bff077f0c6 | |||
|
|
a7fad0d4c7 | ||
| bf530e13c4 | |||
| 86ab05b19b | |||
| d8fffffb77 | |||
| a06c422ab2 | |||
|
|
3ebc510c20 | ||
|
|
aebdcb2e86 | ||
|
|
57f351eaca | ||
|
|
63ffe24403 | ||
|
|
1c08f7d639 | ||
|
|
ec27bd38ae | ||
|
f478aa80d5
|
|||
|
dd781d2f01
|
|||
|
764cba5e27
|
|||
| 17557b478f | |||
|
|
a3df738a9c | ||
|
|
a60264ea98 | ||
|
|
018f9a5493 | ||
|
|
9b47afcbe6 | ||
|
6f27cae7a8
|
|||
|
|
38b5f67973 | ||
|
|
304f816cab | ||
|
|
2a74cdee81 | ||
|
|
46c1891e24 | ||
|
|
d62b0bbcdf | ||
|
|
0979652e87 | ||
|
|
6524de02a5 | ||
|
|
9656830647 | ||
|
|
34bd7149e1 | ||
|
|
18f053d47f | ||
|
|
6423730b1b | ||
|
|
0e468f9f17 | ||
|
bd177b73fb
|
|||
|
d42c0265b5
|
|||
|
455370416f
|
|||
|
0ef94b2036
|
|||
|
62bba52dd2
|
|||
|
6cf10e6f2e
|
|||
|
|
22ca867a65 | ||
|
aa5c6bbfd9
|
|||
|
28de905b19
|
|||
|
b2fd2566ab
|
|||
|
e306d8dd2d
|
|||
|
f71124df62
|
|||
|
f31e9ff99c
|
|||
|
2d33daf998
|
|||
|
243910c5c0
|
|||
|
|
acf8560f11 | ||
|
|
fc023a3b4c | ||
|
50aee8c31b
|
|||
|
|
4f9e72654b | ||
|
|
5a1aef99be | ||
|
|
d507ef3cbc | ||
|
|
e018ebd8d2 | ||
|
b5d762b6e6
|
|||
|
1aef1494f6
|
|||
|
17169e979b
|
|||
|
|
8fd7cf8c68 | ||
|
|
7957bde4bb | ||
|
|
ad26e0c93c | ||
|
|
e4dc8faba1 | ||
|
|
843a5191b2 | ||
|
|
ecf33ae506 | ||
|
|
8d106ee69e | ||
|
9beb360bfd
|
|||
|
2374531f7b
|
|||
|
aca1434491
|
|||
|
48547c53a0
|
|||
|
d8cca9f7a2
|
|||
|
7f860e4ac1
|
|||
|
|
64e9d63836 | ||
|
|
2d95d2cd56 | ||
|
|
9ff00cbedc | ||
|
|
4429ea2fdb | ||
|
|
669a8ebd2d | ||
|
|
3a297e2b50 | ||
|
|
d7ad7f1886 | ||
|
|
fc60c0456c | ||
|
|
6b7f246195 | ||
|
|
bd4df4efee | ||
|
|
3996d149ee | ||
|
|
1291a29065 | ||
|
|
386c8ac23a | ||
|
c4563aa5ca
|
|||
|
73b6dd33c0
|
|||
|
da8a92acd5
|
|||
|
f7442dfe71
|
|||
|
7870cfc843
|
|||
|
fc376539f8
|
|||
|
|
a8515fd9a3 | ||
|
|
cb928759ac | ||
| a546588be1 | |||
|
|
8921c25fbb | ||
|
|
874bef8470 | ||
|
|
c5b74d4c97 | ||
|
|
d978ed9e67 | ||
| 5c5c0b2430 | |||
|
|
3c4c66dda6 | ||
|
|
4cb3e01d37 | ||
|
|
5489976256 | ||
|
|
19ec1e642f | ||
|
|
e1162292ab | ||
|
|
196a44c268 | ||
|
|
763e30f7e2 | ||
|
|
26386b3f71 | ||
|
|
64f67b3f58 | ||
|
|
e43e2c58b7 | ||
|
|
3baeaab7d4 | ||
| a48d59bf95 | |||
| 5c8a1f9e04 | |||
|
|
1d506a67ed | ||
|
|
484c288202 | ||
|
|
b078c778c5 | ||
|
|
18b66df198 | ||
|
|
679376336d | ||
|
|
a0a2ff1c6a | ||
|
|
09affee2e0 | ||
|
|
fc1852569b | ||
|
|
f8d9f28044 | ||
|
c215c33777
|
|||
|
fa998584c7
|
|||
|
98a8e86737
|
|||
|
85147ae859
|
|||
|
11b3e79234
|
|||
|
|
c65f3b4c11 | ||
|
|
ee60be4956 | ||
|
|
6cafd698e1 | ||
|
|
ee7bec5ac7 | ||
| ed2997f223 | |||
|
|
20f11281bf | ||
|
|
e022bbe822 | ||
|
|
0988fd4154 | ||
|
112e9384c3
|
|||
|
|
9271f1976c | ||
|
|
c0d4a3a951 | ||
|
26b45cdd0d
|
|||
|
65166a967e
|
|||
|
5a855e3236
|
|||
|
f47b690f5b
|
|||
|
6ef07107fe
|
|||
|
5e5c689743
|
|||
|
0f7910eb6a
|
|||
|
71ec315941
|
|||
|
127350cd95
|
|||
|
|
886b18491c | ||
|
a942965a45
|
|||
|
fdb908793e
|
|||
|
67e83a4fb5
|
|||
|
ab7010a8db
|
|||
|
9505d22f66
|
|||
|
088ee95a52
|
|||
|
08152e750d
|
|||
| 28d6e5b8fc | |||
| 045a325fbf | |||
| 349a67da19 | |||
| b4d839ab8a | |||
| 264358a2b2 | |||
| c3f2210d5a | |||
|
|
653fa25836 | ||
| 81a793886e | |||
| bf3facb551 | |||
| 781aed2132 | |||
| 8abbc26560 | |||
| 377469256c | |||
| ef35df04b5 | |||
| 9a376e126a | |||
| 4647be9b03 | |||
| f9fdb42c60 | |||
| 2f4297c344 | |||
| 441f510c0b |
37
.gitea/workflows/build.yml
Normal file
37
.gitea/workflows/build.yml
Normal file
@@ -0,0 +1,37 @@
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
flatpak:
|
||||
name: Flatpak
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: bilelmoussaoui/flatpak-github-actions:gnome-nightly
|
||||
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
|
||||
flatpak install org.gnome.Sdk/x86_64/44 -y
|
||||
flatpak install org.gnome.Platform/x86_64/44 -y
|
||||
- name: Build
|
||||
run: |
|
||||
flatpak-builder --repo=repo --force-clean build build-aux/flatpak/io.github.Bavarder.Bavarder.json
|
||||
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
|
||||
|
||||
|
||||
17
.github/ISSUE_TEMPLATE/bug_report.md
vendored
17
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -23,16 +23,15 @@ A clear and concise description of what you expected to happen.
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Desktop (please complete the following information):**
|
||||
- OS: [e.g. iOS]
|
||||
- Browser [e.g. chrome, safari]
|
||||
- Version [e.g. 22]
|
||||
**Environement**
|
||||
Please past the content of About > Troubleshooting > Debugging Information
|
||||
|
||||
**Smartphone (please complete the following information):**
|
||||
- Device: [e.g. iPhone6]
|
||||
- OS: [e.g. iOS8.1]
|
||||
- Browser [e.g. stock browser, safari]
|
||||
- Version [e.g. 22]
|
||||
io.github.Bavarder.Bavarder ...
|
||||
Environment: ...
|
||||
Gtk: ...
|
||||
Python: ...
|
||||
OS: Linux ...
|
||||
Providers: ['baichat', 'catgpt', 'huggingchat', 'openaigpt35turbo', 'openaigpt4', ...]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
|
||||
5
.github/workflows/build.yml
vendored
5
.github/workflows/build.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
options: --privileged
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [x86_64, aarch64]
|
||||
arch: [x86_64]
|
||||
fail-fast: false
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -29,8 +29,7 @@ jobs:
|
||||
platforms: arm64
|
||||
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
||||
with:
|
||||
repository-name: gnome-nightly
|
||||
bundle: bavarder.flatpak
|
||||
manifest-path: build-aux/flatpak/io.github.Bavarder.Bavarder.json
|
||||
manifest-path: build-aux/flatpak/io.github.Bavarder.Bavarder.Devel.json
|
||||
cache-key: flatpak-builder-${{ github.sha }}
|
||||
arch: ${{ matrix.arch }}
|
||||
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -3,3 +3,5 @@ flatpak-pip-generator
|
||||
repo/
|
||||
build/
|
||||
export/
|
||||
bavarder.flatpak
|
||||
r.txt
|
||||
38
.woodpecker.yml
Normal file
38
.woodpecker.yml
Normal file
@@ -0,0 +1,38 @@
|
||||
clone:
|
||||
git:
|
||||
image: bash
|
||||
commands:
|
||||
- cd /home/0xmrtt
|
||||
- if [ -d Bavarder ]; then
|
||||
- cd Bavarder
|
||||
- git pull
|
||||
- else
|
||||
- git clone https://git.exozy.me/Bavarder/Bavarder.git
|
||||
- fi
|
||||
|
||||
pipeline:
|
||||
build:
|
||||
image: fish
|
||||
secrets: [ access_token, codeberg_token ]
|
||||
commands:
|
||||
- nix-env -iA nixpkgs.flatpak-builder
|
||||
- fish_add_path ~/.nix-profile/bin
|
||||
- cd /home/0xmrtt/Bavarder
|
||||
- flatpak-builder --repo=repo --force-clean build build-aux/flatpak/io.github.Bavarder.Bavarder.Devel.json
|
||||
- flatpak build-bundle repo bavarder.flatpak io.github.Bavarder.Bavarder.Devel
|
||||
- ls -la
|
||||
- curl --user 0xmrtt:$ACCESS_TOKEN --upload-file bavarder.flatpak "https://git.exozy.me/api/packages/$CI_REPO_OWNER/generic/$CI_REPO_NAME/$CI_BUILD_NUMBER/bavarder.flatpak"
|
||||
- curl --user 0xmrtt:$CODEBERG_TOKEN --upload-file bavarder.flatpak "https://codeberg.org/api/packages/$CI_REPO_OWNER/generic/$CI_REPO_NAME/$CI_BUILD_NUMBER/bavarder.flatpak"
|
||||
|
||||
translate:
|
||||
image: fish
|
||||
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]
|
||||
26
Cargo.toml
Normal file
26
Cargo.toml
Normal file
@@ -0,0 +1,26 @@
|
||||
[package]
|
||||
name = "bavarder"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
env_logger = "0.10.0"
|
||||
|
||||
[dependencies.gtk]
|
||||
package = "gtk4"
|
||||
version = "0.6.2"
|
||||
features = ["v4_10", "xml_validation"]
|
||||
|
||||
[dependencies.gio]
|
||||
package = "gio"
|
||||
version = "0.17.0"
|
||||
features = ["v2_74"]
|
||||
|
||||
[dependencies.adw]
|
||||
package = "libadwaita"
|
||||
version = "0.4.1"
|
||||
features = ["v1_4"]
|
||||
|
||||
[dependencies.gettext-rs]
|
||||
version = "0.7.0"
|
||||
features = ["gettext-system"]
|
||||
74
README.md
74
README.md
@@ -1,4 +1,4 @@
|
||||
|
||||
<a href="https://bavarder.codeberg.page">
|
||||
<h1 align="center">
|
||||
<img src="data/icons/hicolor/scalable/apps/io.github.Bavarder.Bavarder.svg" alt="Bavarder" width="192" height="192"/>
|
||||
<br>
|
||||
@@ -6,8 +6,9 @@
|
||||
</h1>
|
||||
|
||||
<p align="center">
|
||||
<strong>Chit-chat with GPT</strong>
|
||||
<strong>Chit-chat with an AI</strong>
|
||||
</p>
|
||||
</a>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://flathub.org/apps/details/io.github.Bavarder.Bavarder">
|
||||
@@ -22,9 +23,6 @@
|
||||
<a href="https://translate.codeberg.org/engage/bavarder/">
|
||||
<img src="https://translate.codeberg.org/widgets/bavarder/-/svg-badge.svg" alt="Translation status" />
|
||||
</a>
|
||||
<a href="https://github.com/Bavarder/Bavarder/actions/workflows/build.yml">
|
||||
<img alt="Build status" src="https://github.com/GradienceTeam/Gradience/actions/workflows/build.yml/badge.svg"/>
|
||||
</a>
|
||||
<a href="https://repology.org/project/bavarder/versions">
|
||||
<img alt="Packaging status" src="https://repology.org/badge/tiny-repos/bavarder.svg">
|
||||
</a>
|
||||
@@ -36,34 +34,90 @@
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<a href="https://bavarder.codeberg.page">
|
||||
<p align="center">
|
||||
<img src="./data/screenshots/quantum-computing.png" alt="Preview"/>
|
||||
<img src="./data/screenshots/preview.png" alt="Preview"/>
|
||||
</p>
|
||||
</a>
|
||||
|
||||
## Usage
|
||||
|
||||
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:
|
||||
|
||||
``` shell
|
||||
flatpak install bavarder.flatpak
|
||||
```
|
||||
|
||||
#### From Source
|
||||
|
||||
### Flatpak-builder
|
||||
|
||||
Clone the repo and run `flatpak-builder`
|
||||
|
||||
```
|
||||
git clone https://github.com/Bavarder/Bavarder
|
||||
``` shell
|
||||
git clone https://codeberg.org/Bavarder/Bavarder # or https://github.com/Bavarder/Bavarder
|
||||
cd Bavarder
|
||||
flatpak-builder --install --user --force-clean repo/ build-aux/flatpak/io.github.Bavarder.Bavarder.json
|
||||
```
|
||||
### Meson
|
||||
``` shell
|
||||
git clone https://codeberg.org/Bavarder/Bavarder # or https://github.com/Bavarder/Bavarder
|
||||
cd Bavarder
|
||||
meson setup build # Configure the build environment in subdirectory 'build'
|
||||
meson compile -C build
|
||||
meson check -C build
|
||||
meson install -C build
|
||||
chmod 0755 /usr/local/bin/bavarder # Fix binary permissions
|
||||
```
|
||||
|
||||
|
||||
### Others
|
||||
|
||||
You can see more install methods on the [website](https://bavarder.codeberg.page/install/)
|
||||
|
||||
## Contribute
|
||||
|
||||
The [GNOME Code of Conduct](https://wiki.gnome.org/Foundation/CodeOfConduct) is applicable to this project
|
||||
|
||||
See [`SEEN.md`](./SEEN.md) for a list of articles and posts about Bavarder
|
||||
|
||||
### Translate
|
||||
|
||||
<a href="https://translate.codeberg.org/engage/bavarder/">
|
||||
<img src="https://translate.codeberg.org/widgets/bavarder/-/multi-auto.svg" alt="Translation status" />
|
||||
</a>
|
||||
|
||||
You can translate Bavarder using Codeberg Translate
|
||||
You can translate Bavarder using [Codeberg Translate](https://translate.codeberg.org/engage/bavarder/)
|
||||
|
||||
### Mirrors
|
||||
|
||||
- [GitHub](https://github.com/Bavarder/Bavarder)
|
||||
- [GitLab](https://gitlab.com/Bavarder/Bavarder)
|
||||
- [Codeberg](https://codeberg.org/Bavarder/Bavarder)
|
||||
|
||||
## About the name
|
||||
|
||||
Bavarder is a french word, the definiton of Bavarder is "Parler abondamment de choses sans grande portée" (Talking a lot about things that don't matter) (Larousse) which can be translated by Chit-Chat (informal conversation about matters that are not important). For non-french speakers, Bavarder can be hard to speak, it's prounouced as [bavaʀde]. Hear [here](https://youtu.be/9Qoogwxo5YA)
|
||||
|
||||
## See also
|
||||
|
||||
### [Imaginer : Imagine with AI](https://imaginer.codeberg.page)
|
||||
|
||||
A tool for generating pictures with AI (GNOME app)
|
||||
|
||||
- [GitHub](https://github.com/ImaginerApp/Imaginer)
|
||||
- [Codeberg](https://codeberg.org/Imaginer/Imaginer)
|
||||
|
||||
47
SEEN.md
Normal file
47
SEEN.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# Where Bavarder has been seen
|
||||
|
||||
## Press
|
||||
|
||||
- https://www.omgubuntu.co.uk/2023/05/bavarder-chatgpt-linux-app
|
||||
- https://gnulinux.ch/bavarder-chatgpt-ohne-account
|
||||
- https://infoidevice.fr/bavarder-application-chatgpt-linux/
|
||||
- https://sempreupdate.com.br/como-instalar-o-chat-bavarder-no-linux/
|
||||
- https://www.linuxjournal.com/content/introducing-bavarder-user-friendly-linux-desktop-app-quick-chatgpt-interaction
|
||||
- https://fostips.com/bavarder-open-source-ai-chat-linux/
|
||||
- https://voyagerlive.org/voyager-chatgpt/
|
||||
- https://plus.diolinux.com.br/t/bavarder-um-aplicativo-de-chatgpt-para-linux/53155
|
||||
- https://mindaizer.com/chatgpt-et-linux-presentation-de-bavarder/
|
||||
- https://wiredgorilla.com/introducing-bavarder-a-user-friendly-linux-desktop-app-for-quick-chatgpt-interaction/
|
||||
- https://www.linuxconsultant.org/bavarder-is-a-chatgpt-app-for-linux-desktops/
|
||||
- https://www.linuxlinks.com/machine-learning-linux-bavarder/
|
||||
- https://www.root.cz/clanky/softwarova-sklizen-24-5-2023-organizace-casu-systemem-kanban/
|
||||
- https://www.makeuseof.com/use-chatgpt-on-linux-with-bavarder/
|
||||
|
||||
## Youtube
|
||||
|
||||
- https://youtu.be/dtAi2ejMwrk
|
||||
- https://youtu.be/bXcSEGb8IPE
|
||||
|
||||
## Fediverse
|
||||
|
||||
- https://bassam.social/notice/AVII4g9FPM0sD1bMWW
|
||||
- https://pleroma.destroyallmachines.net/notice/AVHg9tnvMACshmHJL6
|
||||
- https://floss.social/@omgubuntu/110304976747139717
|
||||
- https://mastodon.social/@geekland/110305211402821977
|
||||
- And more
|
||||
|
||||
## Twitter
|
||||
|
||||
- https://twitter.com/omgubuntu/status/1653752319660417024
|
||||
- https://twitter.com/linuxern00b/status/1653754427373936645
|
||||
- https://twitter.com/infoidevice/status/1653996236461023232
|
||||
- https://twitter.com/search?q=bavarder%20linux&src=typed_query&f=top
|
||||
- And more
|
||||
|
||||
## Misc
|
||||
|
||||
- https://alternativeto.net/software/bavarder/
|
||||
- https://linuxphoneapps.org/apps/io.github.bavarder.bavarder/
|
||||
- https://www.linuxquestions.org/questions/showthread.php?s=7c645a66bd3800801946c6f238e2ee25&p=6429159#post6429159
|
||||
- http://lxer.com/module/newswire/view/329486/index.html
|
||||
- https://www.prime-wow.com/?p=1136455
|
||||
@@ -5,7 +5,7 @@
|
||||
xmlns="http://usefulinc.com/ns/doap#">
|
||||
|
||||
<name xml:lang="en">Bavarder</name>
|
||||
<shortdesc xml:lang="en">Chit-chat with GPT</shortdesc>
|
||||
<shortdesc xml:lang="en">Chit-chat with an AI</shortdesc>
|
||||
<homepage rdf:resource="https://github.com/Bavarder/Bavarder" />
|
||||
<bug-database rdf:resource="https://github.com/Bavarder/Bavarder/issues"/>
|
||||
<programming-language>Python</programming-language>
|
||||
|
||||
54
build-aux/flatpak/io.github.Bavarder.Bavarder.Devel.json
Normal file
54
build-aux/flatpak/io.github.Bavarder.Bavarder.Devel.json
Normal file
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"app-id" : "io.github.Bavarder.Bavarder.Devel",
|
||||
"runtime" : "org.gnome.Platform",
|
||||
"runtime-version" : "master",
|
||||
"sdk" : "org.gnome.Sdk",
|
||||
"command" : "bavarder",
|
||||
"finish-args" : [
|
||||
"--share=network",
|
||||
"--share=ipc",
|
||||
"--socket=fallback-x11",
|
||||
"--device=dri",
|
||||
"--socket=wayland",
|
||||
"--filesystem=xdg-config/gtk-4.0"
|
||||
],
|
||||
"cleanup" : [
|
||||
"/include",
|
||||
"/lib/pkgconfig",
|
||||
"/man",
|
||||
"/share/doc",
|
||||
"/share/gtk-doc",
|
||||
"/share/man",
|
||||
"/share/pkgconfig",
|
||||
"*.la",
|
||||
"*.a"
|
||||
],
|
||||
"modules" : [
|
||||
"pypi-dependencies.json",
|
||||
{
|
||||
"name" : "blueprint-compiler",
|
||||
"buildsystem" : "meson",
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "git",
|
||||
"url" : "https://gitlab.gnome.org/jwestman/blueprint-compiler.git",
|
||||
"branch" : "main"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "bavarder",
|
||||
"builddir" : true,
|
||||
"buildsystem" : "meson",
|
||||
"config-opts": [
|
||||
"-Dbuildtype=debug"
|
||||
],
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "dir",
|
||||
"path" : "../../."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"app-id" : "io.github.Bavarder.Bavarder",
|
||||
"runtime" : "org.gnome.Platform",
|
||||
"runtime-version" : "master",
|
||||
"runtime-version" : "44",
|
||||
"sdk" : "org.gnome.Sdk",
|
||||
"command" : "bavarder",
|
||||
"finish-args" : [
|
||||
@@ -9,7 +9,8 @@
|
||||
"--share=ipc",
|
||||
"--socket=fallback-x11",
|
||||
"--device=dri",
|
||||
"--socket=wayland"
|
||||
"--socket=wayland",
|
||||
"--filesystem=xdg-config/gtk-4.0"
|
||||
],
|
||||
"cleanup" : [
|
||||
"/include",
|
||||
@@ -23,6 +24,7 @@
|
||||
"*.a"
|
||||
],
|
||||
"modules" : [
|
||||
|
||||
"pypi-dependencies.json",
|
||||
{
|
||||
"name" : "blueprint-compiler",
|
||||
@@ -30,8 +32,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.1"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -39,6 +41,9 @@
|
||||
"name" : "bavarder",
|
||||
"builddir" : true,
|
||||
"buildsystem" : "meson",
|
||||
"config-opts": [
|
||||
"-Dbuildtype=release"
|
||||
],
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "dir",
|
||||
|
||||
155
build-aux/flatpak/io.github.Bavarder.Bavarder.latest.json
Normal file
155
build-aux/flatpak/io.github.Bavarder.Bavarder.latest.json
Normal file
@@ -0,0 +1,155 @@
|
||||
{
|
||||
"app-id" : "io.github.Bavarder.Bavarder",
|
||||
"runtime" : "org.gnome.Platform",
|
||||
"runtime-version" : "44",
|
||||
"sdk" : "org.gnome.Sdk",
|
||||
"command" : "bavarder",
|
||||
"finish-args" : [
|
||||
"--share=network",
|
||||
"--share=ipc",
|
||||
"--socket=fallback-x11",
|
||||
"--device=dri",
|
||||
"--socket=wayland",
|
||||
"--filesystem=xdg-config/gtk-4.0"
|
||||
],
|
||||
"cleanup" : [
|
||||
"/include",
|
||||
"/lib/pkgconfig",
|
||||
"/man",
|
||||
"/share/doc",
|
||||
"/share/gtk-doc",
|
||||
"/share/man",
|
||||
"/share/pkgconfig",
|
||||
"*.la",
|
||||
"*.a"
|
||||
],
|
||||
"modules" : [
|
||||
"pypi-dependencies.json",
|
||||
{
|
||||
"name" : "libsass",
|
||||
"buildsystem" : "meson",
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "git",
|
||||
"url" : "https://github.com/lazka/libsass.git",
|
||||
"branch" : "meson"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "sassc",
|
||||
"buildsystem" : "meson",
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "git",
|
||||
"url" : "https://github.com/lazka/sassc.git",
|
||||
"branch" : "meson"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "libyaml",
|
||||
"buildsystem": "autotools",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"--libdir=/app/lib"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/yaml/libyaml"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "lmdb",
|
||||
"buildsystem": "simple",
|
||||
"subdir": "libraries/liblmdb",
|
||||
"build-commands": [
|
||||
"make install prefix=/ DESTDIR=/app"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://git.openldap.org/openldap/openldap.git"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "libxmlb",
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"-Dgtkdoc=false"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/hughsie/libxmlb.git",
|
||||
"branch": "main"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "appstream",
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"-Dstemming=false",
|
||||
"-Dapidocs=false"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/ximion/appstream.git/",
|
||||
"branch": "main"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "gtk",
|
||||
"buildsystem": "meson",
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.gnome.org/GNOME/gtk.git",
|
||||
"branch": "main"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "libadwaita",
|
||||
"buildsystem": "meson",
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.gnome.org/GNOME/libadwaita.git",
|
||||
"branch": "main"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "blueprint-compiler",
|
||||
"buildsystem" : "meson",
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "git",
|
||||
"url" : "https://gitlab.gnome.org/jwestman/blueprint-compiler.git",
|
||||
"tag" : "v0.8.1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "bavarder",
|
||||
"builddir" : true,
|
||||
"buildsystem" : "meson",
|
||||
"config-opts": [
|
||||
"-Dbuildtype=release"
|
||||
],
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "dir",
|
||||
"path" : "../../."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,59 +1,435 @@
|
||||
{
|
||||
"name": "python3-baichat-py",
|
||||
"name": "pypi-dependencies",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"baichat-py\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
"build-commands": [],
|
||||
"modules": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/c2/fd/1ff4da09ca29d8933fda3f3514980357e25419ce5e0f689041edb8f17dab/aiohttp-3.8.4.tar.gz",
|
||||
"sha256": "bf2e1a9162c1e441bf805a1fd166e249d574ca04e03b34f97e2928769e91ab5c"
|
||||
"name": "python3-baichat_py",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"baichat_py\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/6f/a9/aad1eb9134fe0574b281ad1308fe029cf4ec1ba49ba0a061a18dd3ced789/baichat_py-0.3.0-py3-none-any.whl",
|
||||
"sha256": "aa641939844ea364dcee0c4f40cdca2c42b7d6ed5f0cb360c29f7e35300259d0"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/2b/a8/050ab4f0c3d4c1b8aaa805f70e26e84d0e27004907c5b8ecc1d31815f92a/cffi-1.15.1.tar.gz",
|
||||
"sha256": "d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/d1/6f/5d591a5628423af4598e2d6ff0861fcbc554cc259590fac9f97d9c984611/curl_cffi-0.5.6-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
|
||||
"sha256": "7a9df9fabff038f1ac9e7e6f32b5edb5d8df8c2eec64f53f513de1766c17ffdb"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/8d/f3/28e7af53e09c9218140901dc23fdd75cdaf3e64d1d06f61801cf2a841bcb/fake_useragent-1.1.3-py3-none-any.whl",
|
||||
"sha256": "695d3b1bf7d11d04ab0f971fb73b0ca8de98b78bbadfbc8bacbc9a48423f7531"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/62/d5/5f610ebe421e85889f2e55e33b7f9a6795bd982198517d912eb1c76e1a53/pycparser-2.21-py2.py3-none-any.whl",
|
||||
"sha256": "8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/76/ac/a7305707cb852b7e16ff80eaf5692309bde30e2b1100a1fcacdc8f731d97/aiosignal-1.3.1-py3-none-any.whl",
|
||||
"sha256": "f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"
|
||||
"name": "python3-googlebardpy",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"googlebardpy\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/9d/19/59961b522e6757f0c9097e4493fa906031b95b3ebe9360b2c3083561a6b4/certifi-2023.5.7-py3-none-any.whl",
|
||||
"sha256": "c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/ff/d7/8d757f8bd45be079d76309248845a04f09619a7b17d6dfc8c9ff6433cac2/charset-normalizer-3.1.0.tar.gz",
|
||||
"sha256": "34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/a8/40/30a6440d5ceec49fc268710705b89e654fc854d9b8754850228deaf64892/googlebardpy-0.1.0-py3-none-any.whl",
|
||||
"sha256": "12e65fdfe99392cbb5e8f93572340b757cd9d7aa83391316eaea3a1527995ef2"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl",
|
||||
"sha256": "90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl",
|
||||
"sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/4b/1d/f8383ef593114755429c307449e7717b87044b3bcd5f7860b89b1f759e34/urllib3-2.0.2-py3-none-any.whl",
|
||||
"sha256": "d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/d6/c1/8991e7c5385b897b8c020cdaad718c5b087a6626d1d11a23e1ea87e325a7/async_timeout-4.0.2-py3-none-any.whl",
|
||||
"sha256": "8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"
|
||||
"name": "python3-openai",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"openai\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/c2/fd/1ff4da09ca29d8933fda3f3514980357e25419ce5e0f689041edb8f17dab/aiohttp-3.8.4.tar.gz",
|
||||
"sha256": "bf2e1a9162c1e441bf805a1fd166e249d574ca04e03b34f97e2928769e91ab5c"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/76/ac/a7305707cb852b7e16ff80eaf5692309bde30e2b1100a1fcacdc8f731d97/aiosignal-1.3.1-py3-none-any.whl",
|
||||
"sha256": "f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/d6/c1/8991e7c5385b897b8c020cdaad718c5b087a6626d1d11a23e1ea87e325a7/async_timeout-4.0.2-py3-none-any.whl",
|
||||
"sha256": "8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/f0/eb/fcb708c7bf5056045e9e98f62b93bd7467eb718b0202e7698eb11d66416c/attrs-23.1.0-py3-none-any.whl",
|
||||
"sha256": "1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/9d/19/59961b522e6757f0c9097e4493fa906031b95b3ebe9360b2c3083561a6b4/certifi-2023.5.7-py3-none-any.whl",
|
||||
"sha256": "c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/ff/d7/8d757f8bd45be079d76309248845a04f09619a7b17d6dfc8c9ff6433cac2/charset-normalizer-3.1.0.tar.gz",
|
||||
"sha256": "34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/e9/10/d629476346112b85c912527b9080944fd2c39a816c2225413dbc0bb6fcc0/frozenlist-1.3.3.tar.gz",
|
||||
"sha256": "58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl",
|
||||
"sha256": "90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/4a/15/bd620f7a6eb9aa5112c4ef93e7031bcd071e0611763d8e17706ef8ba65e0/multidict-6.0.4.tar.gz",
|
||||
"sha256": "3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/35/c3/de7124146c3edbe8fd8163028d9ac998f2fd5dcda9225655f1d4ed684bbc/openai-0.27.7-py3-none-any.whl",
|
||||
"sha256": "788fb7fa85bf7caac6c1ed7eea5984254a1bdaf09ef485acf0e5718c8b2dc25a"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl",
|
||||
"sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/e6/02/a2cff6306177ae6bc73bc0665065de51dfb3b9db7373e122e2735faf0d97/tqdm-4.65.0-py3-none-any.whl",
|
||||
"sha256": "c4f53a17fe37e132815abceec022631be8ffe1b9381c2e6e30aa70edc99e9671"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/4b/1d/f8383ef593114755429c307449e7717b87044b3bcd5f7860b89b1f759e34/urllib3-2.0.2-py3-none-any.whl",
|
||||
"sha256": "d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/5f/3f/04b3c5e57844fb9c034b09c5cb6d2b43de5d64a093c30529fd233e16cf09/yarl-1.9.2.tar.gz",
|
||||
"sha256": "04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/f0/eb/fcb708c7bf5056045e9e98f62b93bd7467eb718b0202e7698eb11d66416c/attrs-23.1.0-py3-none-any.whl",
|
||||
"sha256": "1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"
|
||||
"name": "python3-pymdown-extensions",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pymdown-extensions\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/36/2b/61d51a2c4f25ef062ae3f74576b01638bebad5e045f747ff12643df63844/PyYAML-6.0.tar.gz",
|
||||
"sha256": "68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/a2/17/607fc71d709c0df9cca39ed57ed6f8b1cb77863073004c7def8a02a45fe2/pymdown_extensions-10.0.1-py3-none-any.whl",
|
||||
"sha256": "ae66d84013c5d027ce055693e09a4628b67e9dec5bce05727e45b0918e36f274"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/f5/ba/2b3ff0140b714149b4ee0c3af857f5e9b5fecd0d877370ea89351c21f433/baichat_py-0.2.1-py3-none-any.whl",
|
||||
"sha256": "af5e83d813b93b249009da35fbb6cfcea8c65ee36fa0102e3ed7340d90804391"
|
||||
"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": [
|
||||
{
|
||||
"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/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl",
|
||||
"sha256": "90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl",
|
||||
"sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/4b/1d/f8383ef593114755429c307449e7717b87044b3bcd5f7860b89b1f759e34/urllib3-2.0.2-py3-none-any.whl",
|
||||
"sha256": "d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/ff/d7/8d757f8bd45be079d76309248845a04f09619a7b17d6dfc8c9ff6433cac2/charset-normalizer-3.1.0.tar.gz",
|
||||
"sha256": "34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"
|
||||
"name": "python3-text-generation",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"text-generation\" --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/c2/fd/1ff4da09ca29d8933fda3f3514980357e25419ce5e0f689041edb8f17dab/aiohttp-3.8.4.tar.gz",
|
||||
"sha256": "bf2e1a9162c1e441bf805a1fd166e249d574ca04e03b34f97e2928769e91ab5c"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/76/ac/a7305707cb852b7e16ff80eaf5692309bde30e2b1100a1fcacdc8f731d97/aiosignal-1.3.1-py3-none-any.whl",
|
||||
"sha256": "f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/d6/c1/8991e7c5385b897b8c020cdaad718c5b087a6626d1d11a23e1ea87e325a7/async_timeout-4.0.2-py3-none-any.whl",
|
||||
"sha256": "8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/f0/eb/fcb708c7bf5056045e9e98f62b93bd7467eb718b0202e7698eb11d66416c/attrs-23.1.0-py3-none-any.whl",
|
||||
"sha256": "1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/9d/19/59961b522e6757f0c9097e4493fa906031b95b3ebe9360b2c3083561a6b4/certifi-2023.5.7-py3-none-any.whl",
|
||||
"sha256": "c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/ff/d7/8d757f8bd45be079d76309248845a04f09619a7b17d6dfc8c9ff6433cac2/charset-normalizer-3.1.0.tar.gz",
|
||||
"sha256": "34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/ad/73/b094a662ae05cdc4ec95bc54e434e307986a5de5960166b8161b7c1373ee/filelock-3.12.0-py3-none-any.whl",
|
||||
"sha256": "ad98852315c2ab702aeb628412cbf7e95b7ce8c3bf9565670b4eaecf1db370a9"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/e9/10/d629476346112b85c912527b9080944fd2c39a816c2225413dbc0bb6fcc0/frozenlist-1.3.3.tar.gz",
|
||||
"sha256": "58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/ec/4e/397b234a369df06ec782666fcdf9791d125ca6de48729814b381af8c6c03/fsspec-2023.5.0-py3-none-any.whl",
|
||||
"sha256": "51a4ad01a5bb66fcc58036e288c0d53d3975a0df2a5dc59a93b59bade0391f2a"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/58/34/c57b951aecd0248845932c1cfc15721237c50e463f26b0536673bcb76f4f/huggingface_hub-0.14.1-py3-none-any.whl",
|
||||
"sha256": "9fc619170d800ff3793ad37c9757c255c8783051e1b5b00501205eb43ccc4f27"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl",
|
||||
"sha256": "90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/4a/15/bd620f7a6eb9aa5112c4ef93e7031bcd071e0611763d8e17706ef8ba65e0/multidict-6.0.4.tar.gz",
|
||||
"sha256": "3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/ab/c3/57f0601a2d4fe15de7a553c00adbc901425661bf048f2a22dfc500caf121/packaging-23.1-py3-none-any.whl",
|
||||
"sha256": "994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/23/65/2aa13873e9e0084ecaec00fbe6c6096b65e1ab99ba66bdbf7e4e7c4cc915/pydantic-1.10.8.tar.gz",
|
||||
"sha256": "1410275520dfa70effadf4c21811d755e7ef9bb1f1d077a21958153a92c8d9ca"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl",
|
||||
"sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/83/14/643c55e7cf845db3c1ac96cd624511d56c50386f3760448e7dc2ff58f1c1/text_generation-0.5.2-py3-none-any.whl",
|
||||
"sha256": "110dd5b05f8ec9cef00f3977001f1ce0464b133b14d4939b15260b0e863c942d"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/e6/02/a2cff6306177ae6bc73bc0665065de51dfb3b9db7373e122e2735faf0d97/tqdm-4.65.0-py3-none-any.whl",
|
||||
"sha256": "c4f53a17fe37e132815abceec022631be8ffe1b9381c2e6e30aa70edc99e9671"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/38/60/300ad6f93adca578bf05d5f6cd1d854b7d140bebe2f9829561aa9977d9f3/typing_extensions-4.6.2-py3-none-any.whl",
|
||||
"sha256": "3a8b36f13dd5fdc5d1b16fe317f5668545de77fa0b8e02006381fd49d731ab98"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/4b/1d/f8383ef593114755429c307449e7717b87044b3bcd5f7860b89b1f759e34/urllib3-2.0.2-py3-none-any.whl",
|
||||
"sha256": "d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/5f/3f/04b3c5e57844fb9c034b09c5cb6d2b43de5d64a093c30529fd233e16cf09/yarl-1.9.2.tar.gz",
|
||||
"sha256": "04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/e9/10/d629476346112b85c912527b9080944fd2c39a816c2225413dbc0bb6fcc0/frozenlist-1.3.3.tar.gz",
|
||||
"sha256": "58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl",
|
||||
"sha256": "90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/4a/15/bd620f7a6eb9aa5112c4ef93e7031bcd071e0611763d8e17706ef8ba65e0/multidict-6.0.4.tar.gz",
|
||||
"sha256": "3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/5f/3f/04b3c5e57844fb9c034b09c5cb6d2b43de5d64a093c30529fd233e16cf09/yarl-1.9.2.tar.gz",
|
||||
"sha256": "04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571"
|
||||
"name": "python3-gradio_client",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"gradio_client\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/36/2b/61d51a2c4f25ef062ae3f74576b01638bebad5e045f747ff12643df63844/PyYAML-6.0.tar.gz",
|
||||
"sha256": "68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/68/fe/7ce1926952c8a403b35029e194555558514b365ad77d75125f521a2bec62/anyio-3.7.0-py3-none-any.whl",
|
||||
"sha256": "eddca883c4175f14df8aedce21054bfca3adb70ffe76a9f607aef9d7fa2ea7f0"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/9d/19/59961b522e6757f0c9097e4493fa906031b95b3ebe9360b2c3083561a6b4/certifi-2023.5.7-py3-none-any.whl",
|
||||
"sha256": "c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/ff/d7/8d757f8bd45be079d76309248845a04f09619a7b17d6dfc8c9ff6433cac2/charset-normalizer-3.1.0.tar.gz",
|
||||
"sha256": "34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/61/97/17ed81b7a8d24d8f69b62c0db37abbd8c0042d4b3fc429c73dab986e7483/exceptiongroup-1.1.1-py3-none-any.whl",
|
||||
"sha256": "232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/ad/73/b094a662ae05cdc4ec95bc54e434e307986a5de5960166b8161b7c1373ee/filelock-3.12.0-py3-none-any.whl",
|
||||
"sha256": "ad98852315c2ab702aeb628412cbf7e95b7ce8c3bf9565670b4eaecf1db370a9"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/ec/4e/397b234a369df06ec782666fcdf9791d125ca6de48729814b381af8c6c03/fsspec-2023.5.0-py3-none-any.whl",
|
||||
"sha256": "51a4ad01a5bb66fcc58036e288c0d53d3975a0df2a5dc59a93b59bade0391f2a"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/86/ed/3b8b8df6c66f5fd8ab3e458e2086502d7208557e9bbc31592d4c732cf1d3/gradio_client-0.2.5-py3-none-any.whl",
|
||||
"sha256": "922a5188c93797adce023b4caa655318b9c09834095d31763443c1e7a707e301"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl",
|
||||
"sha256": "e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/4d/32/b908f673ccef12b6425b848a541264ee3d95f5f571f18f6ab0d8c311442e/httpcore-0.17.2-py3-none-any.whl",
|
||||
"sha256": "5581b9c12379c4288fe70f43c710d16060c10080617001e6b22a3b6dbcbefd36"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/ec/91/e41f64f03d2a13aee7e8c819d82ee3aa7cdc484d18c0ae859742597d5aa0/httpx-0.24.1-py3-none-any.whl",
|
||||
"sha256": "06781eb9ac53cde990577af654bd990a4949de37a28bdb4a230d434f3a30b9bd"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/58/34/c57b951aecd0248845932c1cfc15721237c50e463f26b0536673bcb76f4f/huggingface_hub-0.14.1-py3-none-any.whl",
|
||||
"sha256": "9fc619170d800ff3793ad37c9757c255c8783051e1b5b00501205eb43ccc4f27"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl",
|
||||
"sha256": "90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/ab/c3/57f0601a2d4fe15de7a553c00adbc901425661bf048f2a22dfc500caf121/packaging-23.1-py3-none-any.whl",
|
||||
"sha256": "994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl",
|
||||
"sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/c3/a0/5dba8ed157b0136607c7f2151db695885606968d1fae123dc3391e0cfdbf/sniffio-1.3.0-py3-none-any.whl",
|
||||
"sha256": "eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/e6/02/a2cff6306177ae6bc73bc0665065de51dfb3b9db7373e122e2735faf0d97/tqdm-4.65.0-py3-none-any.whl",
|
||||
"sha256": "c4f53a17fe37e132815abceec022631be8ffe1b9381c2e6e30aa70edc99e9671"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/38/60/300ad6f93adca578bf05d5f6cd1d854b7d140bebe2f9829561aa9977d9f3/typing_extensions-4.6.2-py3-none-any.whl",
|
||||
"sha256": "3a8b36f13dd5fdc5d1b16fe317f5668545de77fa0b8e02006381fd49d731ab98"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/4b/1d/f8383ef593114755429c307449e7717b87044b3bcd5f7860b89b1f759e34/urllib3-2.0.2-py3-none-any.whl",
|
||||
"sha256": "d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/d8/3b/2ed38e52eed4cf277f9df5f0463a99199a04d9e29c9e227cfafa57bd3993/websockets-11.0.3.tar.gz",
|
||||
"sha256": "88fc51d9a26b10fc331be344f1781224a375b78488fc343620184e95a4b27016"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,11 +2,13 @@
|
||||
<gresources>
|
||||
<gresource prefix="/io/github/Bavarder/Bavarder">
|
||||
<file preprocess="xml-stripblanks">ui/window.ui</file>
|
||||
<file preprocess="xml-stripblanks">ui/message_bubble.ui</file>
|
||||
<file preprocess="xml-stripblanks" alias="gtk/help-overlay.ui">ui/help-overlay.ui</file>
|
||||
<file preprocess="xml-stripblanks">ui/preferences.ui</file>
|
||||
<file>style.css</file>
|
||||
</gresource>
|
||||
<gresource prefix="/io/github/Bavarder/Bavarder/icons/scalable/actions/">
|
||||
<file preprocess="xml-stripblanks" alias="paper-plane-symbolic.svg">icons/scalable/actions/paper-plane-symbolic.svg</file>
|
||||
<file preprocess="xml-stripblanks" alias="x-circular-symbolic.svg">icons/scalable/actions/x-circular-symbolic.svg</file>
|
||||
</gresource>
|
||||
</gresources>
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
application_id = 'io.github.Bavarder.Bavarder'
|
||||
|
||||
scalable_dir = join_paths('hicolor', 'scalable', 'apps')
|
||||
install_data(
|
||||
join_paths(scalable_dir, ('@0@.svg').format(application_id)),
|
||||
join_paths(scalable_dir, ('@0@.svg').format(APPLICATION_ID)),
|
||||
install_dir: join_paths(get_option('datadir'), 'icons', scalable_dir)
|
||||
)
|
||||
|
||||
symbolic_dir = join_paths('hicolor', 'symbolic', 'apps')
|
||||
install_data(
|
||||
join_paths(symbolic_dir, ('@0@-symbolic.svg').format(application_id)),
|
||||
install_dir: join_paths(get_option('datadir'), 'icons', symbolic_dir)
|
||||
join_paths(symbolic_dir, ('@0@-symbolic.svg').format(PROJECT_RDNN_NAME)),
|
||||
install_dir: join_paths(get_option('datadir'), 'icons', symbolic_dir),
|
||||
rename: '@0@-symbolic.svg'.format(APPLICATION_ID)
|
||||
)
|
||||
|
||||
4
data/icons/scalable/actions/x-circular-symbolic.svg
Normal file
4
data/icons/scalable/actions/x-circular-symbolic.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 7.96875 1 c -3.851562 0 -6.96875 3.117188 -6.96875 6.96875 s 3.117188 6.96875 6.96875 6.96875 s 6.96875 -3.117188 6.96875 -6.96875 s -3.117188 -6.96875 -6.96875 -6.96875 z m -3 3.96875 h 1 h 0.03125 c 0.253906 0.011719 0.511719 0.128906 0.6875 0.3125 l 1.28125 1.28125 l 1.3125 -1.28125 c 0.265625 -0.230469 0.445312 -0.304688 0.6875 -0.3125 h 1 v 1 c 0 0.285156 -0.035156 0.550781 -0.25 0.75 l -1.28125 1.28125 l 1.25 1.25 c 0.1875 0.1875 0.28125 0.453125 0.28125 0.71875 v 1 h -1 c -0.265625 0 -0.53125 -0.09375 -0.71875 -0.28125 l -1.28125 -1.28125 l -1.28125 1.28125 c -0.1875 0.1875 -0.453125 0.28125 -0.71875 0.28125 h -1 v -1 c 0 -0.265625 0.09375 -0.53125 0.28125 -0.71875 l 1.28125 -1.25 l -1.28125 -1.28125 c -0.210938 -0.195312 -0.304688 -0.46875 -0.28125 -0.75 z m 0 0" fill="#2e3436"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 948 B |
@@ -1,69 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>io.github.Bavarder.Bavarder.desktop</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-3.0-or-later</project_license>
|
||||
<name>Bavarder</name>
|
||||
<summary>Chit-chat with GPT</summary>
|
||||
<developer_name>0xMRTT</developer_name>
|
||||
<content_rating type="oars-1.1"/>
|
||||
<description>
|
||||
<p>Chit-chat with GPT</p>
|
||||
</description>
|
||||
<screenshots>
|
||||
<screenshot width="472" height="622">
|
||||
<caption>Screenshot of Main UI</caption>
|
||||
<image type="source">https://raw.githubusercontent.com/Bavarder/Bavarder/main/data/screenshots/quantum-computing.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<url type="bugtracker">https://github.com/Bavarder/Bavarder/issues</url>
|
||||
<url type="translate">https://translate.codeberg.org/engage/bavarder/</url>
|
||||
<url type="help">https://github.com/Bavarder/Bavarder/issues</url>
|
||||
<url type="homepage">https://github.com/Bavarder/Bavarder</url>
|
||||
|
||||
<kudos>
|
||||
<kudo>HiDpiIcon</kudo>
|
||||
<kudo>ModernToolkit</kudo>
|
||||
</kudos>
|
||||
|
||||
<requires>
|
||||
<display_length compare="ge">360</display_length>
|
||||
</requires>
|
||||
|
||||
<categories>
|
||||
<category>Utility</category>
|
||||
</categories>
|
||||
|
||||
<recommends>
|
||||
<control>keyboard</control>
|
||||
<control>pointing</control>
|
||||
<control>touch</control>
|
||||
</recommends>
|
||||
|
||||
<keywords>
|
||||
<keyword>Bavarder</keyword>
|
||||
<keyword>Chat</keyword>
|
||||
<keyword>GPT</keyword>
|
||||
<keyword>ChatGPT</keyword>
|
||||
<keyword>AI</keyword>
|
||||
<keyword>OpenAI</keyword>
|
||||
</keywords>
|
||||
|
||||
<releases>
|
||||
<release version="0.1.2" date="2023-4-27" type="stable">
|
||||
<description>
|
||||
<p>Fix appdata not having release tags</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.1.1" date="2023-4-27" type="stable">
|
||||
<description>
|
||||
<p>Change app ID to io.github.Bavarder.Bavarder</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.1.0" date="2023-4-27" type="stable">
|
||||
<description>
|
||||
<p>First release of Bavarder</p>
|
||||
</description>
|
||||
</release>
|
||||
</releases>
|
||||
</component>
|
||||
179
data/io.github.Bavarder.Bavarder.appdata.xml.in.in
Normal file
179
data/io.github.Bavarder.Bavarder.appdata.xml.in.in
Normal file
@@ -0,0 +1,179 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>@APP_ID@</id>
|
||||
<name>Bavarder</name>
|
||||
<summary>Chit-chat with an AI</summary>
|
||||
<developer_name>0xMRTT</developer_name>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-3.0-or-later</project_license>
|
||||
<launchable type="desktop-id">@APP_ID@.desktop</launchable>
|
||||
<content_rating type="oars-1.1"/>
|
||||
|
||||
<description>
|
||||
<p>Chit-chat with an AI</p>
|
||||
</description>
|
||||
|
||||
<screenshots>
|
||||
<screenshot width="472" height="622">
|
||||
<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="homepage">@PROJECT_URL@</url>
|
||||
<url type="bugtracker">@BUGTRACKER_URL@</url>
|
||||
<url type="help">@HELP_URL@</url>
|
||||
<url type="translate">@TRANSLATE_URL@</url>
|
||||
|
||||
<kudos>
|
||||
<kudo>HiDpiIcon</kudo>
|
||||
<kudo>ModernToolkit</kudo>
|
||||
</kudos>
|
||||
|
||||
<custom>
|
||||
<value key="Purism::form_factor">workstation</value>
|
||||
<value key="Purism::form_factor">mobile</value>
|
||||
</custom>
|
||||
|
||||
<requires>
|
||||
<display_length compare="ge">360</display_length>
|
||||
</requires>
|
||||
|
||||
<categories>
|
||||
<category>Utility</category>
|
||||
</categories>
|
||||
|
||||
<recommends>
|
||||
<control>keyboard</control>
|
||||
<control>pointing</control>
|
||||
<control>touch</control>
|
||||
</recommends>
|
||||
|
||||
<keywords>
|
||||
<keyword>Bavarder</keyword>
|
||||
<keyword>Chat</keyword>
|
||||
<keyword>GPT</keyword>
|
||||
<keyword>ChatGPT</keyword>
|
||||
<keyword>AI</keyword>
|
||||
<keyword>OpenAI</keyword>
|
||||
<keyword>Open Assistant</keyword>
|
||||
<keyword>HuggingFace</keyword>
|
||||
</keywords>
|
||||
|
||||
<releases>
|
||||
<release version="0.2.4" date="2023-6-16" type="stable">
|
||||
<description>
|
||||
<p>New UI</p>
|
||||
<p>Faster BaiChat</p>
|
||||
<p>Fix some bugs</p>
|
||||
<p>Update translations</p>
|
||||
<p>Add better error handling</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.2.3" date="2023-5-21" type="stable">
|
||||
<description>
|
||||
<p>Add the ability to use local model</p>
|
||||
<p>Add the ability to use custom model in OpenAI</p>
|
||||
<p>Make loading mechanism faster</p>
|
||||
<p>Fix some bugs</p>
|
||||
<p>Update translations</p>
|
||||
<p>Add CI</p>
|
||||
<p>Add support for launching Bavarder offline</p>
|
||||
<p>Update Blueprint to v0.8.0</p>
|
||||
<p>Add better error handling</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.2.2" date="2023-5-16" type="stable">
|
||||
<description>
|
||||
<p>Allow fetching news about providers and check if there is some issues about them</p>
|
||||
<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>
|
||||
<p>Allow disabling the new render method </p>
|
||||
<p>Add description of providers</p>
|
||||
<p>Add help for getting a token for providers</p>
|
||||
<p>New website including some help for providers</p>
|
||||
<p>Fix an issue which caused the app to spin forever</p>
|
||||
<p>Remove Quit entry in the app menu</p>
|
||||
<p>Fix keyboard shortcuts</p>
|
||||
<p>Fix some bugs</p>
|
||||
<p>Update translations</p>
|
||||
<p>Add better error handling</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.1.7" date="2023-5-7" type="stable">
|
||||
<description>
|
||||
<p>Fix an issue which caused the app to crash randomly</p>
|
||||
<p>Add the ability to enable/disable providers from the preferences</p>
|
||||
<p>Add more keyboard shortcuts</p>
|
||||
<p>Update translations</p>
|
||||
<p>Add better error handling</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.1.6" date="2023-5-6" type="stable">
|
||||
<description>
|
||||
<p>Fix an issue which caused the app to crash randomly</p>
|
||||
<p>Add save/load of settings</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.1.5" date="2023-5-4" type="stable">
|
||||
<description>
|
||||
<p>Fix HuggingChat (again)</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.1.4" date="2023-5-4" type="stable">
|
||||
<description>
|
||||
<p>Fix HuggingChat</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.1.3" date="2023-5-4" type="stable">
|
||||
<description>
|
||||
<p>Add multiple providers support</p>
|
||||
<p>Make HuggingChat the default provider</p>
|
||||
<p>Fix some bugs</p>
|
||||
<p>Focus on the response entry</p>
|
||||
<p>Update translations</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.1.2" date="2023-4-27" type="stable">
|
||||
<description>
|
||||
<p>Fix appdata not having release tags</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.1.1" date="2023-4-27" type="stable">
|
||||
<description>
|
||||
<p>Change app ID to io.github.Bavarder.Bavarder</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.1.0" date="2023-4-27" type="stable">
|
||||
<description>
|
||||
<p>First release of Bavarder</p>
|
||||
</description>
|
||||
</release>
|
||||
</releases>
|
||||
</component>
|
||||
@@ -1,7 +1,7 @@
|
||||
[Desktop Entry]
|
||||
Name=Bavarder
|
||||
Exec=bavarder
|
||||
Icon=io.github.Bavarder.Bavarder
|
||||
Icon=@APP_ID@
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=GTK;
|
||||
@@ -1,20 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<schemalist gettext-domain="bavarder">
|
||||
<schema id="io.github.Bavarder.Bavarder" path="/io/github/Bavarder/Bavarder/">
|
||||
<key name="width" type="i">
|
||||
<default>350</default>
|
||||
</key>
|
||||
<key name="height" type="i">
|
||||
<default>500</default>
|
||||
</key>
|
||||
<key name="is-maximized" type="b">
|
||||
<default>false</default>
|
||||
</key>
|
||||
<key name="is-fullscreen" type="b">
|
||||
<default>false</default>
|
||||
</key>
|
||||
<key name="clear-after-send" type="b">
|
||||
<default>false</default>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
||||
38
data/io.github.Bavarder.Bavarder.gschema.xml.in
Normal file
38
data/io.github.Bavarder.Bavarder.gschema.xml.in
Normal file
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<schemalist gettext-domain="bavarder">
|
||||
<schema id="@APP_ID@" path="/io/github/Bavarder/Bavarder/">
|
||||
<key name="width" type="i">
|
||||
<default>350</default>
|
||||
</key>
|
||||
<key name="height" type="i">
|
||||
<default>500</default>
|
||||
</key>
|
||||
<key name="is-maximized" type="b">
|
||||
<default>false</default>
|
||||
</key>
|
||||
<key name="is-fullscreen" type="b">
|
||||
<default>false</default>
|
||||
</key>
|
||||
<key name="clear-after-send" type="b">
|
||||
<default>false</default>
|
||||
</key>
|
||||
<key name="enabled-providers" type="as">
|
||||
<default>["baichat", "hfopenassistantsft1pythia12b", "catgpt", "openaigpt35turbo"]</default>
|
||||
</key>
|
||||
<key name="latest-provider" type="s">
|
||||
<default>'hfopenassistantsft1pythia12b'</default>
|
||||
</key>
|
||||
<key name="providers-data" type="a{ss}">
|
||||
<default>{}</default>
|
||||
</key>
|
||||
<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>
|
||||
@@ -3,51 +3,73 @@ pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.proje
|
||||
|
||||
subdir('ui')
|
||||
|
||||
desktop_file = i18n.merge_file(
|
||||
input: configure_file(
|
||||
input: '@0@.desktop.in.in'.format(PROJECT_RDNN_NAME),
|
||||
output: '@BASENAME@',
|
||||
configuration: conf
|
||||
),
|
||||
output: '@0@.desktop'.format(APPLICATION_ID),
|
||||
type: 'desktop',
|
||||
po_dir: '../po',
|
||||
install: true,
|
||||
install_dir: join_paths(get_option('datadir'), 'applications')
|
||||
)
|
||||
|
||||
desktop_utils = find_program('desktop-file-validate', required: false)
|
||||
if desktop_utils.found()
|
||||
test('Validate desktop file', desktop_utils,
|
||||
args: [desktop_file.full_path()]
|
||||
)
|
||||
endif
|
||||
|
||||
gnome.compile_resources('bavarder',
|
||||
'bavarder.gresource.xml',
|
||||
gresource_bundle: true,
|
||||
source_dir: meson.current_build_dir(),
|
||||
install: true,
|
||||
install_dir: pkgdatadir,
|
||||
dependencies: blueprints,
|
||||
install_dir: PKGDATA_DIR,
|
||||
dependencies: blueprints
|
||||
)
|
||||
|
||||
desktop_file = i18n.merge_file(
|
||||
input: 'io.github.Bavarder.Bavarder.desktop.in',
|
||||
output: 'io.github.Bavarder.Bavarder.desktop',
|
||||
type: 'desktop',
|
||||
po_dir: '../po',
|
||||
install: true,
|
||||
install_dir: join_paths(get_option('datadir'), 'applications')
|
||||
)
|
||||
|
||||
desktop_utils = find_program('desktop-file-validate', required: false)
|
||||
if desktop_utils.found()
|
||||
test('Validate desktop file', desktop_utils, args: [desktop_file])
|
||||
endif
|
||||
|
||||
appstream_file = i18n.merge_file(
|
||||
input: 'io.github.Bavarder.Bavarder.appdata.xml.in',
|
||||
output: 'io.github.Bavarder.Bavarder.appdata.xml',
|
||||
po_dir: '../po',
|
||||
install: true,
|
||||
input: configure_file(
|
||||
input: '@0@.appdata.xml.in.in'.format(PROJECT_RDNN_NAME),
|
||||
output: '@BASENAME@',
|
||||
configuration: configuration_data({
|
||||
'APP_ID': APPLICATION_ID,
|
||||
'PROJECT_URL': PROJECT_URL,
|
||||
'BUGTRACKER_URL': BUGTRACKER_URL,
|
||||
'HELP_URL': HELP_URL,
|
||||
'TRANSLATE_URL': TRANSLATE_URL
|
||||
})
|
||||
),
|
||||
output: '@0@.appdata.xml'.format(APPLICATION_ID),
|
||||
po_dir: '../po',
|
||||
install: true,
|
||||
install_dir: join_paths(get_option('datadir'), 'appdata')
|
||||
)
|
||||
|
||||
appstream_util = find_program('appstream-util', required: false)
|
||||
if appstream_util.found()
|
||||
test('Validate appstream file', appstream_util, args: ['validate', appstream_file])
|
||||
test('Validate appstream file', appstream_util,
|
||||
args: ['validate', appstream_file.full_path()]
|
||||
)
|
||||
endif
|
||||
|
||||
install_data('io.github.Bavarder.Bavarder.gschema.xml',
|
||||
configure_file(
|
||||
input: '@0@.gschema.xml.in'.format(PROJECT_RDNN_NAME),
|
||||
output: '@0@.gschema.xml'.format(APPLICATION_ID),
|
||||
configuration: conf,
|
||||
install: true,
|
||||
install_dir: join_paths(get_option('datadir'), 'glib-2.0/schemas')
|
||||
)
|
||||
|
||||
compile_schemas = find_program('glib-compile-schemas', required: false)
|
||||
if compile_schemas.found()
|
||||
test('Validate schema file',
|
||||
compile_schemas,
|
||||
args: ['--strict', '--dry-run', meson.current_source_dir()])
|
||||
test('Validate schema file', compile_schemas,
|
||||
args: ['--strict', '--dry-run', meson.current_source_dir()]
|
||||
)
|
||||
endif
|
||||
|
||||
subdir('icons')
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 39 KiB |
BIN
data/screenshots/preferences.png
Normal file
BIN
data/screenshots/preferences.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 38 KiB |
BIN
data/screenshots/preview.png
Normal file
BIN
data/screenshots/preview.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 32 KiB |
@@ -13,3 +13,32 @@
|
||||
box-shadow: inset 0 -1px alpha(@shade_color, .75);
|
||||
background: linear-gradient(to top, alpha(@shade_color, .75), transparent 4px);
|
||||
}
|
||||
|
||||
|
||||
/* Global */
|
||||
|
||||
scrolledwindow > viewport > clamp > box {
|
||||
margin: 42px 12px;
|
||||
border-spacing: 24px;
|
||||
}
|
||||
|
||||
entry:disabled {
|
||||
border-color: transparent;
|
||||
color: @view_fg_color;
|
||||
background: none;
|
||||
}
|
||||
|
||||
entry textview {
|
||||
color: @view_fg_color;
|
||||
background: none;
|
||||
}
|
||||
|
||||
entry text {
|
||||
color: @view_fg_color;
|
||||
background: none;
|
||||
}
|
||||
|
||||
|
||||
entry .inline-pill {
|
||||
margin-bottom: -0.5em;
|
||||
}
|
||||
|
||||
49
data/ui/help-overlay.blp
Normal file
49
data/ui/help-overlay.blp
Normal file
@@ -0,0 +1,49 @@
|
||||
using Gtk 4.0;
|
||||
|
||||
ShortcutsWindow help_overlay {
|
||||
modal: true;
|
||||
|
||||
ShortcutsSection {
|
||||
section-name: "shortcuts";
|
||||
max-height: 10;
|
||||
|
||||
ShortcutsGroup {
|
||||
title: C_("shortcut window", "General");
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Ask");
|
||||
action-name: "app.ask";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Show Shortcuts");
|
||||
action-name: "win.show-help-overlay";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Preferences");
|
||||
action-name: "app.preferences";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Quit");
|
||||
action-name: "app.quit";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Close all windows");
|
||||
action-name: "app.quit_all";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Copy response");
|
||||
action-name: "app.copy_bot";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Clear");
|
||||
action-name: "app.clear";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<object class="GtkShortcutsWindow" id="help_overlay">
|
||||
<property name="modal">True</property>
|
||||
<child>
|
||||
<object class="GtkShortcutsSection">
|
||||
<property name="section-name">shortcuts</property>
|
||||
<property name="max-height">10</property>
|
||||
<child>
|
||||
<object class="GtkShortcutsGroup">
|
||||
<property name="title" translatable="yes" context="shortcut window">General</property>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Show Shortcuts</property>
|
||||
<property name="action-name">win.show-help-overlay</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Ask</property>
|
||||
<property name="action-name">app.ask</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Quit</property>
|
||||
<property name="action-name">app.quit</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
@@ -1,6 +1,8 @@
|
||||
blueprints = custom_target('blueprints',
|
||||
input: files(
|
||||
'help-overlay.blp',
|
||||
'preferences.blp',
|
||||
'message_bubble.blp',
|
||||
'window.blp',
|
||||
),
|
||||
output: '.',
|
||||
|
||||
20
data/ui/message_bubble.blp
Normal file
20
data/ui/message_bubble.blp
Normal file
@@ -0,0 +1,20 @@
|
||||
using Gtk 4.0;
|
||||
using Adw 1;
|
||||
|
||||
template $MessageBubble: Gtk.Box {
|
||||
orientation: vertical;
|
||||
|
||||
Label sender_label {
|
||||
styles ["caption-heading"]
|
||||
|
||||
ellipsize: end;
|
||||
xalign: 0;
|
||||
}
|
||||
|
||||
Adw.Bin message_reply_bin {}
|
||||
|
||||
Adw.Bin prefix_bin {}
|
||||
|
||||
Label message_label {
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
@@ -19,6 +19,37 @@ template Preferences : Adw.PreferencesWindow {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Use plain text for output");
|
||||
subtitle: _("The plain text without formatting will be used");
|
||||
activatable-widget: use_text_view_switch;
|
||||
Gtk.Switch use_text_view_switch {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
|
||||
Adw.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 {
|
||||
title: _("Providers");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,8 @@
|
||||
using Gtk 4.0;
|
||||
using Adw 1;
|
||||
using WebKit 6.0;
|
||||
|
||||
template BavarderWindow : Adw.ApplicationWindow {
|
||||
template $BavarderWindow : Adw.ApplicationWindow {
|
||||
|
||||
title: _("Bavarder");
|
||||
default-width: 350;
|
||||
@@ -20,7 +21,7 @@ template BavarderWindow : Adw.ApplicationWindow {
|
||||
vexpand: true;
|
||||
hexpand: true;
|
||||
Adw.HeaderBar {
|
||||
MenuButton {
|
||||
MenuButton menu {
|
||||
primary: true;
|
||||
menu-model: main-menu;
|
||||
icon-name: "open-menu-symbolic";
|
||||
@@ -38,133 +39,189 @@ template BavarderWindow : Adw.ApplicationWindow {
|
||||
orientation: vertical;
|
||||
vexpand: true;
|
||||
hexpand: true;
|
||||
margin-top: 0;
|
||||
margin-bottom: 24;
|
||||
margin-start: 24;
|
||||
margin-end: 24;
|
||||
spacing: 12;
|
||||
|
||||
Adw.PreferencesGroup prompt_group {
|
||||
title: _("Message");
|
||||
Adw.Bin {
|
||||
vexpand: true;
|
||||
hexpand: true;
|
||||
|
||||
Box {
|
||||
orientation: vertical;
|
||||
hexpand: true;
|
||||
vexpand: true;
|
||||
|
||||
styles ["card", "text-box"]
|
||||
|
||||
ScrolledWindow {
|
||||
margin-top:12;
|
||||
margin-bottom:0;
|
||||
margin-start:12;
|
||||
margin-end:12;
|
||||
styles ["scrolled-window"]
|
||||
Stack stack {
|
||||
transition-type: crossfade;
|
||||
|
||||
TextView prompt_text_view {
|
||||
wrap-mode: word_char;
|
||||
hexpand: true;
|
||||
vexpand: true;
|
||||
buffer: TextBuffer { };
|
||||
//key-press => on_key_press_event();
|
||||
styles [ "card"]
|
||||
|
||||
Gtk.StackPage {
|
||||
name: "page_content";
|
||||
child: Overlay overlay {
|
||||
|
||||
Adw.PreferencesGroup bot_group {
|
||||
Box {
|
||||
orientation: vertical;
|
||||
hexpand: true;
|
||||
vexpand: true;
|
||||
|
||||
styles [ "text-box"]
|
||||
|
||||
ScrolledWindow scrolled_response_window {
|
||||
margin-top: 12;
|
||||
margin-bottom: 0;
|
||||
margin-start: 12;
|
||||
margin-end: 12;
|
||||
|
||||
TextView bot_text_view {
|
||||
wrap-mode: word_char;
|
||||
hexpand: true;
|
||||
vexpand: true;
|
||||
editable: false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Box {
|
||||
hexpand: true;
|
||||
halign: end;
|
||||
|
||||
styles ["toolbar"]
|
||||
|
||||
// Button speak {
|
||||
// action-name: "app.speak";
|
||||
// tooltip-text: _("Speak");
|
||||
// icon-name: "audio-speakers-symbolic";
|
||||
// }
|
||||
|
||||
// Button speak_wait {
|
||||
// visible: false;
|
||||
// sensitive: false;
|
||||
// tooltip-text: _("Speaking");
|
||||
// Spinner speak_spinner {
|
||||
// margin-top: 8;
|
||||
// margin-bottom: 8;
|
||||
// margin-start: 8;
|
||||
// margin-end: 8;
|
||||
// }
|
||||
// }
|
||||
|
||||
Button copy_bot {
|
||||
sensitive: false;
|
||||
icon-name: "edit-copy-symbolic";
|
||||
tooltip-text: _("Copy to Clipboard");
|
||||
hexpand: true;
|
||||
halign: end;
|
||||
action-name: "app.copy_bot";
|
||||
}
|
||||
|
||||
Button stop_button {
|
||||
visible: false;
|
||||
sensitive: false;
|
||||
icon-name: "x-circular-symbolic";
|
||||
tooltip-text: _("Stop");
|
||||
hexpand: true;
|
||||
halign: end;
|
||||
action-name: "app.stop";
|
||||
styles ["suggested-action", "circular"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Gtk.StackPage {
|
||||
name: "page_loading";
|
||||
child: Spinner {
|
||||
valign: center;
|
||||
halign: center;
|
||||
vexpand: true;
|
||||
};
|
||||
}
|
||||
|
||||
Gtk.StackPage {
|
||||
name: "page_error";
|
||||
child: Adw.StatusPage error {
|
||||
visible: true;
|
||||
vexpand: true;
|
||||
icon-name: "dialog-error-symbolic";
|
||||
title: _("ERROR");
|
||||
description: _("DESCRIPTION");
|
||||
|
||||
Button {
|
||||
label: _("Try Again");
|
||||
halign: center;
|
||||
styles ["pill"]
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
Box {
|
||||
hexpand: true;
|
||||
halign: end;
|
||||
|
||||
styles ["toolbar"]
|
||||
Button {
|
||||
sensitive: false;
|
||||
icon-name: "edit-copy-symbolic";
|
||||
tooltip-text: _("Copy to Clipboard");
|
||||
action-name: "app.copy_prompt";
|
||||
}
|
||||
Button ask_button {
|
||||
visible: true;
|
||||
sensitive: false;
|
||||
icon-name: "paper-plane-symbolic";
|
||||
tooltip-text: _("Ask");
|
||||
hexpand: true;
|
||||
halign: end;
|
||||
action-name: "app.ask";
|
||||
styles ["suggested-action", "circular"]
|
||||
}
|
||||
Button wait_button {
|
||||
visible: false;
|
||||
sensitive: false;
|
||||
tooltip-text: _("Wait");
|
||||
styles ["suggested-action", "circular"]
|
||||
Spinner spinner {
|
||||
margin-top: 8;
|
||||
margin-bottom: 8;
|
||||
margin-start: 8;
|
||||
margin-end: 8;
|
||||
// Separator {}
|
||||
|
||||
Adw.Clamp {
|
||||
vexpand: false;
|
||||
hexpand: true;
|
||||
maximum-size: 750;
|
||||
tightening-threshold: 550;
|
||||
|
||||
margin-top: 8;
|
||||
margin-bottom: 8;
|
||||
|
||||
Box {
|
||||
|
||||
// Button {
|
||||
// valign: end;
|
||||
// icon-name: "mail-attachment-symbolic";
|
||||
// }
|
||||
|
||||
|
||||
ScrolledWindow {
|
||||
vexpand: true;
|
||||
hexpand: true;
|
||||
vscrollbar-policy: external;
|
||||
max-content-height: 200;
|
||||
propagate-natural-height: true;
|
||||
|
||||
styles [ "scrolled-window" ]
|
||||
|
||||
|
||||
TextView prompt_text_view {
|
||||
|
||||
styles [ "entry "]
|
||||
|
||||
hexpand: true;
|
||||
accepts-tab: false;
|
||||
top-margin: 7;
|
||||
bottom-margin: 7;
|
||||
left-margin: 5;
|
||||
right-margin: 5;
|
||||
wrap-mode: word;
|
||||
buffer: TextBuffer { };
|
||||
}
|
||||
}
|
||||
|
||||
Button ask_button {
|
||||
valign: end;
|
||||
|
||||
margin-start: 5;
|
||||
|
||||
icon-name: "paper-plane-symbolic";
|
||||
tooltip-text: _("Ask");
|
||||
halign: end;
|
||||
action-name: "app.ask";
|
||||
styles ["suggested-action", "circular"]
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Adw.PreferencesGroup bot_group {
|
||||
title: _("Response");
|
||||
|
||||
|
||||
Box {
|
||||
orientation: vertical;
|
||||
hexpand: true;
|
||||
vexpand: true;
|
||||
|
||||
styles ["card", "text-box"]
|
||||
|
||||
ScrolledWindow {
|
||||
margin-top:12;
|
||||
margin-bottom:0;
|
||||
margin-start:12;
|
||||
margin-end:12;
|
||||
styles ["scrolled-window"]
|
||||
|
||||
Gtk.Stack response_stack {
|
||||
Gtk.StackPage {
|
||||
name: "page_response";
|
||||
child: TextView bot_text_view {
|
||||
wrap-mode: word_char;
|
||||
hexpand: true;
|
||||
vexpand: true;
|
||||
editable: false;
|
||||
};
|
||||
}
|
||||
|
||||
// Gtk.StackPage {
|
||||
// name: "page_offline";
|
||||
// child: Adw.StatusPage {
|
||||
// //icon-name: "network-wireless-offline-symbolic";
|
||||
// title: _("Offline");
|
||||
// };
|
||||
// }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Box {
|
||||
hexpand: true;
|
||||
halign: end;
|
||||
|
||||
styles ["toolbar"]
|
||||
|
||||
Button {
|
||||
sensitive: false;
|
||||
icon-name: "edit-copy-symbolic";
|
||||
tooltip-text: _("Copy to Clipboard");
|
||||
hexpand: true;
|
||||
halign: end;
|
||||
action-name: "app.copy_bot";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -172,6 +229,12 @@ template BavarderWindow : Adw.ApplicationWindow {
|
||||
|
||||
|
||||
menu main-menu {
|
||||
section {
|
||||
item {
|
||||
label: _("New window");
|
||||
action: "app.new";
|
||||
}
|
||||
}
|
||||
section {
|
||||
item {
|
||||
label: _("Preferences");
|
||||
@@ -182,7 +245,7 @@ menu main-menu {
|
||||
label: _("Keyboard Shortcuts");
|
||||
action: "win.show-help-overlay";
|
||||
}
|
||||
|
||||
|
||||
item {
|
||||
label: _("About Bavarder");
|
||||
action: "app.about";
|
||||
|
||||
12
meson.build
12
meson.build
@@ -1,5 +1,5 @@
|
||||
project('bavarder',
|
||||
version: '0.1.2',
|
||||
version: '0.2.4',
|
||||
meson_version: '>= 0.62.0',
|
||||
default_options: [ 'warning_level=2', 'werror=false', ],
|
||||
)
|
||||
@@ -10,8 +10,11 @@ python = import('python')
|
||||
|
||||
# Constants
|
||||
PROJECT_RDNN_NAME = 'io.github.Bavarder.Bavarder'
|
||||
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)
|
||||
|
||||
@@ -55,6 +58,11 @@ conf.set('BUILD_TYPE', get_option('buildtype'))
|
||||
conf.set('SCHEMAS_DIR', PKGDATA_DIR)
|
||||
conf.set('SOURCE_DIR', meson.current_source_dir())
|
||||
conf.set('BUILD_DIR', meson.current_build_dir())
|
||||
conf.set('BUGTRACKER_URL', BUGTRACKER_URL)
|
||||
conf.set('HELP_URL', HELP_URL)
|
||||
conf.set('TRANSLATE_URL', TRANSLATE_URL)
|
||||
conf.set('RELEASE_VER', meson.project_version())
|
||||
conf.set('PROJECT_URL', PROJECT_URL)
|
||||
|
||||
subdir('data')
|
||||
subdir('src')
|
||||
|
||||
11
meson_options.txt
Normal file
11
meson_options.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
option(
|
||||
'profile',
|
||||
type: 'combo',
|
||||
description: 'The build profiles for the application. Use development or ci for the .Devel app ID. ci also produces optimized bundles.',
|
||||
choices: [
|
||||
'release',
|
||||
'development',
|
||||
'ci',
|
||||
],
|
||||
value: 'release'
|
||||
)
|
||||
201
po/Bavarder.pot
201
po/Bavarder.pot
@@ -8,54 +8,20 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-04-27 22:07+0200\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
|
||||
msgid "Chit-chat with GPT"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:8
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:15
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:177
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
@@ -71,38 +37,155 @@ msgstr ""
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:33
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:48
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:81 data/ui/window.blp:160
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:88
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:97
|
||||
msgid "Wait"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:112
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:182
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:187
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
24
po/LINGUAS
24
po/LINGUAS
@@ -1,8 +1,22 @@
|
||||
uk
|
||||
ru
|
||||
fr
|
||||
es
|
||||
th
|
||||
sv
|
||||
it
|
||||
fa
|
||||
fi
|
||||
ru
|
||||
ta
|
||||
nl
|
||||
gl
|
||||
es
|
||||
fr
|
||||
pt
|
||||
hu
|
||||
de
|
||||
tr
|
||||
pl
|
||||
ar
|
||||
it
|
||||
zh_Hans
|
||||
az
|
||||
cs
|
||||
uk
|
||||
et
|
||||
|
||||
44
po/POTFILES
44
po/POTFILES
@@ -1,9 +1,39 @@
|
||||
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/io.github.Bavarder.Bavarder.desktop.in.in
|
||||
data/io.github.Bavarder.Bavarder.gschema.xml.in
|
||||
data/ui/help-overlay.blp
|
||||
data/ui/preferences.blp
|
||||
data/ui/window.blp
|
||||
src/main.py
|
||||
src/preferences.py
|
||||
src/window.py
|
||||
src/providers/__init__.py
|
||||
src/providers/alpacalora.py
|
||||
src/providers/baichat.py
|
||||
src/providers/bard.py
|
||||
src/providers/base.py
|
||||
src/providers/baseoffline.py
|
||||
src/providers/catgpt.py
|
||||
src/providers/gradio.py
|
||||
src/providers/hfdialogpt.py
|
||||
src/providers/hfgoogleflant5xxl.py
|
||||
src/providers/hfgoogleflanu12.py
|
||||
src/providers/hfgpt2.py
|
||||
src/providers/hfgpt2large.py
|
||||
src/providers/hfgpt2xl.py
|
||||
src/providers/hfopenassistantsft1pythia12b.py
|
||||
src/providers/huggingchat.py
|
||||
src/providers/huggingchatbase.py
|
||||
src/providers/huggingface.py
|
||||
src/providers/openai.py
|
||||
src/providers/openaicustom.py
|
||||
src/providers/openaigpt4.py
|
||||
src/providers/openaigpt35turbo.py
|
||||
src/providers/openaitextdavinci003.py
|
||||
src/providers/stablelm.py
|
||||
src/providers/starcoder.py
|
||||
src/providers/transformer.py
|
||||
src/views/__init__.py
|
||||
src/views/about_window.py
|
||||
src/views/main_window.py
|
||||
src/views/preferences_window.py
|
||||
src/widgets/__init__.py
|
||||
src/__init__.py
|
||||
src/threading.py
|
||||
src/main.py
|
||||
209
po/ar.po
Normal file
209
po/ar.po
Normal file
@@ -0,0 +1,209 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# nakibrayan2 <codeberg.org.quoz7@aleeas.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 00:37+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Arabic <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/ar/>\n"
|
||||
"Language: ar\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "التفضيلات"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
#, fuzzy
|
||||
msgid "Prompt"
|
||||
msgstr "موجه"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
#, fuzzy
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "مسح نصح الموجه بعد الإرسال"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
#, fuzzy
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "سيتم مسح نص الموجه بعد الإرسال"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "إستخدام نص عادي للإخراج"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "سيتم إستخدام نص عادي بدون تنسيق"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "إغلاق جميع النوافض بدون سابق إنذار"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"سيتم إغلاق جميع النوافذ دون سابق إنذار ، وهذا قد يؤدي إلى فقدان للبيانات"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "البحث عن أخبار مزود الخدمة"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
"سيتم جلب الأخبار المتعلقة بالمشكلات مع مقدمي الخدمة من موقع Bavarder على "
|
||||
"الويب"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "مقدمي الخدمة"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "القائمة الرئيسية"
|
||||
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "ليس هناك اتصال بالشبكة"
|
||||
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "الجواب"
|
||||
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "النسخ إلى الحافظة"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "إيقاف"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "حاول مرة أخرى"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "طرح سؤال"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "نافذة جديدة"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "اختصارات لوحة المفاتيح"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "حول Bavarder"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "لم يتم توفير مفتاح API ، يمكنك توفير مفتاح في الإعدادات"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "افتح الإعدادات"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "حول مقدم الخدمة"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "كيف تحصل على توكن"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "لا توجد تفضيلات متاحة"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "مفتاح API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
#, fuzzy
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "النص في الموجه طويل ، يمكن تقسيمة إلى قطع"
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "ليس لديك حق الوصول إلى هذا النموذج"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr "لقد تجاوزت حصتك الحالية ، يرجى التأكد من إشتراكك و تفاصيل الفواتير."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "خطأ في ال API"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "لم يتم تحديد أي نموذج ، يمكن اختيار نموذج في الإعدادات"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "رابط ال API"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "نموذج"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "كيف تختار نموذج"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr "حقوق المترجم"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "حقوق النشر © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "هنالك إصدار جديد متوفر!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "نافذة جديدة"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "رسالة"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "يرجى الإنتضار"
|
||||
295
po/az.po
Normal file
295
po/az.po
Normal file
@@ -0,0 +1,295 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# thepoladov13 <thepoladov@protonmail.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 00:37+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Azerbaijani <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/az/>\n"
|
||||
"Language: az\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Üstünlüklər"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "Sorğu"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Göndərdikdən sonra sorğunu silin"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Sorğu göndərildikdən sonra silinəcək"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Çıxış üçün düz mətndən istifadə edin"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Formatlaşdırmadan düz mətndən istifadə ediləcək"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "Xəbərdarlıq etmədən bütün pəncərələri bağlayın"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Bütün pəncərələr xəbərdarlıq edilmədən bağlanacaq, bu məlumat itkisinə səbəb "
|
||||
"ola bilər"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Yeni provayder xəbərlərinə bax"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
"Provayderlərlə bağlı problemlər haqqında xəbərlər Bavarder saytından "
|
||||
"götürüləcək"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "Provayderlər"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Əsas menyu"
|
||||
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Şəbəkə bağlantısı yoxdur"
|
||||
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Cavab"
|
||||
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Buferə kopyalayın"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Dayan"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Yenidən cəhd et"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Soruş"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Yeni pəncərə"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Klaviatura Qısayolları"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Bavarder haqqında"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "API açarı təqdim edilməyib, siz onu ayarlarda təmin edə bilərsiniz"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Parametrləri açın"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Provayder haqqında"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Tokeni necə əldə etmək olar"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Heç bir tərcih yoxdur"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "API Açarı"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Tələb çox uzundur, parçalara bölünür."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Bu modelə girişiniz yoxdur"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Cari kvotanızı keçdiniz, lütfən, planınızı və faktura məlumatlarınızı "
|
||||
"yoxlayın."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "API xətası"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Heç bir model seçilməyib, üstünlüklərdən birini seçə bilərsiniz"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API Url"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Bir modeli necə seçmək olar"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr "Mehrab Poladov | thepoladov@protonmail.com"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Müəlliflik hüququ © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Yeni versiya mövcuddur!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Yeni Pəncərə"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Mesaj"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Gözləyin"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Ümumi"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Qısayolları göstərin"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Soruş"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Cari pəncərəni bağla"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Bütün pəncərələri bağla"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Üstünlüklər"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Cavabı kopyala"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Təmizlə"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Chit AI ilə söhbət edin"
|
||||
|
||||
#~ msgid "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"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Dinləmək"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Dinləyirəm"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Danış"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Danışıram"
|
||||
313
po/cs.po
313
po/cs.po
@@ -4,13 +4,14 @@
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# muznyo <codeberg.vqtek@simplelogin.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-04-27 22:07+0200\n"
|
||||
"PO-Revision-Date: 2023-04-27 19:52+0000\n"
|
||||
"Last-Translator: muznyo <codeberg.vqtek@simplelogin.com>\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-02 11:46+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Czech <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/cs/>\n"
|
||||
"Language: cs\n"
|
||||
@@ -20,45 +21,11 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
|
||||
msgid "Chit-chat with GPT"
|
||||
msgstr "Chatovat s GPT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:8
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:15
|
||||
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"
|
||||
msgstr "Obecné"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Zobrazit zkratky"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr "Zeptat se"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Ukončit"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:177
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Nastavení"
|
||||
|
||||
@@ -74,41 +41,267 @@ msgstr "Vymazat dotaz po odeslání"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Dotaz bude vymazán po odeslání"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "Poskytovatelé"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Hlavní menu"
|
||||
|
||||
#: data/ui/window.blp:33
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Žádné připojení k síti"
|
||||
|
||||
#: data/ui/window.blp:48
|
||||
msgid "Message"
|
||||
msgstr "Zpráva"
|
||||
|
||||
#: data/ui/window.blp:81 data/ui/window.blp:160
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopírovat do schránky"
|
||||
|
||||
#: data/ui/window.blp:88
|
||||
msgid "Ask"
|
||||
msgstr "Zeptat se"
|
||||
|
||||
#: data/ui/window.blp:97
|
||||
msgid "Wait"
|
||||
msgstr "Čekejte"
|
||||
|
||||
#: data/ui/window.blp:112
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Odpověď"
|
||||
|
||||
#: data/ui/window.blp:182
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopírovat do schránky"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Zastavit"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Zkusit znovu"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Zeptat se"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Nové okno"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Klávesové zkratky"
|
||||
|
||||
#: data/ui/window.blp:187
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "O Bavarder"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "API klíč nebyl přidán, můžete jej přidat v nastavení"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Otevřít nastavení"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "O poskytovateli"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Jak získat token"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Žádná nastavení nejsou k dispozici"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Klíč API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Dotaz je příliš dlouhý, rozděluji jej na části."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Nemáte přístup k tomuto modelu"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Překročili jste svůj limit, zkontrolujte prosím svůj tarif a fakturační "
|
||||
"údaje."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "API chyba"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Není vybrán model, vyberte si jeden z nastavení"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API Url"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Jak vybrat model"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"Launchpad Contributions:\n"
|
||||
" Gmisiycs https://launchpad.net/~gmisiycs\n"
|
||||
" Pavel Borecki https://launchpad.net/~pavel-borecki"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Nová verze je k dispozici!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Nové okno"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Zpráva"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Čekejte"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Obecné"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Zobrazit zkratky"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Zeptat se"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Zavřít aktuální okno"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Zavřít všechna okna"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Nastavení"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Zkopírovat odpověď"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Vymazat"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Chatovat s umělou inteligencí"
|
||||
|
||||
#~ msgid "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"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Poslech"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Poslouchání"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Mluvit"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Mluvení"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Připraveno"
|
||||
|
||||
324
po/de.po
324
po/de.po
@@ -4,13 +4,15 @@
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# 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-04-27 22:07+0200\n"
|
||||
"PO-Revision-Date: 2023-04-27 17:37+0000\n"
|
||||
"Last-Translator: 0xMRTT <0xmrtt@tuta.io>\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 00:37+0000\n"
|
||||
"Last-Translator: maymage <maymage@gmail.com>\n"
|
||||
"Language-Team: German <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/de/>\n"
|
||||
"Language: de\n"
|
||||
@@ -20,45 +22,11 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
|
||||
msgid "Chit-chat with GPT"
|
||||
msgstr "Plaudern Sie mit GPT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:8
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:15
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Screenshot der Hauptbenutzeroberfläche"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Allgemein"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Verknüpfungen anzeigen"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr "Fragen"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Aufhören"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:177
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
@@ -74,42 +42,274 @@ 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/window.blp:27
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "Anbieter"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Hauptmenü"
|
||||
|
||||
#: data/ui/window.blp:33
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Keine Netzwerkverbindung"
|
||||
|
||||
#: data/ui/window.blp:48
|
||||
msgid "Message"
|
||||
msgstr "Meldung"
|
||||
|
||||
#: data/ui/window.blp:81 data/ui/window.blp:160
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "In die Zwischenablage kopieren"
|
||||
|
||||
#: data/ui/window.blp:88
|
||||
msgid "Ask"
|
||||
msgstr "Fragen"
|
||||
|
||||
#: data/ui/window.blp:97
|
||||
msgid "Wait"
|
||||
msgstr "Warten"
|
||||
|
||||
#: data/ui/window.blp:112
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Antwort"
|
||||
|
||||
#: data/ui/window.blp:182
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Tastatürkürzel"
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "In die Zwischenablage kopieren"
|
||||
|
||||
#: data/ui/window.blp:187
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr "Beschreibung"
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Erneut versuchen"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Fragen"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Neues Fenster"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Tastenkürzel"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Über Bavarder"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
"Kein API-Schlüssel angegeben, Sie können einen in den Einstellungen angeben"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Einstellungen öffnen"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Über den Anbieter"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Wie Sie einen Schlüssel bekommen"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Keine Einstellungen verfügbar"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "API Schlüssel"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Zu lange Eingabe, sie wird zerlegt."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Sie haben keine Zugang zu diesem Modell"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Sie haben ihre laufende Quote überschritten, bitte überprüfen Sie Ihren Plan "
|
||||
"und Rechnungsdetails."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "API Fehler"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Kein Modell ausgewählt, Sie können eines in den Einstellungen wählen"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API Url"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Modell"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Wie Sie ein Modell wählen"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr "Übersetzerwürdigung"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Urheberrechte © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Neue Version verfügbar!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Neues Fenster"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Meldung"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Warten"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Allgemein"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Tastenkürzel anzeigen"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Fragen"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Aktuelles Fenster schließen"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Alle Fenster schließen"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Einstellungen"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Antwort kopieren"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Löschen"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Katze GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Plaudern Sie mit GPT"
|
||||
|
||||
#~ msgid "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"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Hören"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Hören"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Sprechen"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Reden"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Bereit"
|
||||
|
||||
|
||||
321
po/es.po
321
po/es.po
@@ -4,13 +4,17 @@
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# 0xMRTT <0xmrtt@tuta.io>, 2023.
|
||||
# sjdonado <jsrd98@gmail.com>, 2023.
|
||||
# deimidis <gmovia@pm.me>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
# gallegonovato <fran-carro@hotmail.es>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-04-27 22:07+0200\n"
|
||||
"PO-Revision-Date: 2023-04-27 17:37+0000\n"
|
||||
"Last-Translator: 0xMRTT <0xmrtt@tuta.io>\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-05 03:29+0000\n"
|
||||
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
|
||||
"Language-Team: Spanish <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/es/>\n"
|
||||
"Language: es\n"
|
||||
@@ -20,95 +24,288 @@ 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:6 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr ""
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
|
||||
msgid "Chit-chat with GPT"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:8
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:15
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "General"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Salida"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:177
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencias"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr ""
|
||||
msgstr "Entrada"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr ""
|
||||
msgstr "Limpiar entrada después de enviar"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr ""
|
||||
msgstr "La entrada será borrada después de enviar"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "Proveedores"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
msgstr "Menú Principal"
|
||||
|
||||
#: data/ui/window.blp:33
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "No hay conexión de red"
|
||||
|
||||
#: data/ui/window.blp:48
|
||||
msgid "Message"
|
||||
msgstr "Mensaje"
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Respuesta"
|
||||
|
||||
#: data/ui/window.blp:81 data/ui/window.blp:160
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copiar al portapapeles"
|
||||
|
||||
#: data/ui/window.blp:88
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Detener"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "ERROR"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr "DESCRIPCIÓN"
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Intentar de nuevo"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
msgstr "Preguntar"
|
||||
|
||||
#: data/ui/window.blp:97
|
||||
msgid "Wait"
|
||||
msgstr ""
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Nueva ventana"
|
||||
|
||||
#: data/ui/window.blp:112
|
||||
msgid "Response"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:182
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
msgstr "Atajos de Teclado"
|
||||
|
||||
#: data/ui/window.blp:187
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Sobre Bavarder"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
"No se ha ingresado una API Key valida, puede ingresar una en Configuraciones"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Abrir configuraciones"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Acerca del proveedor"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Cómo conseguir un token"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "No existen preferencias"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Clave de la API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Prompt demasiado largo, dividido en trozos."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "No tienes acceso a este modelo"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Has superado tu cuota actual, por favor comprueba los detalles de tu plan y "
|
||||
"la facturación."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "Error de la API"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr ""
|
||||
"No hay ningún modelo seleccionado, puedes elegir uno en las preferencias"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "Dirección url de la API"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Modelo"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Cómo elegir un modelo"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"Launchpad Contributions:\n"
|
||||
" Hector A. Mantellini https://launchpad.net/~xombra"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Copyright © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "¡Una nueva versión está disponible!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Nueva Ventana"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Mensaje"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Espera"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "General"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Mostrar Atajos de Teclado"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Preguntar"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Cerrar la ventana actual"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Cerrar todas las ventanas"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Preferencias"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Copiar la respuesta"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Borrar"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Charla GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Conversa con una IA"
|
||||
|
||||
#~ msgid "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"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Escuchar"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Escuchando"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Hablar"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Hablando"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Leer"
|
||||
|
||||
196
po/et.po
Normal file
196
po/et.po
Normal file
@@ -0,0 +1,196 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# vabaME <vaba@riseup.net>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-05 19:37+0000\n"
|
||||
"Last-Translator: vabaME <vaba@riseup.net>\n"
|
||||
"Language-Team: Estonian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/et/>\n"
|
||||
"Language: et\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Eelistused"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "Viip"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Kustuta viip pärast saatmist"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Viip kustutatakse pärast saatmist"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Kasuta väljundiks lihtteksti"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Kasutatakse vorminguta lihtteksti"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "Sulge kõik aknad ilma hoiatuseta"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr "Kõik aknad suletakse hoiatamata, see võib põhjustada andmete kadumise"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Otsi teenusepakkuja uudiseid"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
"Uudised teenusepakkujatega seotud probleemide kohta hangitakse Bavarderi "
|
||||
"veebisaidilt"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "Teenusepakkujad"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Peamenüü"
|
||||
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Võrguühendus puudub"
|
||||
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Vastus"
|
||||
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopeeri lõikelauale"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Stopp"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "VIGA"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr "KIRJELDUS"
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Proovi uuesti"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Küsi"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Uus aken"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Klaviatuuri kiirvalikud"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Teave"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "API-võtit ei pakuta, saad selle seadistustes sisestada"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Ava seadistused"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Pakkuja kohta"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "No preferences available"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "API võti"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Viip liiga pikk, jaguneb tükkideks."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Sul pole sellele mudelile juurdepääsu"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr "Ületasid oma praeguse kvoodi, kontrolli oma plaani ja arveldusandmeid."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "API viga"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Ühtegi mudelit pole valitud, saate ühe valida eelistustes"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API Url"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Mudel"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Kuidas valida mudelit"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Autoriõigus © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Uus versioon on saadaval!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Uus aken"
|
||||
272
po/fa.po
Normal file
272
po/fa.po
Normal file
@@ -0,0 +1,272 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# kouroshtaf <kouroshtaf@gmail.com>, 2023.
|
||||
# Kourosh <kouroshtaf@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 00:37+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Persian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/fa/>\n"
|
||||
"Language: fa\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "باوارده"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "پیشفرضها"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "متن درخواست"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "متن درخواست رو بعد از ارسال پاک کن"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "متن درخواست بعد از ارسال پاک خواهد شد"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "تامین کنندگان"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "منوی اصلی"
|
||||
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "ارتباط شبکه برقرار نیست"
|
||||
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "پاسخ"
|
||||
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "کپی به کلیپ بورد"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "توقف"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "تلاش مجدد"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "بپرس"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "کلیدهای میانبر"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "درباره"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "کلید API پیدا نشد، می توانید دربخش تنطیمات آن را وارد کنید"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "تنظيمات"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
#, fuzzy
|
||||
#| msgid "About Bavarder"
|
||||
msgid "About provider"
|
||||
msgstr "درباره"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "سازنده: 0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "پیام"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "منتظر باش"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "عمومی"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "نمایش کلیدهای میانبر"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "بپرس"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "پیشفرضها"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Response"
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "پاسخ"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "پاکسازی"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "کت جی پی تی"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "گپی با هوش مصنوعی"
|
||||
|
||||
#~ msgid "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 "خروج"
|
||||
301
po/fi.po
Normal file
301
po/fi.po
Normal file
@@ -0,0 +1,301 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# artnay <jiri.gronroos@iki.fi>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-09 12:26+0000\n"
|
||||
"Last-Translator: artnay <jiri.gronroos@iki.fi>\n"
|
||||
"Language-Team: Finnish <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/fi/>\n"
|
||||
"Language: fi\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Asetukset"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "Kehote"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Tyhjennä kehote lähetyksen jälkeen"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Kehote tyhjennetään lähetyksen jälkeen"
|
||||
|
||||
#: data/ui/preferences.blp: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:271
|
||||
msgid "Providers"
|
||||
msgstr "Palveluntarjoajat"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Päävalikko"
|
||||
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Ei verkkoyhteyttä"
|
||||
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Vastaus"
|
||||
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopioi leikepöydälle"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Lopeta"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "VIRHE"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr "KUVAUS"
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Yritä uudelleen"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Kysy"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Uusi ikkuna"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Pikanäppäimet"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Tietoja - Bavarder"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "API-avainta ei asetettu, aseta avain asetuksissa"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Avaa asetukset"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Tietoja palveluntarjoajasta"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Miten saat poletin"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Asetuksia ei ole saatavilla"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "API-avain"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Kehote on liian pitkä, pilkotaan osiin."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Sinulla ei ole pääsyä tähän malliin"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr "Ylitit kiintiösi, tarkista käyttämäsi tilaus ja maksutapatiedot."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "API-virhe"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Mallia ei ole valittu. Valitse malli asetuksista"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API:n osoite"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Malli"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Miten valita malli"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"Jiri Grönroos\n"
|
||||
"Launchpad Contributions:\n"
|
||||
"Kimmo Kujansuu https://launchpad.net/~mahtiankka"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Tekijänoikeus © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Uusi versio saatavilla!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Uusi ikkuna"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Viesti"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Odota"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Yleiset"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Näytä pikanäppäimet"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Kysy"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Sulje nykyinen ikkuna"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Sulje kaikki ikkunat"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Asetukset"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Kopioi vastaus"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Tyhjennä"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Keskustele tekoälyn kanssa"
|
||||
|
||||
#~ msgid "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"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Kuuntele"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Kuunnellaan"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Puhu"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Puhutaan"
|
||||
346
po/fr.po
346
po/fr.po
@@ -4,13 +4,16 @@
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# 0xMRTT <0xmrtt@tuta.io>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
# muznyo <codeberg.vqtek@simplelogin.com>, 2023.
|
||||
# rene-coty <irenee.thirion@e.email>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-04-27 22:07+0200\n"
|
||||
"PO-Revision-Date: 2023-04-27 17:37+0000\n"
|
||||
"Last-Translator: 0xMRTT <0xmrtt@tuta.io>\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-04 00:37+0000\n"
|
||||
"Last-Translator: 0xMRTT <0xmrtt@proton.me>\n"
|
||||
"Language-Team: French <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/fr/>\n"
|
||||
"Language: fr\n"
|
||||
@@ -20,95 +23,304 @@ 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:6 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
|
||||
msgid "Chit-chat with GPT"
|
||||
msgstr "Bavarder avec GPT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:8
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:15
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Capture d'écran de l'interface utilisateur principale"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Général"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Afficher les Raccourcis"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr "Demandez"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Quitter"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:177
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Préférences"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "Invite"
|
||||
msgstr "Requête"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Effacer l'invite après l'envoi"
|
||||
msgstr "Effacer la requête après envoi"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "L'invite sera effacée après l'envoi"
|
||||
msgstr "La requête sera effacée après envoi"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "Fournisseurs"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Menu Principal"
|
||||
msgstr "Menu principal"
|
||||
|
||||
#: data/ui/window.blp:33
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Pas de connexion réseau"
|
||||
|
||||
#: data/ui/window.blp:48
|
||||
msgid "Message"
|
||||
msgstr "Message"
|
||||
|
||||
#: data/ui/window.blp:81 data/ui/window.blp:160
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copier dans le presse papier"
|
||||
|
||||
#: data/ui/window.blp:88
|
||||
msgid "Ask"
|
||||
msgstr "Demandez"
|
||||
|
||||
#: data/ui/window.blp:97
|
||||
msgid "Wait"
|
||||
msgstr "Attendez"
|
||||
|
||||
#: data/ui/window.blp:112
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Réponse"
|
||||
|
||||
#: data/ui/window.blp:182
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Raccourcis Clavier"
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copier dans le presse-papiers"
|
||||
|
||||
#: data/ui/window.blp:187
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "Erreur"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Réessayer"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Demander"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Nouvelle fenêtre"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Raccourcis clavier"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "A propos de Bavarder"
|
||||
msgstr "À propos de Bavarder"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
"Pas de clé d’API fournie, vous pouvez en ajouter une dans les paramètres"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Ouvrir les paramètres"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "À propos du fournisseur"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Comment obtenir un jeton"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Aucune préférences disponibles"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Clé d’API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Requête trop longue, découpage en morceaux."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Vous n’avez pas accès à ce modèle"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Vous avez dépassé votre quota actuel, veuillez vérifier votre forfait et vos "
|
||||
"informations de facturation."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "Erreur d’API"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr ""
|
||||
"Aucun modèle sélectionné, vous pouvez en choisir un dans les préférences"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "URL d’API"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Modèle"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Comment choisir un modèle"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"Launchpad Contributions:\n"
|
||||
" Calinou https://launchpad.net/~calinou"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Nouvelle version disponible !"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Nouvelle fenêtre"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Message"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Attendez"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Général"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Afficher les raccourcis"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Demander"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Fermer la fenêtre actuelle"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Fermer toutes les fenêtres"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Préférences"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Copier la réponse"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Effacer"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Bavarder avec GPT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "Capture d’écran de l’interface principale"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Screenshot of Main UI"
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "Capture d’écran de l’interface principale"
|
||||
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "Discussion"
|
||||
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "GPT"
|
||||
|
||||
#~ msgid "ChatGPT"
|
||||
#~ msgstr "ChatGPT"
|
||||
|
||||
#~ msgid "AI"
|
||||
#~ msgstr "IA"
|
||||
|
||||
#~ msgid "OpenAI"
|
||||
#~ msgstr "OpenAI"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "Préférences"
|
||||
|
||||
#~ msgid "Update translations"
|
||||
#~ msgstr "- Traductions mises à jour"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "Raccourcis clavier"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "Raccourcis clavier"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Quitter"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Remerciements spéciaux à"
|
||||
|
||||
#~ msgid "Text copied"
|
||||
#~ msgstr "Texte copié"
|
||||
|
||||
#~ msgid "Use text view"
|
||||
#~ msgstr "Utiliser la vue texte"
|
||||
|
||||
#~ msgid "If the text view is used, you will lose formatting"
|
||||
#~ msgstr "Si la vue texte est utilisée, vous perdrez la mise en forme"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Quitter"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Écouter"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "En écoute"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Parler"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "En train de parler"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Prêt"
|
||||
|
||||
240
po/gl.po
Normal file
240
po/gl.po
Normal file
@@ -0,0 +1,240 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# xosecalvo <xosecalvo@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-02 11:46+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Galician <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/gl/>\n"
|
||||
"Language: gl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencias"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "Pé"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Limpar pé despois de enviar"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "O pé límpase após ser enviado"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Empregar texto simple para a saída"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Emprégase texto simple sen formato"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "Pechar todas as xanelas sen avisar"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Todas as xanelas péchanse sen avisar; isto pode provocar a perda de datos"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Procurar novas do forcenecedor"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
"Obtéñense novas relacionadas con problemas cos fornecedores desde o sitio "
|
||||
"web de Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "Fornecedores"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Menú principal"
|
||||
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Sen conexión a rede"
|
||||
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Resposta"
|
||||
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copiar ao portapapeis"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Parar"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Inténteo de novo"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Preguntar"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Nova xanela"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Atallos de teclado"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Sobre o Bavarder"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Non se forneceu ningunha API; pode fornecer unha na configuración"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Abrir configuración"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Sobre o fornecedor"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Non hai ningunha preferencia dispoñíbel"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Chave da API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "O pé é demasiado longo; divídese en anacos."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Vostede non ten acceso a este modelo"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Excedeu a cota actual; comprobe o seu plan e os detalles de facturación."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "Erro da API"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Ningún modelo seleccionado; pode escoller un nas preferencias"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "URL da API"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Modelo"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Como escoller un modelo"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"Launchpad Contributions:\n"
|
||||
" Manuel Xosé Lemos https://launchpad.net/~mxlemos\n"
|
||||
" Miguel Anxo Bouzada https://launchpad.net/~mbouzada\n"
|
||||
" oterobueu https://launchpad.net/~oterobueu"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Nova versión dispoñíbel!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Nova xanela"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Mensaxe"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Agardar"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Xeral"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Mostrar atallos"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Preguntar"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Pechar esta xanela"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Pechar todas as xanelas"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Preferencias"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Copiar resposta"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Limpar"
|
||||
248
po/hu.po
Normal file
248
po/hu.po
Normal file
@@ -0,0 +1,248 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# osiixy <osiixy@gmail.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
# elementbound <ezittgtx@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 00:37+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Hungarian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/hu/>\n"
|
||||
"Language: hu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Beállítások"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp: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 ""
|
||||
"Minden ablak be fog záródni figyelmeztetés nélkül; ez adatvesztéshez is "
|
||||
"vezethet"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "Szolgáltatók"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Nincs hálózati kapcsolat"
|
||||
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Válasz"
|
||||
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Másolás a vágólapra"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Megállítás"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Próbálja újra"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Új ablak"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Gyorsbillentyűk"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Beállítások megnyitása"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Modell"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"Launchpad Contributions:\n"
|
||||
" Kulhanek László https://launchpad.net/~hunyos"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Új ablak"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Üzenet"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Általános"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Ablak bezárása"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Összes ablak bezárása"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Beállítások"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Válasz másolása"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Kiürítés"
|
||||
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "Csevegés"
|
||||
|
||||
#, 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"
|
||||
#~| msgid "Quit"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Kilépés"
|
||||
313
po/it.po
313
po/it.po
@@ -4,13 +4,17 @@
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# 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-04-27 22:07+0200\n"
|
||||
"PO-Revision-Date: 2023-04-27 17:37+0000\n"
|
||||
"Last-Translator: 0xMRTT <0xmrtt@tuta.io>\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-02 11:46+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Italian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/it/>\n"
|
||||
"Language: it\n"
|
||||
@@ -20,96 +24,281 @@ 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:6 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr ""
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
|
||||
msgid "Chit-chat with GPT"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:8
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:15
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Generale"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Esci"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:177
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Preferenze"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr ""
|
||||
msgstr "Prompt"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr ""
|
||||
msgstr "Svuota il prompt dopo l'invio"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr ""
|
||||
msgstr "Il prompt verrà svuotato dopo l'invio"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Utlizzare testo semplice per il rendimento"
|
||||
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "Fornitori"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
msgstr "Menù principale"
|
||||
|
||||
#: data/ui/window.blp:33
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Nessuna connessione di rete"
|
||||
|
||||
#: data/ui/window.blp:48
|
||||
msgid "Message"
|
||||
msgstr "Messaggio"
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Risposta"
|
||||
|
||||
#: data/ui/window.blp:81 data/ui/window.blp:160
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copia negli appunti"
|
||||
|
||||
#: data/ui/window.blp:88
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Prova di nuovo"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
msgstr "Chiedi"
|
||||
|
||||
#: data/ui/window.blp:97
|
||||
msgid "Wait"
|
||||
msgstr ""
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Nuova finestra"
|
||||
|
||||
#: data/ui/window.blp:112
|
||||
msgid "Response"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:182
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Scorciatoie da tastiera"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Informazioni su Bavarder"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
"Nessuna chiave API fornita; è possibile fornirne una nelle impostazioni"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Apri impostazioni"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Sul gestore"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Come avere una chiave"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Impostazioni non disponibili"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Chiave API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Promt troppo lungo, frazionando in pezzi."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Non ha accesso a questo modello"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Superato la quota corrente, perfavore contrallare il proprio piano ed i "
|
||||
"dettagli della fatturazione."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "Errore API"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Nessun modello selezionato, puo scegliere uno nelle impostazioni"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API Url"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Modello"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Come selezionare un modello"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:187
|
||||
msgid "About Bavarder"
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Nuova versione disponibile!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Nuova finestra"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Messaggio"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Attendere"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Generale"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Mostra scorciatoie"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Chiedi"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Chiudi la finestra corrente"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Chiudi tutte le finestre"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Preferenze"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Copia risposta"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Cancella"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Chiacchiera con un'IA"
|
||||
|
||||
#~ msgid "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"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Ascolta"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "In ascolto"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Parla"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Pronto"
|
||||
|
||||
|
||||
375
po/nl.po
Normal file
375
po/nl.po
Normal file
@@ -0,0 +1,375 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# Vistaus <vistausss@fastmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 00:37+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Dutch <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/nl/>\n"
|
||||
"Language: nl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Voorkeuren"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "Invoerveld"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Invoerveld wissen na versturen"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Wis het invoerveld na het stellen van een vraag"
|
||||
|
||||
#: data/ui/preferences.blp: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:271
|
||||
msgid "Providers"
|
||||
msgstr "Diensten"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Hoofdmenu"
|
||||
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Geen netwerkverbinding"
|
||||
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Antwoord"
|
||||
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopiëren naar klembord"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Stoppen"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "FOUTMELDING"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr "BESCHRIJVING"
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Opnieuw proberen"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Vraag stellen"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Nieuw venster"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Sneltoetsen"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Over Bavarder"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Er is geen api-sleutel opgegeven - open de voorkeuren"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Voorkeuren openen"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Over deze dienst"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Hoe verkrijg ik een sleutel?"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Er zijn geen voorkeuren beschikbaar"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Api-sleutel"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "De invoer is te lang — deze wordt opgedeeld."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Je hebt geen toegang tot dit model"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Je hebt de huidige quota overschreven. Controleer je abonnement en "
|
||||
"factuurgegevens."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "Api-foutmelding"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Geen model gekozen - kies er een in de voorkeuren"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "Api-url"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Hoe kies ik een model?"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr "Heimen Stoffels <vistausss@fastmail.com>"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Copyright © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Er is een nieuwe versie beschikbaar!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Nieuw venster"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Bericht"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Even geduld…"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Algemeen"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Sneltoetsen tonen"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Vraag stellen"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Huidig venster sluiten"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Alle vensters sluiten"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Voorkeuren"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Antwoord kopiëren"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Wissen"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "CatGPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Babbel met een KI"
|
||||
|
||||
#~ msgid "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"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Luisteren"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Bezig met luisteren…"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Praten"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Bezig met praten…"
|
||||
308
po/pl.po
Normal file
308
po/pl.po
Normal file
@@ -0,0 +1,308 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# ioghjog <michal.d1191@gmail.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
# Eryk Michalak <gnu.ewm@protonmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 04:18+0000\n"
|
||||
"Last-Translator: Eryk Michalak <gnu.ewm@protonmail.com>\n"
|
||||
"Language-Team: Polish <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/pl/>\n"
|
||||
"Language: pl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||
"|| n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencje"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "Zapytanie"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Czyść zapytanie po wysłaniu"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Zapytanie zostanie wyczyszczone po wysłaniu"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use 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 "Szukaj dostawcy wiadomości"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "Dostawcy"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Główne menu"
|
||||
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Brak połączenia z siecią"
|
||||
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Odpowiedź"
|
||||
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Skopiuj do schowka"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Zatrzymaj"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "BŁĄD"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr "OPIS"
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Spróbuj ponownie"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Zapytaj"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Nowe okno"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Skróty klawiszowe"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "O Bavarderze"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Nie podano klucza API, dodaj go w ustawieniach"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Otwórz ustawienia"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "O dostawcy"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Jak uzyskać token"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Brak dostępnych preferencji"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Klucz API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Zapytanie zbyt długie; dzielenie na kawałki."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Nie posiadasz dostępu do tego modelu"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "Błąd API"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Nie wybrano modelu; można go wybrać w preferencjach"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "Adres Url API"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Tryb:"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Jak wybrać model"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr "ewm"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Copyright © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Dostępna jest nowa wersja!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Nowe okno"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Wiadomość"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Czekaj"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Ogólne"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Pokaż skróty"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Zapytaj"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Zamknij bieżące okno"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Zamknij wszystkie okna"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Preferencje"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Kopiuj odpowiedź"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Wyczyść"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Pogawędka z SI"
|
||||
|
||||
#~ msgid "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ź"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Słuchaj"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Słuchanie"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Powiedz"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Mówienie"
|
||||
300
po/pt.po
Normal file
300
po/pt.po
Normal file
@@ -0,0 +1,300 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# galegovski <galegovski@outlook.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
# aresende <contact@aresende.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-02 11:46+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Portuguese <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/pt/>\n"
|
||||
"Language: pt\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Preferências"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "Prompt"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Limpar prompt após enviar"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "O prompt será limpo após o envio"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Usar apenas texto nos resultados"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Apenas o texto sem formatação será utilizado"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "Fechar todas as janelas sem alerta"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Todas as janelas serão fechadas sem aviso e isso pode ocasionar em perda de "
|
||||
"dados"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Procurar por novidades acerca do provedor"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
"Novidades sobre problemas com provedores serão consultadas através site "
|
||||
"oficial de Barvarder"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "Provedores"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Menu principal"
|
||||
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Nenhuma conexão de rede"
|
||||
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Resposta"
|
||||
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copiar para área de transferência"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Parar"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Tentar novamente"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Perguntar"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Nova janela"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Atalhos do teclado"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Sobre Bavarder"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
"Nenhuma chave de API fornecida, você pode fornecer uma nas configurações"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Abrir configurações"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Sobre provedor"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Como adquirir um token"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Nenhuma configuração disponível"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Chave de API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Informação de entrada muito longa. Divida o texto em pedaços menores."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Você não possui acesso a esse modelo"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Você excedeu sua cota de requisições. Por favor, consulte seu plano e "
|
||||
"detalhes de pagamento."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "Erro em API"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Nenhum modelo selecionado. Escolha um através das configurações"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API URL"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Modelo"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Como escolher um modelo"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Nova versão disponível!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Nova janela"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Mensagem"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Espere"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Geral"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Mostrar Atalhos"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Perguntar"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Fechar janela atual"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Fechar todas as janelas"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Preferências"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Copiar resposta"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Limpar"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Bate-papo com uma IA"
|
||||
|
||||
#~ msgid "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"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Ouvir"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Audição"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Falar"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Falando"
|
||||
389
po/ru.po
389
po/ru.po
@@ -5,12 +5,13 @@
|
||||
#
|
||||
# 0xMRTT <0xmrtt@tuta.io>, 2023.
|
||||
# Daudix_UFO <ddaudix@gmail.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-04-27 22:07+0200\n"
|
||||
"PO-Revision-Date: 2023-04-27 17:37+0000\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-16 06:37+0000\n"
|
||||
"Last-Translator: Daudix_UFO <ddaudix@gmail.com>\n"
|
||||
"Language-Team: Russian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/ru/>\n"
|
||||
@@ -18,49 +19,15 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
|
||||
msgid "Chit-chat with GPT"
|
||||
msgstr "Болтайте с GPT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:8
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:15
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Снимок экрана главного интерфейса"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Общее"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Показать комбинации клавиш"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr "Спросить"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Выйти"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:177
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Параметры"
|
||||
|
||||
@@ -76,42 +43,342 @@ msgstr "Очищать поле ввода после отправки"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Поле ввода будет очищено после отправки"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Использовать обычный текст для вывода"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Будет использован обычный текст без форматирования"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "Закрывать все окна без предупреждения"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Все окна будут закрываться без предупреждения, это может перевести к потере "
|
||||
"данных"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Искать новости о провайдерах"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr "Новости о проблемах с провайдерами будут получены с сайта Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "Провайдеры"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Главное меню"
|
||||
|
||||
#: data/ui/window.blp:33
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Нет подключения к сети"
|
||||
|
||||
#: data/ui/window.blp:48
|
||||
msgid "Message"
|
||||
msgstr "Сообщение"
|
||||
|
||||
#: data/ui/window.blp:81 data/ui/window.blp:160
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Скопировать в буфер обмена"
|
||||
|
||||
#: data/ui/window.blp:88
|
||||
msgid "Ask"
|
||||
msgstr "Спросить"
|
||||
|
||||
#: data/ui/window.blp:97
|
||||
msgid "Wait"
|
||||
msgstr "Ждите"
|
||||
|
||||
#: data/ui/window.blp:112
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Ответ"
|
||||
|
||||
#: data/ui/window.blp:182
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Скопировать в буфер обмена"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Остановить"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "ОШИБКА"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr "ОПИСАНИЕ"
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Повторить"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Спросить"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Новое окно"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Комбинации клавиш"
|
||||
|
||||
#: data/ui/window.blp:187
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "О Bavarder"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Ключ API не предоставлен, вы можете предоставить его в настройках"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Открыть настройки"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "О Провайдере"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Как получить токен"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Параметры отсутствуют"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Ключ API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Запрос слишком длинный, разбиваем на фрагменты."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Вы не имеете доступа к этой модели"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Вы превысили текущую квоту, пожалуйста, проверьте информацию о вашем "
|
||||
"тарифном плане и счетах."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "Ошибка API"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Модель не выбрана, вы можете выбрать ее в параметрах"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "Url-адрес API"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Модель"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Как выбрать модель"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr "Давид Лапшин"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Авторское право © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Доступна новая версия!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Новое окно"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Сообщение"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Ждите"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Общее"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Показать комбинации клавиш"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Спросить"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Закрыть текущее окно"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Закрыть все окна"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Параметры"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Скопировать ответ"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Очистить"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "CatGPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Болтайте с GPT"
|
||||
|
||||
#~ msgid "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 "Выйти"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Прослушать"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Прослушивание"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Произнести"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Произношение"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Готов"
|
||||
|
||||
|
||||
300
po/sv.po
300
po/sv.po
@@ -4,13 +4,15 @@
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# 0xMRTT <0xmrtt@tuta.io>, 2023.
|
||||
# Morgan Antonsson <morgan.antonsson@gmail.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-04-27 22:07+0200\n"
|
||||
"PO-Revision-Date: 2023-04-27 17:37+0000\n"
|
||||
"Last-Translator: 0xMRTT <0xmrtt@tuta.io>\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 00:37+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Swedish <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/sv/>\n"
|
||||
"Language: sv\n"
|
||||
@@ -20,96 +22,272 @@ 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:6 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr ""
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
|
||||
msgid "Chit-chat with GPT"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:8
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:15
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Generellt"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Sluta"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:177
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Inställningar"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr ""
|
||||
msgstr "Prompt"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr ""
|
||||
msgstr "Töm prompt efter den har skickats"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Prompten kommer att rensas efter att den har skickats"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "Leverantörer"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
msgstr "Huvudmeny"
|
||||
|
||||
#: data/ui/window.blp:33
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Ingen kontakt med nätverket"
|
||||
|
||||
#: data/ui/window.blp:48
|
||||
msgid "Message"
|
||||
msgstr "Meddelande"
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Svar"
|
||||
|
||||
#: data/ui/window.blp:81 data/ui/window.blp:160
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopiera till urklipp"
|
||||
|
||||
#: data/ui/window.blp:88
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Stoppa"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Försök igen"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Fråga"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:97
|
||||
msgid "Wait"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:112
|
||||
msgid "Response"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:182
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Tangentbordsgenvägar"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Om Bavarder"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Ingen API-nyckel har angetts, du kan ange en i inställningarna"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Öppna inställningar"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
#, fuzzy
|
||||
#| msgid "About Bavarder"
|
||||
msgid "About provider"
|
||||
msgstr "Om Bavarder"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:187
|
||||
msgid "About Bavarder"
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Läge:"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Meddelande"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Vänta"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Generellt"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Visa genvägar"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Fråga"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Inställningar"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Response"
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Svar"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Rensa"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Chatta med en AI"
|
||||
|
||||
#~ msgid "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"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Lyssna"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Lyssnar"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Tala"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Talar"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "läst"
|
||||
|
||||
|
||||
203
po/ta.po
Normal file
203
po/ta.po
Normal file
@@ -0,0 +1,203 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# "K.B.Dharun Krishna" <kbdharunkrishna@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-02 11:46+0000\n"
|
||||
"Last-Translator: \"K.B.Dharun Krishna\" <kbdharunkrishna@gmail.com>\n"
|
||||
"Language-Team: Tamil <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/ta/>\n"
|
||||
"Language: ta\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "பவார்டர்"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "விருப்பத்தேர்வு"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "உள்ளீடு"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "அனுப்பிய பின் உள்ளீட்டை அழிக்கவும்"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "அனுப்பிய பிறகு உள்ளீடு அழிக்கப்படும்"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "வெளியீட்டிற்கு எளிய உரையைப் பயன்படுத்தவும்"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "வடிவமைப்பு இல்லாத எளிய உரை பயன்படுத்தப்படும்"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "எச்சரிக்கை இல்லாமல் அனைத்து சாளரங்களையும் மூடு"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"அனைத்து சாளரங்களும் எச்சரிக்கை இல்லாமல் மூடப்படும், இது தரவு இழப்புக்கு வழிவகுக்கும்"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "வழங்குநர் செய்திகளைத் தேடுங்கள்"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr "வழங்குநர்களுடனான சிக்கல்கள் பற்றிய செய்திகள் பவார்டர் இணையதளத்தில் இருந்து பெறப்படும்"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "வழங்குபவர்கள்"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "முதன்மை பட்டியல்"
|
||||
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "பிணைய இணைப்பு இல்லை"
|
||||
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "பதில்"
|
||||
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "கிளிப்போர்டுக்கு நகலெடுக்கவும்"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "நிறுத்து"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "கேள்"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "புதிய சாளரம்"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "விசைப்பலகை குறுக்குவழிகள்"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "பவார்டர் பற்றி"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "API விசை எதுவும் வழங்கப்படவில்லை, நீங்கள் அமைப்புகளில் ஒன்றை வழங்கலாம்"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "அமைப்புகளைத் திறக்கவும்"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "வழங்குபவர் பற்றி"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "குறி அடையாளம் பெறுவது எப்படி"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "விருப்பத்தேர்வுகள் இல்லை"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "API விசை"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "உள்ளீடு மிக நீளமானது, துண்டுகளாகப் பிரிக்கப்படுகிறது."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "இந்த மாதிரிக்கான அணுகல் உங்களிடம் இல்லை"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"உங்கள் தற்போதைய ஒதுக்கீட்டை மீறிவிட்டீர்கள், உங்கள் திட்டம் மற்றும் கட்டண விவரங்களைச் "
|
||||
"சரிபார்க்கவும்."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "API பிழை"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "எந்த மாதிரியும் தேர்ந்தெடுக்கப்படவில்லை, விருப்பத்தேர்வுகளில் ஒன்றைத் தேர்ந்தெடுக்கலாம்"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API Url"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "மாதிரி"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "ஒரு மாதிரியை எவ்வாறு தேர்வு செய்வது"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr "K.B.Dharun Krishna https://github.com/kbdharun"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "பதிப்புரிமை © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "புதிய பதிப்பு உள்ளது!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "புதிய சாளரம்"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "செய்தி"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "காத்திரு"
|
||||
264
po/th.po
Normal file
264
po/th.po
Normal file
@@ -0,0 +1,264 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# watchakorn-18k <porton555@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 00:37+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Thai <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/th/>\n"
|
||||
"Language: th\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "แบบวาร์เดอร์"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "การตั้งค่า"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "พรอมต์"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "ล้างพร้อมต์หลังจากส่ง"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "พรอมต์จะถูกล้างหลังจากส่ง"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "ผู้ให้บริการ"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "เมนูหลัก"
|
||||
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "ไม่มีการเชื่อมต่อเครือข่าย"
|
||||
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "การตอบสนอง"
|
||||
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "คัดลอกไปยังคลิปบอร์ด"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "ลองใหม่อีกครั้ง"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "ถาม"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "แป้นพิมพ์ลัด"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "เกี่ยวกับแบบวาร์เดอร์"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "ไม่มีรหัส API คุณสามารถระบุได้ในการตั้งค่าได้"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "เปิดการตั้งค่า"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
#, fuzzy
|
||||
#| msgid "About Bavarder"
|
||||
msgid "About provider"
|
||||
msgstr "เกี่ยวกับแบบวาร์เดอร์"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "ข้อความ"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "รอ"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "ทั่วไป"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "แสดงทางลัด"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "ถาม"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "การตั้งค่า"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "คัดลอกการตอบกลับ"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "ล้าง"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "แมว GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "แชทกับ AI"
|
||||
|
||||
#~ msgid "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 "ออก"
|
||||
300
po/tr.po
Normal file
300
po/tr.po
Normal file
@@ -0,0 +1,300 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# keyiflerolsun <keyiflerolsun@gmail.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
# oktay454 <oktay@e.email>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 00:37+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Turkish <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/tr/>\n"
|
||||
"Language: tr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Tercihler"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "Girdi"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Gönderdikten sonra girdi alanını temizle"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Gönderimden sonra girdi alanı temizlenecek"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Çıktı için düz metin kullanın"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Biçimlendirilmemiş düz metin kullanılacaktır"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "Uyarı vermeden tüm pencereleri kapatın"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Tüm pencereler uyarılmadan kapatılacaktır, bu veri kaybına neden olabilir"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Sağlayıcı haberlerini arayın"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
"Sağlayıcılarla ilgili sorunlar hakkındaki haberler Bavarder web sitesinden "
|
||||
"alınacaktır"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "Sağlayıcılar"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Ana Menü"
|
||||
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Ağ bağlantısı yok"
|
||||
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Yanıt"
|
||||
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Panoya kopyala"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Dur"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Yeniden deneyin"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Sor"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Yeni pencere"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Klavye kısayolları"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Bavarder Hakkında"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "API anahtarı sağlanmadı, ayarlarda bir tane sağlayabilirsiniz"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Ayarları aç"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Sağlayıcı hakkında"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Jeton nasıl alınır"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Kullanılabilir tercih yok"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "API Anahtarı"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Girdi çok uzun, parçalara ayırıyor."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Bu modele erişiminiz yok"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Mevcut kotanızı aştınız, lütfen planınızı ve fatura ayrıntılarınızı kontrol "
|
||||
"edin."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "API Hatası"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Seçili model yok, tercihlerden birini seçebilirsiniz"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API URL"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Bir model nasıl seçilir"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"Kemal Oktay Aktoğan | @oktay454 | oktay@e.email\n"
|
||||
"Launchpad Contributions:\n"
|
||||
" Kudret EMRE https://launchpad.net/~kudretemre"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Telif hakkı © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Yeni sürüm mevcut!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Yeni Pencere"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Mesaj"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Bekle"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Genel"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Kısayolları Göster\""
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Sor"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Tercihler"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Response"
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Yanıt"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Temizle"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Chit AI ile sohbet edin"
|
||||
|
||||
#~ msgid "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ış"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Dinle"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Dinleniyor"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Konuş"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Konuşuyor"
|
||||
342
po/uk.po
342
po/uk.po
@@ -4,112 +4,310 @@
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# 0xMRTT <0xmrtt@tuta.io>, 2023.
|
||||
# Orest58008 <orest58008@tuta.io>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
# volkov <d2oo1dle2x@gmail.com>, 2023.
|
||||
# Anatolii Bielibov <anatoly136ua@gmail.com>, 2023.
|
||||
# Anatolii Bielibov <Anatoly136UA@users.noreply.translate.codeberg.org>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-04-27 22:07+0200\n"
|
||||
"PO-Revision-Date: 2023-04-27 17:37+0000\n"
|
||||
"Last-Translator: 0xMRTT <0xmrtt@tuta.io>\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-04 00:37+0000\n"
|
||||
"Last-Translator: Anatolii Bielibov <Anatoly136UA@users.noreply.translate."
|
||||
"codeberg.org>\n"
|
||||
"Language-Team: Ukrainian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/uk/>\n"
|
||||
"Language: uk\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr ""
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
|
||||
msgid "Chit-chat with GPT"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:8
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:15
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Загальні"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Вийти"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:177
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Опції"
|
||||
msgstr "Налаштування"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr ""
|
||||
msgstr "Запит"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr ""
|
||||
msgstr "Очищати запит після надсилання"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr ""
|
||||
msgstr "Поле запиту буде очищене після надсилання"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Виводити звичайний текст"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Звичайний текст, без форматування, буде використовуватися"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "Закривати всі вікна без попередження"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Усі вікна закриватимуться без попередження, це може призвести до втрати даних"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Шукати новини про постачальників"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
"Новини про проблеми з постачальниками надходитимуть з вебсайту Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "Постачальники"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
msgstr "Головне меню"
|
||||
|
||||
#: data/ui/window.blp:33
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Відсутнє з'єднання з мережею"
|
||||
msgstr "Відсутнє з’єднання з мережею"
|
||||
|
||||
#: data/ui/window.blp:48
|
||||
msgid "Message"
|
||||
msgstr "Повідомлення"
|
||||
|
||||
#: data/ui/window.blp:81 data/ui/window.blp:160
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Копіювати"
|
||||
|
||||
#: data/ui/window.blp:88
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:97
|
||||
msgid "Wait"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:112
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr ""
|
||||
msgstr "Відповідь"
|
||||
|
||||
#: data/ui/window.blp:182
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Копіювати до буфера обміну"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Зупинити"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "ПОМИЛКА"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr "ОПИС"
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Спробуйте ще"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Запитати"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Нове вікно"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Клавіатурні скорочення"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Про Bavarder"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Відсутній ключ API, надайте його в налаштуваннях"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Відкрити налаштування"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Про постачальника"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Як отримати токен"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Налаштування відсутні"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Ключ API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
#, fuzzy
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Завеликий запит, розділяємо на шматки."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Ви не маєте доступу до цієї моделі"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Ви перевищили свою поточну квоту — будь ласка, перевірте свій тарифний план "
|
||||
"і платіжні дані."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "Помилка API"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Модель не вибрано, виберіть будь-яку в налаштуваннях"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "URL-адреса API"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Модель"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Як вибрати модель"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:187
|
||||
msgid "About Bavarder"
|
||||
msgstr ""
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Авторське право © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Доступна нова версія!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Нове вікно"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Повідомлення"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Чекайте"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Загальні"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Показати клавіатурні скорочення"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Запитати"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Закрити поточне вікно"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Закрити всі вікна"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Налаштування"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Копіювати відповідь"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Очистити"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Кіт GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Побалакати з ШІ"
|
||||
|
||||
#~ msgid "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 "Вийти"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Слухати"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Слухає"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Говорити"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Говорить"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Готово"
|
||||
|
||||
284
po/zh_Hans.po
Normal file
284
po/zh_Hans.po
Normal file
@@ -0,0 +1,284 @@
|
||||
# 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-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-05 03:29+0000\n"
|
||||
"Last-Translator: yangyangdaji <1504305527@qq.com>\n"
|
||||
"Language-Team: Chinese (Simplified) <https://translate.codeberg.org/projects/"
|
||||
"bavarder/bavarder/zh_Hans/>\n"
|
||||
"Language: zh_Hans\n"
|
||||
"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.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "首选项"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
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:271
|
||||
msgid "Providers"
|
||||
msgstr "提供者"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "主菜单"
|
||||
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "无网络连接"
|
||||
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "回复"
|
||||
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "复制到剪贴板"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "停止"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "错误"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr "描述"
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "重试"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "询问"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "新窗口"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "键盘快捷键"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "关于 Bavarder"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "没有提供API密钥,您可以在设置中提供一个"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "打开设置"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "关于供应商"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "如何获得 token"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "没有可用的选项"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "API 密钥"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "提示太长,分裂成块。"
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "您无权访问此模型"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr "您超出了当前配额,请检查您的计划和账单明细。"
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "API 错误"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "没有选择模型,您可以在选项中选择一个"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API 地址"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "模型"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "如何选择一个模型"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"Launchpad Contributions:\n"
|
||||
" Wang Dianjin https://launchpad.net/~tuhaihe\n"
|
||||
" aerowolf https://launchpad.net/~aerowolf-tom\n"
|
||||
" 长孙弘奕 https://launchpad.net/~krwy0330"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Copyright © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "新版本可用!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "新窗口"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "消息"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "等待"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "常规"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "显示快捷方式"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "问"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "关闭当前窗口"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "关闭全部窗口"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "首选项"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "复制回复"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "清除"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "与AI一起聊天"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "主界面的屏幕截图"
|
||||
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "首选项界面的屏幕截图"
|
||||
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "聊天"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Cat GPT"
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "首选项"
|
||||
|
||||
#~ msgid "Update translations"
|
||||
#~ msgstr "- 更新了新的翻译。"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "键盘快捷键"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "键盘快捷键"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "退出"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "特别感谢"
|
||||
|
||||
#~ msgid "Text copied"
|
||||
#~ msgstr "复制文本"
|
||||
@@ -2,4 +2,25 @@
|
||||
# chmod +x flatpak-pip-generator
|
||||
# ./flatpak-pip-generator --requirements-file=requirements.txt --output pypi-dependencies
|
||||
|
||||
baichat-py
|
||||
# use https://johannesjh.github.io/req2flatpak/main/cli.html
|
||||
# 1. pip-compile -o r.txt requirements.txt
|
||||
# 2. ./req2flatpak.py --requirements-file requirements.txt --target-platforms 310-x86_64 310-aarch64 > build-aux/pypi-dependencies.json
|
||||
|
||||
Pygments
|
||||
baichat_py
|
||||
googlebardpy
|
||||
markdown
|
||||
openai
|
||||
pymdown-extensions
|
||||
requests
|
||||
text-generation
|
||||
gradio_client
|
||||
|
||||
|
||||
# replace the curl-cffi entry with
|
||||
# {
|
||||
# "type": "file",
|
||||
# "url": "https://files.pythonhosted.org/packages/d1/6f/5d591a5628423af4598e2d6ff0861fcbc554cc259590fac9f97d9c984611/curl_cffi-0.5.6-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
|
||||
# "sha256": "7a9df9fabff038f1ac9e7e6f32b5edb5d8df8c2eec64f53f513de1766c17ffdb"
|
||||
# },
|
||||
#
|
||||
23
snap/bavarder.patch
Normal file
23
snap/bavarder.patch
Normal file
@@ -0,0 +1,23 @@
|
||||
diff -Naur a/data/io.github.Bavarder.Bavarder.appdata.xml.in b/data/io.github.Bavarder.Bavarder.appdata.xml.in
|
||||
--- a/data/io.github.Bavarder.Bavarder.appdata.xml.in 2023-06-09 11:17:01.939402268 +0530
|
||||
+++ b/data/io.github.Bavarder.Bavarder.appdata.xml.in 2023-06-09 11:17:25.235254967 +0530
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>io.github.Bavarder.Bavarder</id>
|
||||
+ <icon type="stock">snap.bavarder.io.github.Bavarder.Bavarder</icon>
|
||||
<name>Bavarder</name>
|
||||
<summary>Chit-chat with an AI</summary>
|
||||
<developer_name>0xMRTT</developer_name>
|
||||
diff -Naur a/data/io.github.Bavarder.Bavarder.desktop.in b/data/io.github.Bavarder.Bavarder.desktop.in
|
||||
--- a/data/io.github.Bavarder.Bavarder.desktop.in 2023-06-09 11:09:08.652098824 +0530
|
||||
+++ b/data/io.github.Bavarder.Bavarder.desktop.in 2023-06-09 11:17:37.047177451 +0530
|
||||
@@ -1,7 +1,7 @@
|
||||
[Desktop Entry]
|
||||
Name=Bavarder
|
||||
Exec=bavarder
|
||||
-Icon=io.github.Bavarder.Bavarder
|
||||
+Icon=snap.bavarder.io.github.Bavarder.Bavarder
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=GTK;
|
||||
94
snap/snapcraft.yaml
Normal file
94
snap/snapcraft.yaml
Normal file
@@ -0,0 +1,94 @@
|
||||
name: bavarder # you probably want to 'snapcraft register <name>'
|
||||
base: core22 # the base snap is the execution environment for this snap
|
||||
adopt-info: bavarder
|
||||
grade: stable # must be 'stable' to release into candidate/stable channels
|
||||
confinement: strict # use 'strict' once you have the right plugs and slots
|
||||
|
||||
layout:
|
||||
/usr/lib/x86_64-linux-gnu/webkitgtk-6.0:
|
||||
bind: $SNAP/webkitgtk-platform/usr/lib/x86_64-linux-gnu/webkitgtk-6.0
|
||||
|
||||
parts:
|
||||
blueprint-compiler:
|
||||
source: https://gitlab.gnome.org/jwestman/blueprint-compiler.git
|
||||
source-tag: 'v0.8.1'
|
||||
plugin: meson
|
||||
meson-parameters:
|
||||
- --prefix=/usr
|
||||
override-prime: |
|
||||
echo 'Skip'
|
||||
|
||||
bavarder:
|
||||
after: [blueprint-compiler]
|
||||
# See 'snapcraft plugins'
|
||||
plugin: meson
|
||||
source: https://github.com/Bavarder/Bavarder.git
|
||||
source-tag: '0.2.3'
|
||||
meson-parameters:
|
||||
- --prefix=/snap/bavarder/current/usr
|
||||
- -Dbuildtype=release
|
||||
build-snaps:
|
||||
- webkitgtk-6-gnome-2204-sdk/latest/stable
|
||||
build-environment:
|
||||
- LD_LIBRARY_PATH: /snap/webkitgtk-sdk/current/usr/lib:/snap/webkitgtk-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET:/snap/webkitgtk-sdk/current/usr/lib/webkitgtk-6.0:/snap/webkitgtk-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0:$LD_LIBRARY_PATH
|
||||
- PYTHONPATH: $CRAFT_STAGE/usr/lib/python3/dist-packages:$CRAFT_PART_INSTALL/usr/local/lib/python3.10/dist-packages:$PYTHONPATH
|
||||
- GI_TYPELIB_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0:/snap/gnome-42-2204-sdk/current/usr/lib/girepository-1.0:/snap/webkitgtk-6-gnome-2204-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0
|
||||
override-pull: |
|
||||
craftctl default
|
||||
patch -p1 < $CRAFT_PROJECT_DIR/snap/bavarder.patch
|
||||
pip install --prefix=$CRAFT_PART_INSTALL/usr baichat-py==0.2.1 googlebardpy==0.1.0 openai==0.27.7 pymdown-extensions==10.0.1 requests==2.30.0 text-generation==0.5.2 gradio-client==0.2.5 lxml
|
||||
override-build: |
|
||||
craftctl default
|
||||
mkdir -p $CRAFT_PART_INSTALL/meta/gui
|
||||
cp -r $CRAFT_PART_INSTALL/snap/bavarder/current/usr/share/icons $CRAFT_PART_INSTALL/meta/gui/
|
||||
find $CRAFT_PART_INSTALL/meta/gui/icons -type f -not -name 'io.github.Bavarder.Bavarder*' -exec rm {} + -o -type d -empty -exec rmdir {} +
|
||||
for i in `find $CRAFT_PART_INSTALL/meta/gui/icons -name "*.svg" -o -name "*.png"`; do
|
||||
mv $i "`dirname $i`/snap.$CRAFT_PROJECT_NAME.`basename $i`"
|
||||
done
|
||||
sed -e '1c#!/usr/bin/python3' -i $CRAFT_PART_INSTALL/usr/local/bin/*
|
||||
sed -e '1c#!/usr/bin/env python3' -i $CRAFT_PART_INSTALL/snap/bavarder/current/usr/bin/bavarder
|
||||
chmod +x $CRAFT_PART_INSTALL/snap/bavarder/current/usr/bin/bavarder
|
||||
parse-info: [usr/share/appdata/io.github.Bavarder.Bavarder.appdata.xml]
|
||||
organize:
|
||||
snap/bavarder/current: .
|
||||
usr/local: usr
|
||||
prime:
|
||||
- -snap/bavarder
|
||||
gst:
|
||||
after: [ bavarder ]
|
||||
plugin: nil
|
||||
stage-packages:
|
||||
- gir1.2-gstreamer-1.0
|
||||
prime:
|
||||
- usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0/Gst-1.0.typelib
|
||||
- usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0/GstBase-1.0.typelib
|
||||
- usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0/GstCheck-1.0.typelib
|
||||
- usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0/GstController-1.0.typelib
|
||||
- usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0/GstNet-1.0.typelib
|
||||
|
||||
plugs:
|
||||
webkitgtk-6-gnome-2204:
|
||||
interface: content
|
||||
target: $SNAP/webkitgtk-platform
|
||||
default-provider: webkitgtk-6-gnome-2204
|
||||
|
||||
slots:
|
||||
bavarder:
|
||||
interface: dbus
|
||||
bus: session
|
||||
name: io.github.Bavarder.Bavarder
|
||||
|
||||
apps:
|
||||
bavarder:
|
||||
command: usr/bin/bavarder
|
||||
extensions: [gnome]
|
||||
common-id: io.github.Bavarder.Bavarder
|
||||
environment:
|
||||
PYTHONPATH: $SNAP/usr/lib/python3.10/dist-packages:$PYTHONPATH
|
||||
GI_TYPELIB_PATH: $SNAP/webkitgtk-platform/usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0:$GI_TYPELIB_PATH
|
||||
LD_LIBRARY_PATH: $SNAP/webkitgtk-platform/usr/lib/$SNAPCRAFT_ARCH_TRIPLET:$SNAP/webkitgtk-platform/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/webkitgtk-6.0:$LD_LIBRARY_PATH
|
||||
plugs:
|
||||
- network
|
||||
- network-status
|
||||
- network-bind
|
||||
- unity7
|
||||
1143
src/main.py
1143
src/main.py
File diff suppressed because it is too large
Load Diff
@@ -16,16 +16,7 @@ configure_file(
|
||||
configure_file(
|
||||
input: 'constants.py.in',
|
||||
output: 'constants.py',
|
||||
configuration: configuration_data({
|
||||
'APP_ID': APPLICATION_ID,
|
||||
'RELEASE_VER': meson.project_version(),
|
||||
'VERSION': meson.project_version() + VERSION_SUFFIX,
|
||||
'BUILD_TYPE': get_option('buildtype'),
|
||||
'PROJECT_URL': PROJECT_URL,
|
||||
'DATA_DIR': conf.get('DATA_DIR'),
|
||||
'PKGDATA_DIR': PKGDATA_DIR,
|
||||
'LOCALE_DIR': conf.get('LOCALE_DIR'),
|
||||
}),
|
||||
configuration: conf,
|
||||
install: true,
|
||||
install_dir: moduledir
|
||||
)
|
||||
@@ -33,8 +24,11 @@ configure_file(
|
||||
bavarder_sources = [
|
||||
'__init__.py',
|
||||
'main.py',
|
||||
'preferences.py',
|
||||
'window.py',
|
||||
'threading.py',
|
||||
]
|
||||
|
||||
PY_INSTALLDIR.install_sources(bavarder_sources, subdir: moduledir)
|
||||
|
||||
subdir('providers')
|
||||
subdir('views')
|
||||
subdir('widgets')
|
||||
@@ -1,29 +0,0 @@
|
||||
from gi.repository import Gtk, Adw
|
||||
|
||||
|
||||
@Gtk.Template(resource_path="/io/github/Bavarder/Bavarder/ui/preferences.ui")
|
||||
class Preferences(Adw.PreferencesWindow):
|
||||
__gtype_name__ = "Preferences"
|
||||
|
||||
clear_after_send_switch = Gtk.Template.Child()
|
||||
|
||||
def __init__(self, application, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
|
||||
self.app = application
|
||||
self.settings = application.settings
|
||||
|
||||
clear_after_send = self.settings.get_boolean("clear-after-send")
|
||||
self.clear_after_send_switch.props.state = clear_after_send
|
||||
self.clear_after_send_switch.connect(
|
||||
"state-set", self.on_clear_after_send_switch_toggled
|
||||
)
|
||||
|
||||
def on_clear_after_send_switch_toggled(self, *args):
|
||||
"""Callback for the clear_after_send_switch toggled event."""
|
||||
state = self.clear_after_send_switch.props.state
|
||||
|
||||
if state:
|
||||
self.settings.set_boolean("clear-after-send", True)
|
||||
else:
|
||||
self.settings.set_boolean("clear-after-send", False)
|
||||
38
src/providers/__init__.py
Normal file
38
src/providers/__init__.py
Normal file
@@ -0,0 +1,38 @@
|
||||
# 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, HuggingChatMask
|
||||
from .hfgpt2 import HuggingFaceGPT2Provider
|
||||
from .hfdialogpt import HuggingFaceDialoGPTLargeProvider
|
||||
# from .bard import BardProvider
|
||||
from .hfgpt2large import HuggingFaceGPT2LargeProvider
|
||||
from .hfgpt2xl import HuggingFaceGPT2XLProvider
|
||||
from .stablelm import StableLMProvider
|
||||
|
||||
PROVIDERS = {
|
||||
"alpacalora": AlpacaLoRAProvider,
|
||||
"baichat": BAIChatProvider,
|
||||
# "bard": BardProvider, # Disabled because we need more documentation on how to use it
|
||||
"catgpt": CatGPTProvider,
|
||||
"hfdialogpt": HuggingFaceDialoGPTLargeProvider,
|
||||
"hfgoogleflant5xxl": HuggingFaceGoogleFlanT5XXLProvider,
|
||||
"hfgoogleflanu12": HuggingFaceGoogleFlanU12Provider,
|
||||
"hfgpt2": HuggingFaceGPT2Provider,
|
||||
"hfgpt2large": HuggingFaceGPT2LargeProvider,
|
||||
"hfgpt2xl": HuggingFaceGPT2XLProvider,
|
||||
"hfopenassistantsft1pythia12b": HuggingFaceOpenAssistantSFT1PythiaProvider,
|
||||
"huggingchat": HuggingChatMask, # hugging chat is replaced by open assistant
|
||||
"local": LocalModel,
|
||||
"openaicustom": OpenAICustomProvider,
|
||||
"openaigpt35turbo": OpenAIGPT35TurboProvider,
|
||||
"openaigpt4": OpenAIGPT4Provider,
|
||||
"openaitextdavinci003": OpenAITextDavinci003,
|
||||
"stablelm": StableLMProvider,
|
||||
}
|
||||
55
src/providers/alpacalora.py
Normal file
55
src/providers/alpacalora.py
Normal file
@@ -0,0 +1,55 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
import socket
|
||||
import requests
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class AlpacaLoRAProvider(BavarderProvider):
|
||||
name = "Alpaca-LoRA"
|
||||
slug = "alpacalora"
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
|
||||
def ask(self, prompt):
|
||||
try:
|
||||
response = requests.post(
|
||||
"https://tloen-alpaca-lora.hf.space/run/predict",
|
||||
json={
|
||||
"data": [
|
||||
prompt,
|
||||
prompt,
|
||||
0.1,
|
||||
0.75,
|
||||
40,
|
||||
4,
|
||||
128,
|
||||
]
|
||||
},
|
||||
).json()
|
||||
except socket.gaierror:
|
||||
self.no_connection()
|
||||
return ""
|
||||
else:
|
||||
self.win.banner.set_revealed(False)
|
||||
if "error" in response:
|
||||
self.win.banner.props.title = response["error"]
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
return ""
|
||||
else:
|
||||
r = response["data"][0]
|
||||
GLib.idle_add(self.update_response, r)
|
||||
return r
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
|
||||
def save(self):
|
||||
return {}
|
||||
|
||||
def load(self, data):
|
||||
pass
|
||||
41
src/providers/baichat.py
Normal file
41
src/providers/baichat.py
Normal file
@@ -0,0 +1,41 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
from baichat_py import Completion
|
||||
import socket
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class BAIChatProvider(BavarderProvider):
|
||||
name = "BAI Chat"
|
||||
slug = "baichat"
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
|
||||
def ask(self, prompt):
|
||||
try:
|
||||
response = ""
|
||||
for token in Completion.create(prompt):
|
||||
response += token
|
||||
GLib.idle_add(self.update_response, response)
|
||||
except KeyError:
|
||||
self.win.banner.set_revealed(False)
|
||||
return ""
|
||||
except socket.gaierror:
|
||||
self.no_connection()
|
||||
return ""
|
||||
else:
|
||||
self.win.banner.set_revealed(False)
|
||||
GLib.idle_add(self.update_response, response)
|
||||
return response
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
|
||||
def save(self):
|
||||
return {}
|
||||
|
||||
def load(self, data):
|
||||
pass
|
||||
80
src/providers/bard.py
Normal file
80
src/providers/bard.py
Normal file
@@ -0,0 +1,80 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
import socket
|
||||
|
||||
from googlebardpy import BardChat
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class BardProvider(BavarderProvider):
|
||||
name = "Bard"
|
||||
slug = "bard"
|
||||
version = "0.1.0"
|
||||
url = "https://bavarder.codeberg.page/help/bavarder"
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
self.pref_win = None
|
||||
|
||||
def ask(self, prompt):
|
||||
try:
|
||||
response = self.chat.ask(prompt)
|
||||
response = response["content"]
|
||||
except AttributeError:
|
||||
self.no_api_key()
|
||||
return ""
|
||||
except socket.gaierror:
|
||||
self.no_connection()
|
||||
return ""
|
||||
else:
|
||||
self.hide_banner()
|
||||
GLib.idle_add(self.update_response, response)
|
||||
return response
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return True
|
||||
|
||||
def preferences(self, win):
|
||||
self.pref_win = win
|
||||
|
||||
self.expander = Adw.ExpanderRow()
|
||||
self.expander.props.title = self.name
|
||||
|
||||
self.expander.add_action(self.about())
|
||||
self.expander.add_action(self.enable_switch())
|
||||
|
||||
self.api_row = Adw.PasswordEntryRow()
|
||||
self.api_row.connect("apply", self.on_apply)
|
||||
self.api_row.props.title = "__Secure-1PSID cookie"
|
||||
self.api_row.set_show_apply_button(True)
|
||||
self.api_row.add_suffix(self.how_to_get_a_token())
|
||||
self.expander.add_row(self.api_row)
|
||||
|
||||
return self.expander
|
||||
|
||||
def on_apply(self, widget):
|
||||
self.hide_banner()
|
||||
api_key = self.api_row.get_text()
|
||||
self.api_key = api_key
|
||||
try:
|
||||
self.chat = BardChat(api_key)
|
||||
except AttributeError:
|
||||
self.banner.props.title = "Invalid API key"
|
||||
self.banner.props.button_label = ""
|
||||
self.banner.set_revealed(True)
|
||||
|
||||
def save(self):
|
||||
try:
|
||||
return {"api_key": self.api_key}
|
||||
except AttributeError: # no api key
|
||||
return {}
|
||||
|
||||
def load(self, data):
|
||||
try:
|
||||
self.chat = BardChat(data["api_key"])
|
||||
self.api_key = data["api_key"]
|
||||
except AttributeError:
|
||||
self.chat = None
|
||||
self.api_key = None
|
||||
140
src/providers/base.py
Normal file
140
src/providers/base.py
Normal file
@@ -0,0 +1,140 @@
|
||||
from gettext import gettext as _
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
import json
|
||||
|
||||
|
||||
class BavarderProvider:
|
||||
name = None
|
||||
slug = None
|
||||
description = ""
|
||||
languages = ""
|
||||
version = "0.1.7"
|
||||
developer_name = "0xMRTT"
|
||||
developers = ["0xMRTT https://github.com/0xMRTT"]
|
||||
license_type = Gtk.License.GPL_3_0
|
||||
copyright = "© 2023 0xMRTT"
|
||||
url = "https://bavarder.codeberg.page/help/bard"
|
||||
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
self.win = win
|
||||
self.banner = win.banner
|
||||
self.app = app
|
||||
self.chat = None
|
||||
self.update_response = app.update_response
|
||||
|
||||
def ask(self, prompt):
|
||||
raise NotImplementedError()
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
raise NotImplementedError()
|
||||
|
||||
def preferences(self, win):
|
||||
return self.no_preferences(win)
|
||||
|
||||
def no_api_key(self, title=None):
|
||||
if title:
|
||||
self.win.banner.props.title = title
|
||||
else:
|
||||
self.win.banner.props.title = _(
|
||||
"No API key provided, you can provide one in settings"
|
||||
)
|
||||
self.win.banner.props.button_label = _("Open settings")
|
||||
self.win.banner.connect("button-clicked", self.app.on_preferences_action)
|
||||
self.win.banner.set_revealed(True)
|
||||
|
||||
def no_connection(self):
|
||||
self.win.banner.props.title = _("No network connection")
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
|
||||
def hide_banner(self):
|
||||
self.win.banner.set_revealed(False)
|
||||
|
||||
def about(self, *args, **kwargs):
|
||||
popover = Gtk.Popover()
|
||||
vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
||||
title = Gtk.Label()
|
||||
title.set_markup(f"<b>{self.name}</b>\n<small>Version {self.version}</small>")
|
||||
title.set_halign(Gtk.Align.CENTER)
|
||||
title.set_valign(Gtk.Align.CENTER)
|
||||
vbox.append(title)
|
||||
|
||||
if self.description:
|
||||
description = Gtk.Label()
|
||||
if self.languages:
|
||||
description.set_markup(
|
||||
f"<small>{self.description}</small>\n<small>Languages: {self.languages}</small>"
|
||||
)
|
||||
else:
|
||||
description.set_markup(f"<small>{self.description}</small>")
|
||||
description.set_halign(Gtk.Align.CENTER)
|
||||
description.set_valign(Gtk.Align.CENTER)
|
||||
vbox.append(description)
|
||||
popover.set_child(vbox)
|
||||
|
||||
about_button = Gtk.MenuButton()
|
||||
about_button.set_icon_name("help-about-symbolic")
|
||||
about_button.set_tooltip_text(_("About provider"))
|
||||
about_button.add_css_class("flat")
|
||||
about_button.set_valign(Gtk.Align.CENTER)
|
||||
about_button.set_popover(popover)
|
||||
return about_button
|
||||
|
||||
def open_documentation(self, *args, **kwargs):
|
||||
GLib.spawn_command_line_async(
|
||||
f"xdg-open {self.url}"
|
||||
)
|
||||
|
||||
def how_to_get_a_token(self):
|
||||
about_button = Gtk.Button()
|
||||
about_button.set_icon_name("dialog-information-symbolic")
|
||||
about_button.set_tooltip_text(_("How to get a token"))
|
||||
about_button.add_css_class("flat")
|
||||
about_button.set_valign(Gtk.Align.CENTER)
|
||||
about_button.connect("clicked", self.open_documentation)
|
||||
return about_button
|
||||
|
||||
def enable_switch(self):
|
||||
enabled = Gtk.Switch()
|
||||
enabled.set_active(self.slug in self.app.enabled_providers)
|
||||
enabled.connect("notify::active", self.on_enabled)
|
||||
enabled.set_valign(Gtk.Align.CENTER)
|
||||
return enabled
|
||||
|
||||
def no_preferences(self, win):
|
||||
self.pref_win = win
|
||||
|
||||
self.expander = Adw.ExpanderRow()
|
||||
self.expander.props.title = self.name
|
||||
|
||||
self.expander.add_action(self.about()) # TODO: in Adw 1.4, use add_suffix
|
||||
self.expander.add_action(self.enable_switch())
|
||||
|
||||
self.no_pref_row = Adw.ActionRow()
|
||||
self.no_pref_row.props.title = _("No preferences available")
|
||||
self.expander.add_row(self.no_pref_row)
|
||||
|
||||
return self.expander
|
||||
|
||||
def save(self):
|
||||
return {}
|
||||
|
||||
def load(self, data):
|
||||
raise NotImplementedError()
|
||||
|
||||
def chunk(self, prompt, n=4000):
|
||||
if len(prompt) > n:
|
||||
print("Chuncking prompt")
|
||||
prompt = [(prompt[i : i + n]) for i in range(0, len(prompt), n)]
|
||||
return prompt
|
||||
|
||||
def on_enabled(self, widget, *args):
|
||||
if widget.get_active():
|
||||
self.app.enabled_providers.append(self.slug)
|
||||
else:
|
||||
self.app.enabled_providers.remove(self.slug)
|
||||
self.app.load_dropdown()
|
||||
42
src/providers/baseoffline.py
Normal file
42
src/providers/baseoffline.py
Normal file
@@ -0,0 +1,42 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
import requests
|
||||
import shutil
|
||||
|
||||
class BaseOfflineProvider(BavarderProvider):
|
||||
data = {
|
||||
"setup": False,
|
||||
"weight_path": "",
|
||||
}
|
||||
download_url = ""
|
||||
|
||||
def save(self):
|
||||
return data
|
||||
|
||||
def load(self, data):
|
||||
self.data = data
|
||||
|
||||
def download_file(self, url, filename=None):
|
||||
if not filename:
|
||||
filename = url.split('/')[-1]
|
||||
|
||||
with requests.get(url, stream=True) as r:
|
||||
with open(filename, 'wb') as f:
|
||||
shutil.copyfileobj(r.raw, f)
|
||||
|
||||
return filename
|
||||
|
||||
|
||||
def setup(self):
|
||||
if self.data["setup"]:
|
||||
return
|
||||
else:
|
||||
self.data["setup"] = True
|
||||
self.data["weight_path"] = self.download_file(self.download_url)
|
||||
|
||||
def ask(self, prompt):
|
||||
self.setup()
|
||||
return self._ask(prompt)
|
||||
|
||||
def _ask(self, prompt):
|
||||
raise NotImplementedError()
|
||||
58
src/providers/catgpt.py
Normal file
58
src/providers/catgpt.py
Normal file
@@ -0,0 +1,58 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
from random import choice, randint
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class CatGPTProvider(BavarderProvider):
|
||||
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)
|
||||
self.chat = None
|
||||
|
||||
def ask(self, prompt):
|
||||
return " ".join([self.pick_generator()() for i in range(randint(1, 12))])
|
||||
|
||||
def pick_generator(self):
|
||||
if randint(1, 15) == 1:
|
||||
return choice(
|
||||
[
|
||||
lambda: "ня" * randint(1, 4),
|
||||
lambda: "ニャン" * randint(1, 4),
|
||||
lambda: "喵" * randint(1, 4),
|
||||
lambda: "ña" * randint(1, 4),
|
||||
lambda: "ڽا" * randint(1, 4),
|
||||
lambda: "ম্যাও" * randint(1, 4),
|
||||
]
|
||||
)
|
||||
|
||||
return choice(
|
||||
[
|
||||
lambda: "meow" * randint(1, 3),
|
||||
lambda: "mew" * randint(1, 3),
|
||||
lambda: "miau" * randint(1, 3),
|
||||
lambda: "miaou" * randint(1, 3),
|
||||
lambda: "miao" * randint(1, 3),
|
||||
lambda: "nya" * randint(1, 3),
|
||||
lambda: "m" + "r" * randint(1, 6) + "p",
|
||||
lambda: "pur" + "r" * randint(1, 6),
|
||||
lambda: "nya" * randint(1, 3) + "ny" + "a" * randint(1, 10),
|
||||
]
|
||||
)
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
|
||||
def save(self):
|
||||
return {}
|
||||
|
||||
def load(self, data):
|
||||
pass
|
||||
64
src/providers/gradio.py
Normal file
64
src/providers/gradio.py
Normal file
@@ -0,0 +1,64 @@
|
||||
import requests
|
||||
import json
|
||||
from .base import BavarderProvider
|
||||
|
||||
import socket
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
from gradio_client import Client
|
||||
|
||||
class BaseGradioProvider(BavarderProvider):
|
||||
name = None
|
||||
slug = None
|
||||
url = None
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
|
||||
self.client = Client(self.url)
|
||||
|
||||
def ask(self, prompt):
|
||||
print("ASKING " + "="*100)
|
||||
try:
|
||||
response = self.client.predict(
|
||||
prompt, # str representing string value in 'Chat Message Box' Textbox component
|
||||
fn_index=0
|
||||
)
|
||||
print(response)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
self.win.banner.props.title = str(e)
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
else:
|
||||
self.hide_banner()
|
||||
GLib.idle_add(self.update_response, response)
|
||||
return response
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
|
||||
def preferences(self, win):
|
||||
if self.require_api_key:
|
||||
self.expander = Adw.ExpanderRow()
|
||||
self.expander.props.title = self.name
|
||||
|
||||
self.expander.add_action(self.about())
|
||||
self.expander.add_action(self.enable_switch())
|
||||
|
||||
# TODO: ADD DEVICE
|
||||
|
||||
return self.expander
|
||||
else:
|
||||
return self.no_preferences(win)
|
||||
|
||||
def on_apply(self, widget):
|
||||
self.hide_banner()
|
||||
|
||||
def save(self):
|
||||
return {}
|
||||
|
||||
def load(self, data):
|
||||
pass
|
||||
50
src/providers/hfdialogpt.py
Normal file
50
src/providers/hfdialogpt.py
Normal file
@@ -0,0 +1,50 @@
|
||||
from .huggingface import BaseHFProvider
|
||||
import json
|
||||
import socket
|
||||
import requests
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class HuggingFaceDialoGPTLargeProvider(BaseHFProvider):
|
||||
name = "DialoGPT"
|
||||
slug = "hfdialogpt"
|
||||
model = "microsoft/DialoGPT-large"
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
|
||||
def ask(self, prompt):
|
||||
try:
|
||||
payload = json.dumps(
|
||||
{
|
||||
"inputs": {
|
||||
# "past_user_inputs": ["Which movie is the best ?"],
|
||||
# "generated_responses": ["It's Die Hard for sure."],
|
||||
"text": prompt
|
||||
},
|
||||
}
|
||||
)
|
||||
headers = {"Content-Type": "application/json"}
|
||||
if self.authorization:
|
||||
headers["Authorization"] = f"Bearer {self.api_key}"
|
||||
url = f"https://api-inference.huggingface.co/models/{self.model}"
|
||||
print(url)
|
||||
response = requests.request("POST", url, headers=headers, data=payload)
|
||||
print(response.json())
|
||||
response = response.json()["generated_text"]
|
||||
|
||||
# except NoApikey:
|
||||
# self.no_api_key()
|
||||
# return ""
|
||||
except KeyError:
|
||||
pass
|
||||
except socket.gaierror:
|
||||
self.no_connection()
|
||||
return ""
|
||||
else:
|
||||
self.hide_banner()
|
||||
print(response)
|
||||
GLib.idle_add(self.update_response, response)
|
||||
return response
|
||||
11
src/providers/hfgoogleflant5xxl.py
Normal file
11
src/providers/hfgoogleflant5xxl.py
Normal file
@@ -0,0 +1,11 @@
|
||||
from .huggingface import BaseHFProvider
|
||||
|
||||
|
||||
class HuggingFaceGoogleFlanT5XXLProvider(BaseHFProvider):
|
||||
name = "Google Flan T5 XXL"
|
||||
slug = "hfgoogleflant5xxl"
|
||||
model = "google/flan-t5-xxl"
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
11
src/providers/hfgoogleflanu12.py
Normal file
11
src/providers/hfgoogleflanu12.py
Normal file
@@ -0,0 +1,11 @@
|
||||
from .huggingface import BaseHFProvider
|
||||
|
||||
|
||||
class HuggingFaceGoogleFlanU12Provider(BaseHFProvider):
|
||||
name = "Google Flan U12"
|
||||
slug = "hfgoogleflanu12"
|
||||
model = "google/flan-ul2"
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
13
src/providers/hfgpt2.py
Normal file
13
src/providers/hfgpt2.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from .huggingface import BaseHFProvider
|
||||
|
||||
|
||||
class HuggingFaceGPT2Provider(BaseHFProvider):
|
||||
name = "GPT 2"
|
||||
slug = "hfgpt2"
|
||||
model = "gpt2"
|
||||
description = "GPT-2 is a transformers model pretrained on a very large corpus of English data \nin a self-supervised fashion. This means it was pretrained on the raw texts only,\n with no humans labelling them in any way (which is why it can use lots of publicly available data)\n with an automatic process to generate inputs and labels from those texts. More precisely,\n it was trained to guess the next word in sentences."
|
||||
languages = "English"
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
13
src/providers/hfgpt2large.py
Normal file
13
src/providers/hfgpt2large.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from .huggingface import BaseHFProvider
|
||||
|
||||
|
||||
class HuggingFaceGPT2LargeProvider(BaseHFProvider):
|
||||
name = "GPT 2 Large"
|
||||
slug = "hfgpt2large"
|
||||
model = "gpt2-large"
|
||||
description = "GPT-2 is a transformers model pretrained on a very large corpus of English data \nin a self-supervised fashion. This means it was pretrained on the raw texts only,\n with no humans labelling them in any way (which is why it can use lots of publicly available data)\n with an automatic process to generate inputs and labels from those texts. More precisely,\n it was trained to guess the next word in sentences."
|
||||
languages = "English"
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
13
src/providers/hfgpt2xl.py
Normal file
13
src/providers/hfgpt2xl.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from .huggingface import BaseHFProvider
|
||||
|
||||
|
||||
class HuggingFaceGPT2XLProvider(BaseHFProvider):
|
||||
name = "GPT 2 XL"
|
||||
slug = "hfgpt2"
|
||||
model = "gpt2-xl"
|
||||
description = "GPT-2 is a transformers model pretrained on a very large corpus of English data \nin a self-supervised fashion. This means it was pretrained on the raw texts only,\n with no humans labelling them in any way (which is why it can use lots of publicly available data)\n with an automatic process to generate inputs and labels from those texts. More precisely,\n it was trained to guess the next word in sentences."
|
||||
languages = "English"
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
54
src/providers/hfopenassistantsft1pythia12b.py
Normal file
54
src/providers/hfopenassistantsft1pythia12b.py
Normal file
@@ -0,0 +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"
|
||||
slug = "hfopenassistantsft1pythia12b"
|
||||
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"
|
||||
7
src/providers/huggingchat.py
Normal file
7
src/providers/huggingchat.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from .huggingchatbase import BaseHuggingChatProvider
|
||||
|
||||
|
||||
class HuggingChatProvider(BaseHuggingChatProvider):
|
||||
name = "Hugging Chat"
|
||||
slug = "huggingchat"
|
||||
model = "OpenAssistant/oasst-sft-6-llama-30b-xor"
|
||||
92
src/providers/huggingchatbase.py
Normal file
92
src/providers/huggingchatbase.py
Normal file
@@ -0,0 +1,92 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
from hugchat import hugchat
|
||||
import socket
|
||||
import requests
|
||||
import json
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class BaseHuggingChatProvider(BavarderProvider):
|
||||
name = "Hugging Chat"
|
||||
slug = "huggingchat"
|
||||
model = None
|
||||
url = "https://bavarder.codeberg.page/help/huggingchat"
|
||||
cookies = {}
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
|
||||
def ask(self, prompt):
|
||||
print(self.cookies)
|
||||
try:
|
||||
self.chat = hugchat.ChatBot(cookies=self.cookies) # or cookies=[...]
|
||||
print(self.chat)
|
||||
print(self.cookies)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
self.win.banner.props.title = str(e)
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
return ""
|
||||
else:
|
||||
try:
|
||||
response = self.chat.chat(prompt)
|
||||
except socket.gaierror:
|
||||
self.no_connection()
|
||||
return ""
|
||||
except Exception as e:
|
||||
self.win.banner.props.title = str(e)
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
return ""
|
||||
else:
|
||||
self.win.banner.set_revealed(False)
|
||||
r = ""
|
||||
for i in response:
|
||||
char = i["token"]["text"]
|
||||
if char == "</s>":
|
||||
r += "\n"
|
||||
else:
|
||||
r += char
|
||||
GLib.idle_add(self.update_response, r)
|
||||
return r
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return True
|
||||
|
||||
def preferences(self, win):
|
||||
self.pref_win = win
|
||||
|
||||
self.expander = Adw.ExpanderRow()
|
||||
self.expander.props.title = self.name
|
||||
|
||||
self.expander.add_action(self.about()) # TODO: in Adw 1.4, use add_suffix
|
||||
self.expander.add_action(self.enable_switch())
|
||||
|
||||
self.api_row = Adw.EntryRow()
|
||||
self.api_row.connect("apply", self.on_apply)
|
||||
self.api_row.props.text = str(self.cookies) or ""
|
||||
self.api_row.props.title = "Cookies"
|
||||
self.api_row.set_show_apply_button(True)
|
||||
self.api_row.add_suffix(self.how_to_get_a_token())
|
||||
self.expander.add_row(self.api_row)
|
||||
|
||||
return self.expander
|
||||
|
||||
def on_apply(self, widget):
|
||||
self.hide_banner()
|
||||
cookies = self.api_row.get_text()
|
||||
print("cookies", cookies)
|
||||
self.cookies = json.loads(cookies)
|
||||
print("Applied cookies", self.cookies)
|
||||
|
||||
def save(self):
|
||||
print(self.cookies)
|
||||
print("Saved cookies", self.cookies)
|
||||
return self.cookies
|
||||
|
||||
def load(self, data):
|
||||
self.cookies = data
|
||||
95
src/providers/huggingface.py
Normal file
95
src/providers/huggingface.py
Normal file
@@ -0,0 +1,95 @@
|
||||
import requests
|
||||
import json
|
||||
from .base import BavarderProvider
|
||||
|
||||
import socket
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
# from text_generation import InferenceAPIClient
|
||||
|
||||
class BaseHFProvider(BavarderProvider):
|
||||
name = None
|
||||
slug = None
|
||||
model = None
|
||||
url = "https://bavarder.codeberg.page/help/huggingface"
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
self.api_key = None
|
||||
# self.client = InferenceAPIClient(self.model)
|
||||
|
||||
def ask(self, prompt):
|
||||
try:
|
||||
payload = json.dumps({"inputs": prompt})
|
||||
headers = {"Content-Type": "application/json"}
|
||||
if self.require_api_key:
|
||||
headers["Authorization"] = f"Bearer {self.api_key}"
|
||||
url = f"https://api-inference.huggingface.co/models/{self.model}"
|
||||
response = requests.request("POST", url, headers=headers, data=payload)
|
||||
if response.status_code == 403:
|
||||
self.no_api_key()
|
||||
return ""
|
||||
elif response.status_code != 200:
|
||||
self.win.banner.props.title = response.json()["error"]
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
return ""
|
||||
response = response.json()[0]["generated_text"]
|
||||
|
||||
# except NoApikey:
|
||||
# self.no_api_key()
|
||||
# return ""
|
||||
except KeyError:
|
||||
pass
|
||||
except socket.gaierror:
|
||||
self.no_connection()
|
||||
return ""
|
||||
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)
|
||||
GLib.idle_add(self.update_response, response)
|
||||
return response
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
|
||||
def preferences(self, win):
|
||||
if self.require_api_key:
|
||||
self.expander = Adw.ExpanderRow()
|
||||
self.expander.props.title = self.name
|
||||
|
||||
self.expander.add_action(self.about())
|
||||
self.expander.add_action(self.enable_switch())
|
||||
|
||||
self.api_row = Adw.PasswordEntryRow()
|
||||
self.api_row.connect("apply", self.on_apply)
|
||||
self.api_row.props.title = _("API Key")
|
||||
self.api_row.props.text = self.api_key or ""
|
||||
self.api_row.add_suffix(self.how_to_get_a_token())
|
||||
self.api_row.set_show_apply_button(True)
|
||||
self.expander.add_row(self.api_row)
|
||||
|
||||
return self.expander
|
||||
else:
|
||||
return self.no_preferences(win)
|
||||
|
||||
def on_apply(self, widget):
|
||||
self.hide_banner()
|
||||
self.api_key = self.api_row.get_text()
|
||||
print(self.api_key)
|
||||
|
||||
def save(self):
|
||||
if self.require_api_key:
|
||||
return {"api_key": self.api_key}
|
||||
return {}
|
||||
|
||||
def load(self, data):
|
||||
if self.require_api_key:
|
||||
self.api_key = data["api_key"]
|
||||
32
src/providers/meson.build
Normal file
32
src/providers/meson.build
Normal file
@@ -0,0 +1,32 @@
|
||||
|
||||
providers_dir = join_paths(moduledir, 'providers')
|
||||
|
||||
providers_sources = [
|
||||
'__init__.py',
|
||||
'alpacalora.py',
|
||||
'baichat.py',
|
||||
# 'bard.py',
|
||||
'base.py',
|
||||
'catgpt.py',
|
||||
'gradio.py',
|
||||
'hfdialogpt.py',
|
||||
'hfgoogleflant5xxl.py',
|
||||
'hfgoogleflanu12.py',
|
||||
'hfgpt2.py',
|
||||
'hfgpt2large.py',
|
||||
'hfgpt2xl.py',
|
||||
'hfopenassistantsft1pythia12b.py',
|
||||
# 'huggingchat.py',
|
||||
# 'huggingchatbase.py',
|
||||
'huggingface.py',
|
||||
'openai.py',
|
||||
'openaicustom.py',
|
||||
'openaigpt4.py',
|
||||
'openaigpt35turbo.py',
|
||||
'openaitextdavinci003.py',
|
||||
'stablelm.py',
|
||||
'starcoder.py',
|
||||
'transformer.py',
|
||||
]
|
||||
|
||||
PY_INSTALLDIR.install_sources(providers_sources, subdir: providers_dir)
|
||||
130
src/providers/openai.py
Normal file
130
src/providers/openai.py
Normal file
@@ -0,0 +1,130 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
import openai
|
||||
import socket
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class BaseOpenAIProvider(BavarderProvider):
|
||||
name = None
|
||||
slug = None
|
||||
model = None
|
||||
version = "0.1.0"
|
||||
api_key_title = "API Key"
|
||||
url = "https://bavarder.codeberg.page/help/openai"
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
self.chat = openai.ChatCompletion
|
||||
self.pref_win = None
|
||||
|
||||
def ask(self, prompt):
|
||||
if self.model:
|
||||
prompt = self.chunk(prompt)
|
||||
try:
|
||||
if isinstance(prompt, list):
|
||||
self.win.banner.props.title = _("Prompt too long, splitting into chunks.")
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
response = ""
|
||||
for chunk in prompt:
|
||||
response += (
|
||||
self.chat.create(
|
||||
model=self.model,
|
||||
messages=[{"role": "user", "content": chunk}],
|
||||
)
|
||||
.choices[0]
|
||||
.message.content
|
||||
)
|
||||
else:
|
||||
response = self.chat.create(
|
||||
model=self.model, messages=[{"role": "user", "content": prompt}]
|
||||
)
|
||||
response = response.choices[0].message.content
|
||||
except openai.error.AuthenticationError:
|
||||
self.no_api_key()
|
||||
return ""
|
||||
except openai.error.InvalidRequestError:
|
||||
self.win.banner.props.title = _("You don't have access to this model")
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
return ""
|
||||
except openai.error.RateLimitError:
|
||||
self.win.banner.props.title = _("You exceeded your current quota, please check your plan and billing details.")
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
return ""
|
||||
except openai.error.APIError:
|
||||
self.win.banner.props.title = _("API Error")
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
except socket.gaierror:
|
||||
self.no_connection()
|
||||
return ""
|
||||
else:
|
||||
self.hide_banner()
|
||||
GLib.idle_add(self.update_response, response)
|
||||
return response
|
||||
else:
|
||||
self.no_api_key(title=_("No model selected, you can choose one in preferences"))
|
||||
return ""
|
||||
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return True
|
||||
|
||||
def preferences(self, win):
|
||||
self.pref_win = win
|
||||
|
||||
self.expander = Adw.ExpanderRow()
|
||||
self.expander.props.title = self.name
|
||||
|
||||
self.expander.add_action(self.about()) # TODO: in Adw 1.4, use add_suffix
|
||||
self.expander.add_action(self.enable_switch())
|
||||
|
||||
self.api_row = Adw.PasswordEntryRow()
|
||||
self.api_row.connect("apply", self.on_apply)
|
||||
self.api_row.props.text = openai.api_key or ""
|
||||
self.api_row.props.title = self.api_key_title
|
||||
self.api_row.set_show_apply_button(True)
|
||||
self.api_row.add_suffix(self.how_to_get_a_token())
|
||||
self.expander.add_row(self.api_row)
|
||||
|
||||
self.api_url_row = Adw.EntryRow()
|
||||
self.api_url_row.connect("apply", self.on_apply)
|
||||
self.api_url_row.props.text = openai.api_base or ""
|
||||
self.api_url_row.props.title = "API Url"
|
||||
self.api_url_row.set_show_apply_button(True)
|
||||
self.api_url_row.add_suffix(self.how_to_get_base_url())
|
||||
self.expander.add_row(self.api_url_row)
|
||||
|
||||
return self.expander
|
||||
|
||||
def on_apply(self, widget):
|
||||
self.hide_banner()
|
||||
api_key = self.api_row.get_text()
|
||||
openai.api_key = api_key
|
||||
openai.api_base = self.api_url_row.get_text()
|
||||
|
||||
def save(self):
|
||||
return {
|
||||
"api_key": openai.api_key,
|
||||
"api_base": openai.api_base,
|
||||
}
|
||||
|
||||
def load(self, data):
|
||||
if data["api_key"]:
|
||||
openai.api_key = data["api_key"]
|
||||
if data["api_base"]:
|
||||
openai.api_base = data["api_base"]
|
||||
|
||||
def how_to_get_base_url(self):
|
||||
about_button = Gtk.Button()
|
||||
about_button.set_icon_name("dialog-information-symbolic")
|
||||
about_button.set_tooltip_text("How to choose base url")
|
||||
about_button.add_css_class("flat")
|
||||
about_button.set_valign(Gtk.Align.CENTER)
|
||||
about_button.connect("clicked", self.open_documentation)
|
||||
return about_button
|
||||
89
src/providers/openaicustom.py
Normal file
89
src/providers/openaicustom.py
Normal file
@@ -0,0 +1,89 @@
|
||||
from .openai import BaseOpenAIProvider
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
import openai
|
||||
|
||||
class OpenAICustomProvider(BaseOpenAIProvider):
|
||||
name = "OpenAI Custom Model"
|
||||
slug = "openaicustom"
|
||||
|
||||
api_base = ""
|
||||
|
||||
def preferences(self, win):
|
||||
self.pref_win = win
|
||||
|
||||
self.expander = Adw.ExpanderRow()
|
||||
self.expander.props.title = self.name
|
||||
|
||||
self.expander.add_action(self.about()) # TODO: in Adw 1.4, use add_suffix
|
||||
self.expander.add_action(self.enable_switch())
|
||||
|
||||
self.api_row = Adw.PasswordEntryRow()
|
||||
self.api_row.connect("apply", self.on_apply)
|
||||
self.api_row.props.text = openai.api_key or ""
|
||||
self.api_row.props.title = self.api_key_title
|
||||
self.api_row.set_show_apply_button(True)
|
||||
self.api_row.add_suffix(self.how_to_get_a_token())
|
||||
self.expander.add_row(self.api_row)
|
||||
|
||||
self.api_url_row = Adw.EntryRow()
|
||||
self.api_url_row.connect("apply", self.on_apply)
|
||||
self.api_url_row.props.text = self.api_base or ""
|
||||
self.api_url_row.props.title = _("API Url")
|
||||
self.api_url_row.set_show_apply_button(True)
|
||||
self.api_url_row.add_suffix(self.how_to_get_a_token())
|
||||
self.expander.add_row(self.api_url_row)
|
||||
|
||||
self.model_row = Adw.EntryRow()
|
||||
self.model_row.connect("apply", self.on_apply)
|
||||
self.model_row.props.title = _("Model")
|
||||
if self.model:
|
||||
self.model_row.props.text = str(self.model)
|
||||
else:
|
||||
print("No model")
|
||||
self.model_row.props.text = ""
|
||||
self.model_row.add_suffix(self.how_to_choose_model())
|
||||
self.model_row.set_show_apply_button(True)
|
||||
self.expander.add_row(self.model_row)
|
||||
return self.expander
|
||||
|
||||
def on_apply(self, widget):
|
||||
self.hide_banner()
|
||||
api_key = self.api_row.get_text()
|
||||
openai.api_key = api_key
|
||||
self.api_base = self.api_url_row.get_text()
|
||||
openai.api_base = self.api_base
|
||||
self.model = str(self.model_row.get_text())
|
||||
|
||||
def save(self):
|
||||
return {
|
||||
"api_key": openai.api_key,
|
||||
"api_base": self.api_base,
|
||||
"model": self.model,
|
||||
}
|
||||
|
||||
def load(self, data):
|
||||
if data["api_key"]:
|
||||
openai.api_key = data["api_key"]
|
||||
else:
|
||||
openai.api_key = ""
|
||||
if data["api_base"]:
|
||||
self.api_base = data["api_base"]
|
||||
openai.api_base = self.api_base
|
||||
if data["model"]:
|
||||
self.model = data["model"]
|
||||
|
||||
def how_to_choose_model(self):
|
||||
about_button = Gtk.Button()
|
||||
about_button.set_icon_name("dialog-information-symbolic")
|
||||
about_button.set_tooltip_text(_("How to choose a model"))
|
||||
about_button.add_css_class("flat")
|
||||
about_button.set_valign(Gtk.Align.CENTER)
|
||||
about_button.connect("clicked", self.open_documentation)
|
||||
return about_button
|
||||
|
||||
class LocalModel(OpenAICustomProvider):
|
||||
name = "Local Model"
|
||||
slug = "local"
|
||||
url = "https://bavarder.codeberg.page/help/local" # just for the url :)
|
||||
7
src/providers/openaigpt35turbo.py
Normal file
7
src/providers/openaigpt35turbo.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from .openai import BaseOpenAIProvider
|
||||
|
||||
|
||||
class OpenAIGPT35TurboProvider(BaseOpenAIProvider):
|
||||
name = "OpenAI GPT 3.5 Turbo"
|
||||
slug = "openaigpt35turbo"
|
||||
model = "gpt-3.5-turbo"
|
||||
8
src/providers/openaigpt4.py
Normal file
8
src/providers/openaigpt4.py
Normal file
@@ -0,0 +1,8 @@
|
||||
from .openai import BaseOpenAIProvider
|
||||
|
||||
|
||||
class OpenAIGPT4Provider(BaseOpenAIProvider):
|
||||
name = "OpenAI GPT 4"
|
||||
slug = "openaigpt4"
|
||||
model = "gpt-4"
|
||||
api_key_title = "API Key (Require a plan with access to the GPT-4 model)"
|
||||
7
src/providers/openaitextdavinci003.py
Normal file
7
src/providers/openaitextdavinci003.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from .openai import BaseOpenAIProvider
|
||||
|
||||
|
||||
class OpenAITextDavinci003(BaseOpenAIProvider):
|
||||
name = "OpenAI Text Davinci 003"
|
||||
slug = "openaitextdavinci003"
|
||||
model = "text-davinci-003"
|
||||
6
src/providers/stablelm.py
Normal file
6
src/providers/stablelm.py
Normal file
@@ -0,0 +1,6 @@
|
||||
from .huggingface import BaseHFProvider
|
||||
|
||||
class StableLMProvider(BaseHFProvider):
|
||||
name = "StableLM"
|
||||
slug = "stablelm"
|
||||
model = "stabilityai/stablelm-tuned-alpha-3b"
|
||||
7
src/providers/starcoder.py
Normal file
7
src/providers/starcoder.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from .transformer import BaseTransformerProvider
|
||||
|
||||
|
||||
class StarCoderProvider(BaseTransformerProvider):
|
||||
name = "Star Coder"
|
||||
slug = "starcoder"
|
||||
checkpoint = "bigcode/starcoder"
|
||||
89
src/providers/transformer.py
Normal file
89
src/providers/transformer.py
Normal file
@@ -0,0 +1,89 @@
|
||||
import requests
|
||||
import json
|
||||
from .base import BavarderProvider
|
||||
|
||||
import socket
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
from transformers import AutoModelForCausalLM, AutoTokenizer
|
||||
|
||||
class BaseTransformerProvider(BavarderProvider):
|
||||
name = None
|
||||
slug = None
|
||||
checkpoint = None
|
||||
device = "cpu"
|
||||
is_setup = False
|
||||
api_key = None
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
|
||||
def setup(self):
|
||||
try:
|
||||
if self.require_api_key:
|
||||
self.tokenizer = AutoTokenizer.from_pretrained(self.checkpoint, use_auth_token=self.api_key)
|
||||
else:
|
||||
self.tokenizer = AutoTokenizer.from_pretrained(self.checkpoint)
|
||||
self.model = AutoModelForCausalLM.from_pretrained(self.checkpoint).to(self.device)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
self.win.banner.props.title = str(e)
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
else:
|
||||
self.is_setup = True
|
||||
|
||||
def ask(self, prompt):
|
||||
self.setup()
|
||||
if self.is_setup:
|
||||
try:
|
||||
inputs = self.tokenizer.encode(prompt, return_tensors="pt").to(self.device)
|
||||
outputs = self.model.generate(inputs)
|
||||
response = self.tokenizer.decode(outputs[0])
|
||||
except Exception as e:
|
||||
print(e)
|
||||
self.win.banner.props.title = str(e)
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
else:
|
||||
self.hide_banner()
|
||||
GLib.idle_add(self.update_response, response)
|
||||
return response
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return True
|
||||
|
||||
def preferences(self, win):
|
||||
if self.require_api_key:
|
||||
self.expander = Adw.ExpanderRow()
|
||||
self.expander.props.title = self.name
|
||||
|
||||
self.expander.add_action(self.about())
|
||||
self.expander.add_action(self.enable_switch())
|
||||
|
||||
self.api_row = Adw.PasswordEntryRow()
|
||||
self.api_row.connect("apply", self.on_apply)
|
||||
self.api_row.props.title = _("API Key")
|
||||
self.api_row.props.text = self.api_key or ""
|
||||
self.api_row.add_suffix(self.how_to_get_a_token())
|
||||
self.api_row.set_show_apply_button(True)
|
||||
self.expander.add_row(self.api_row)
|
||||
|
||||
return self.expander
|
||||
else:
|
||||
return self.no_preferences(win)
|
||||
|
||||
def on_apply(self, widget):
|
||||
self.hide_banner()
|
||||
self.api_key = self.api_row.get_text()
|
||||
|
||||
def save(self):
|
||||
if self.require_api_key:
|
||||
return {"api_key": self.api_key}
|
||||
return {}
|
||||
|
||||
def load(self, data):
|
||||
if self.require_api_key:
|
||||
self.api_key = data["api_key"]
|
||||
32
src/threading.py
Normal file
32
src/threading.py
Normal file
@@ -0,0 +1,32 @@
|
||||
import threading
|
||||
import sys
|
||||
|
||||
class KillableThread(threading.Thread):
|
||||
def __init__(self, *args, **keywords):
|
||||
threading.Thread.__init__(self, *args, **keywords)
|
||||
self.killed = False
|
||||
|
||||
def start(self):
|
||||
self.__run_backup = self.run
|
||||
self.run = self.__run
|
||||
threading.Thread.start(self)
|
||||
|
||||
def __run(self):
|
||||
sys.settrace(self.globaltrace)
|
||||
self.__run_backup()
|
||||
self.run = self.__run_backup
|
||||
|
||||
def globaltrace(self, frame, event, arg):
|
||||
if event == 'call':
|
||||
return self.localtrace
|
||||
else:
|
||||
return None
|
||||
|
||||
def localtrace(self, frame, event, arg):
|
||||
if self.killed:
|
||||
if event == 'line':
|
||||
raise SystemExit()
|
||||
return self.localtrace
|
||||
|
||||
def kill(self):
|
||||
self.killed = True
|
||||
0
src/views/__init__.py
Normal file
0
src/views/__init__.py
Normal file
76
src/views/about_window.py
Normal file
76
src/views/about_window.py
Normal file
@@ -0,0 +1,76 @@
|
||||
|
||||
from gi.repository import Gtk, Adw
|
||||
|
||||
from bavarder import constants
|
||||
|
||||
import os
|
||||
import platform
|
||||
|
||||
# TRANSLATORS: This is a place to put your credits (formats:
|
||||
# "Name https://example.com" or "Name <email@example.com>",
|
||||
# no quotes) and is not meant to be translated literally.
|
||||
translator_credits = _("translator-credits")
|
||||
|
||||
class BavarderAboutWindow:
|
||||
def __init__(self, parent):
|
||||
self.parent = parent
|
||||
self.app = self.parent.get_application()
|
||||
|
||||
self.setup()
|
||||
|
||||
def setup(self):
|
||||
self.about_window = Adw.AboutWindow(
|
||||
application_name="Bavarder",
|
||||
transient_for=self.app.get_active_window(),
|
||||
application_icon=constants.app_id,
|
||||
developer_name=_("0xMRTT"),
|
||||
website=constants.project_url,
|
||||
support_url=constants.help_url,
|
||||
issue_url=constants.bugtracker_url,
|
||||
developers=[
|
||||
"0xMRTT https://github.com/0xMRTT",
|
||||
],
|
||||
documenters=[
|
||||
"0xMRTT https://github.com/0xMRTT",
|
||||
],
|
||||
designers=[
|
||||
"David Lapshin https://github.com/daudix-UFO"
|
||||
],
|
||||
artists=[
|
||||
"David Lapshin https://github.com/daudix-UFO"
|
||||
],
|
||||
|
||||
translator_credits=_(translator_credits),
|
||||
copyright=_("Copyright © 2023 0xMRTT"),
|
||||
license_type=Gtk.License.GPL_3_0,
|
||||
version=constants.version,
|
||||
release_notes_version=constants.rel_ver,
|
||||
)
|
||||
|
||||
self.about_window.add_acknowledgement_section(
|
||||
"Special thanks to",
|
||||
[
|
||||
"Telegraph https://apps.gnome.org/app/io.github.fkinoshita.Telegraph",
|
||||
"Apostrophe https://apps.gnome.org/app/org.gnome.gitlab.somas.Apostrophe",
|
||||
],
|
||||
)
|
||||
self.about_window.set_debug_info(
|
||||
f"""{constants.app_id} {constants.version}
|
||||
Environment: {os.environ.get("XDG_CURRENT_DESKTOP", "Unknown")}
|
||||
Gtk: {Gtk.MAJOR_VERSION}.{Gtk.MINOR_VERSION}.{Gtk.MICRO_VERSION}
|
||||
Python: {platform.python_version()}
|
||||
OS: {platform.system()} {platform.release()} {platform.version()}
|
||||
Providers: {self.app.enabled_providers}
|
||||
Use Theme: {self.app.use_theme}
|
||||
Use Text View: {self.app.use_text_view}
|
||||
Clear After Send: {self.app.clear_after_send}
|
||||
Close All Without Dialog: {self.app.close_all_without_dialog}
|
||||
Current Provider: {self.app.provider}
|
||||
"""
|
||||
)
|
||||
self.about_window.present()
|
||||
|
||||
|
||||
|
||||
def show_about(self):
|
||||
self.about_window.present()
|
||||
67
src/views/main_window.py
Normal file
67
src/views/main_window.py
Normal file
@@ -0,0 +1,67 @@
|
||||
|
||||
from gi.repository import Adw, Gtk, Gio
|
||||
|
||||
from bavarder.constants import app_id, build_type
|
||||
|
||||
@Gtk.Template(resource_path="/io/github/Bavarder/Bavarder/ui/window.ui")
|
||||
class BavarderWindow(Adw.ApplicationWindow):
|
||||
__gtype_name__ = "BavarderWindow"
|
||||
|
||||
toast_overlay = Gtk.Template.Child()
|
||||
prompt_text_view = Gtk.Template.Child()
|
||||
ask_button = Gtk.Template.Child()
|
||||
scrolled_response_window = Gtk.Template.Child()
|
||||
bot_text_view = Gtk.Template.Child()
|
||||
banner = Gtk.Template.Child()
|
||||
stop_button = Gtk.Template.Child()
|
||||
# listen = Gtk.Template.Child()
|
||||
# listen_wait = Gtk.Template.Child()
|
||||
# listen_spinner = Gtk.Template.Child()
|
||||
# speak = Gtk.Template.Child()
|
||||
# speak_wait = Gtk.Template.Child()
|
||||
# speak_spinner = Gtk.Template.Child()
|
||||
menu = Gtk.Template.Child()
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
|
||||
self.app = Gtk.Application.get_default()
|
||||
self.settings = Gio.Settings(schema_id=app_id)
|
||||
|
||||
self.setup_signals()
|
||||
self.setup_window_props()
|
||||
|
||||
self.setup()
|
||||
|
||||
|
||||
def setup_window_props(self):
|
||||
self.settings.bind(
|
||||
"width", self, "default-width", Gio.SettingsBindFlags.DEFAULT
|
||||
)
|
||||
self.settings.bind(
|
||||
"height", self, "default-height", Gio.SettingsBindFlags.DEFAULT
|
||||
)
|
||||
self.settings.bind(
|
||||
"is-maximized", self, "maximized", Gio.SettingsBindFlags.DEFAULT
|
||||
)
|
||||
self.settings.bind(
|
||||
"is-fullscreen", self, "fullscreened", Gio.SettingsBindFlags.DEFAULT
|
||||
)
|
||||
|
||||
|
||||
def setup_signals(self):
|
||||
self.connect("close-request",
|
||||
self.on_close_request)
|
||||
|
||||
|
||||
|
||||
def setup(self):
|
||||
# Set devel style
|
||||
if build_type == "debug":
|
||||
self.get_style_context().add_class("devel")
|
||||
|
||||
def on_close_request(self, *args):
|
||||
self.settings.set_strv("enabled-providers", list(self.app.enabled_providers))
|
||||
self.settings.set_string("latest-provider", self.app.provider)
|
||||
self.app.save_providers()
|
||||
self.close()
|
||||
11
src/views/meson.build
Normal file
11
src/views/meson.build
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
views_dir = join_paths(moduledir, 'views')
|
||||
|
||||
views_sources = [
|
||||
'__init__.py',
|
||||
'about_window.py',
|
||||
'main_window.py',
|
||||
'preferences_window.py',
|
||||
]
|
||||
|
||||
PY_INSTALLDIR.install_sources(views_sources, subdir: views_dir)
|
||||
113
src/views/preferences_window.py
Normal file
113
src/views/preferences_window.py
Normal file
@@ -0,0 +1,113 @@
|
||||
from gi.repository import Gtk, Adw, Gio
|
||||
|
||||
from bavarder.constants import app_id
|
||||
|
||||
from bavarder.providers import PROVIDERS
|
||||
|
||||
|
||||
@Gtk.Template(resource_path="/io/github/Bavarder/Bavarder/ui/preferences.ui")
|
||||
class Preferences(Adw.PreferencesWindow):
|
||||
__gtype_name__ = "Preferences"
|
||||
|
||||
clear_after_send_switch = Gtk.Template.Child()
|
||||
provider_group = Gtk.Template.Child()
|
||||
use_text_view_switch = Gtk.Template.Child()
|
||||
close_all_without_dialog_switch = Gtk.Template.Child()
|
||||
allow_remote_fetching_switch = Gtk.Template.Child()
|
||||
|
||||
def __init__(self, parent, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
|
||||
self.parent = parent
|
||||
self.settings = parent.settings
|
||||
|
||||
self.app = self.parent.get_application()
|
||||
self.win = self.app.get_active_window()
|
||||
|
||||
self.set_transient_for(self.win)
|
||||
|
||||
self.setup()
|
||||
|
||||
def setup(self):
|
||||
self.setup_signals()
|
||||
|
||||
def setup_signals(self):
|
||||
|
||||
self.clear_after_send_switch.set_active(self.app.clear_after_send)
|
||||
self.clear_after_send_switch.connect(
|
||||
"notify::active", self.on_clear_after_send_switch_toggled
|
||||
)
|
||||
|
||||
self.use_text_view_switch.set_active(self.app.use_text_view)
|
||||
self.use_text_view_switch.connect(
|
||||
"notify::active", self.on_use_text_view_switch_toggled
|
||||
)
|
||||
|
||||
self.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):
|
||||
"""Callback for the clear_after_send_switch toggled event."""
|
||||
if widget.get_active():
|
||||
self.settings.set_boolean("clear-after-send", True)
|
||||
self.app.clear_after_send = True
|
||||
else:
|
||||
self.settings.set_boolean("clear-after-send", False)
|
||||
self.app.clear_after_send = False
|
||||
|
||||
def on_use_text_view_switch_toggled(self, widget, *args):
|
||||
"""Callback for the use_text_view_switch toggled event."""
|
||||
if widget.get_active():
|
||||
self.settings.set_boolean("use-text-view", True)
|
||||
self.app.use_text_view = True
|
||||
else:
|
||||
self.settings.set_boolean("use-text-view", False)
|
||||
self.app.use_text_view = False
|
||||
|
||||
def 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:
|
||||
# self.provider_group.add(provider.preferences(self))
|
||||
# except TypeError: # no prefs
|
||||
# pass
|
||||
# else:
|
||||
# row = Adw.ActionRow()
|
||||
# row.props.title = "No providers available"
|
||||
# self.provider_group.add(row)
|
||||
for provider in PROVIDERS.values():
|
||||
if provider.slug in self.app.providers:
|
||||
self.provider_group.add(
|
||||
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)
|
||||
)
|
||||
0
src/widgets/__init__.py
Normal file
0
src/widgets/__init__.py
Normal file
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user