210 Commits
0.2.0 ... 0.9.2

Author SHA1 Message Date
jeffser
4b17601baf Preparing for 0.9.2 2024-05-30 10:49:53 -06:00
jeffser
c994307954 Fixed model tweaks loading 2024-05-30 09:53:17 -06:00
jeffser
a13ffd22f1 Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-30 09:33:13 -06:00
jeffser
7b8f40e117 Initial support for Gnome Search (doesn't work yet) 2024-05-30 09:33:06 -06:00
Louis Chauvet-Villaret
add4dad8c0 French translation update (#72)
Hop, I translate all, and I harmonize the changelogs with 3 categories : added, changed, fixed (but in French you know)
2024-05-30 09:31:21 -06:00
Surjyadip Sen
7faa805176 Lowered the lower limit of keep_alive to -1 (#69) 2024-05-30 09:31:06 -06:00
jeffser
91651b918e I dind't mean to delete that 2024-05-30 09:29:37 -06:00
jeffser
725e0930fe Fixed app crashing because of model tweaks 2024-05-30 09:27:56 -06:00
jeffser
93ba903fc8 Added copy button 2024-05-29 21:59:47 -06:00
jeffser
56064831d3 Updated Spanish translation 2024-05-29 16:19:37 -06:00
jeffser
4bdb813b64 Preparing for 0.9.1 2024-05-29 16:09:57 -06:00
jeffser
ad69887e4a Another icon for manage models 2024-05-29 16:00:59 -06:00
jeffser
c8f148d1f8 Changed manage models button icon 2024-05-29 15:59:27 -06:00
jeffser
365e39a20a New Icons and fixed delete message button 2024-05-29 15:58:09 -06:00
jeffser
48c2fd2e81 New icon for send button 2024-05-29 15:22:42 -06:00
jeffser
3a5dc568c5 Changed export/import buttons for a secundary menu button 2024-05-29 15:00:19 -06:00
jeffser
a180f7a46c Fixed image button 2024-05-29 14:34:59 -06:00
jeffser
07a12ba41f Fixed send/stop buttons 2024-05-29 14:32:57 -06:00
jeffser
dd5351a3de Added Model Tweaks 2024-05-29 14:24:30 -06:00
jeffser
ae48a17301 Check if remote instance is connected at start when the toggle is on 2024-05-29 12:04:05 -06:00
jeffser
9e19698788 Preparing for 0.9.0 (again) 2024-05-29 00:18:42 -06:00
jeffser
323725df33 Fixed: Can't rename the same chat multiple times 2024-05-29 00:17:41 -06:00
jeffser
7c40420048 Preparing for 0.9.0 2024-05-29 00:10:04 -06:00
jeffser
fac51aefb9 Spanish update 2024-05-29 00:06:08 -06:00
Louis Chauvet-Villaret
8f1fbc511a French translation update (#54)
I see my work in the app and... wasn't so good, so here are some modifications 😄 

After all, I switch back on the original name Alpaca because Alpaga won't be nicely integrated (desktop icon name, title name, and it's just not a good idea)

There is just a small problem, the 'send' button can't be translated. Can you add it ?
2024-05-29 00:02:53 -06:00
jeffser
f0bf112faf Starting model tweaks page 2024-05-29 00:00:56 -06:00
jeffser
b2a15b92cd Fixed error message when pulling a model that's already pulled 2024-05-28 22:59:32 -06:00
jeffser
9b71bbea2e Fixed background color of message entry 2024-05-28 22:57:42 -06:00
jeffser
2645ab3732 Added new shortcut for creating a chat 2024-05-28 22:45:26 -06:00
jeffser
8672c4ac40 fix 2024-05-28 22:42:03 -06:00
jeffser
b8bfd54515 Added chat name wrap 2024-05-28 22:37:06 -06:00
jeffser
a29d245381 Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-28 22:26:48 -06:00
jeffser
f57427e2c4 Fixed: When deleting the last chat it didn't make a new one 2024-05-28 22:26:36 -06:00
Jeffry Samuel
3631f06075 Update FUNDING.yml 2024-05-28 14:14:47 -06:00
Jeffry Samuel
67a66f85da Update issue templates 2024-05-28 11:50:23 -06:00
jeffser
16f620b034 Fixed French connection 2024-05-28 11:30:00 -06:00
jeffser
77b32b4912 Preparing for 0.8.8 2024-05-28 11:28:09 -06:00
jeffser
257197d4d8 Fixed local instance 2024-05-28 11:24:50 -06:00
jeffser
19cc97a1c4 Fixed reconnect remote instance dialog 2024-05-28 10:41:52 -06:00
jeffser
93652cd9f7 Added French translation credits 2024-05-28 10:36:08 -06:00
jeffser
540a0dc915 Turned on French translation 2024-05-28 10:34:19 -06:00
jeffser
54c1b9a96e Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-28 10:29:29 -06:00
jeffser
a9663b45fc Quick fix local instance 2024-05-28 10:29:22 -06:00
Louis Chauvet-Villaret
9bf029f8b3 French translation 🥖 (#52)
## French translation for Alpaca

# Translate guideline :

English	French
to chat	discuter
a chat	une discussion

Translation harmonized except changelogs (because the original changelogs aren't harmonized)
2024-05-28 10:21:36 -06:00
jeffser
a94d1dfc92 Removed prompt to name a new chat 2024-05-27 21:21:27 -06:00
jeffser
e90ef93a04 Preparing for 0.8.7 2024-05-27 21:03:52 -06:00
jeffser
a7ba5da943 Changed summary 2024-05-27 21:01:43 -06:00
jeffser
1e287dde6f Better progressbar for models 2024-05-27 20:47:59 -06:00
jeffser
05461fb03a Adding size to tags and adding progress bar to models that are being pulled 2024-05-27 17:27:05 -06:00
jeffser
aa79368b54 Added french template 2024-05-27 14:58:47 -06:00
Jeffry Samuel
cb4e52f103 French 2024-05-27 14:57:31 -06:00
jeffser
91fc745d2f Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-26 14:49:49 -06:00
jeffser
a719783cce Preparing for 0.8.6 2024-05-26 14:49:42 -06:00
Jeffry Samuel
766636718a Tips 2024-05-26 14:37:17 -06:00
jeffser
59d2430e2f Tweak to notifications 2024-05-26 14:29:45 -06:00
jeffser
074b4dc643 Added 'Feature Models' page on welcome dialog 2024-05-26 14:10:20 -06:00
jeffser
92dd56b0c4 Fixed: content doesn't change when creating a new chat 2024-05-26 12:39:22 -06:00
jeffser
25c414faa3 Fixed scroll when message received 2024-05-26 12:23:13 -06:00
jeffser
dc2df81c75 Changed version number 2024-05-26 01:06:36 -06:00
jeffser
ddc50ce621 Updated translations / new update title 2024-05-26 00:59:32 -06:00
jeffser
701fae92a0 Preparing for 0.8.5 2024-05-26 00:57:03 -06:00
jeffser
f3d22219b4 Quick tweak 2024-05-26 00:45:40 -06:00
jeffser
0027cf7c59 Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-26 00:42:40 -06:00
jeffser
b6c45fc346 Fixed issue: Can't load chats 2024-05-26 00:42:23 -06:00
Jeffry Samuel
e6f2902bd1 Update README.md 2024-05-26 00:36:41 -06:00
jeffser
1190e367bb Tweak to footer of messages 2024-05-26 00:26:39 -06:00
jeffser
d619f55ff2 Quick fixes 2024-05-26 00:01:14 -06:00
jeffser
605d837716 Organized code 2024-05-25 23:13:25 -06:00
jeffser
3aa57c6d2f Better code 2024-05-25 23:10:16 -06:00
jeffser
1cf2f04b06 I can write good code sometimes 2024-05-25 23:03:26 -06:00
Nokse22
780de2b753 Code block and chat improvements (#43)
* moved toast overlay only to the chat

* used adwaita style in the sourceView
added copy button for code with toast notification
added changing source style when theme changed

* removed print
2024-05-25 15:07:51 -06:00
Daimar Stein
e19511469d Brazilian Portuguese translation updated (#42)
Minor updates to the pt_BR translation to match the most recent alpaca.pot
2024-05-25 15:06:31 -06:00
Alex K
bedf1a9bc5 Add files via upload (#41) 2024-05-24 21:53:27 -06:00
jeffser
6e330448e6 Preparing for 0.8.1 2024-05-24 18:56:36 -06:00
jeffser
31802da0e3 Added compatibility for PNG 2024-05-24 18:47:23 -06:00
jeffser
9fae5b2cf2 Preparing for 0.8.0 2024-05-24 18:27:00 -06:00
jeffser
cde62c3511 Changed screenshot description 2024-05-24 18:18:44 -06:00
jeffser
2b6256ff25 Changed tooltip text for image button 2024-05-24 15:49:49 -06:00
jeffser
0c9fd6685b Added 'Image recognition' text to available models, also updated list of models 2024-05-24 15:46:02 -06:00
jeffser
999f7a7151 Replaced some variable names and removed an unsused overlay 2024-05-24 12:43:25 -06:00
jeffser
a1397ef09e Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-24 12:27:38 -06:00
jeffser
a43aac0c66 Fixed shortcuts on the UI 2024-05-24 12:27:29 -06:00
Jeffry Samuel
06747abcb9 Update README.md 2024-05-23 21:11:26 -06:00
jeffser
8bce45cf71 Added credit to Daimaar Stein for the translation to Brazilian Portuguese 2024-05-23 21:00:53 -06:00
jeffser
084654582a Added Brazilian Portuguese 2024-05-23 20:59:03 -06:00
jeffser
29d5023cf4 Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-23 20:58:30 -06:00
jeffser
a0c50c4b50 Deleted unnecesary files 2024-05-23 20:58:24 -06:00
Jeffry Samuel
45a8d23347 Update update_translation_files.sh 2024-05-23 20:57:29 -06:00
Daimar Stein
6d87f4c52b Add Brazilian Portuguese translation (#38)
* Create pt_BR.po

* Update README.md
2024-05-23 20:56:12 -06:00
jeffser
8352d016cc Added metadata so Flathub and Gnome Software know that it's compatible with mobile 2024-05-23 19:47:50 -06:00
jeffser
2dd9623ea9 Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-23 19:40:44 -06:00
jeffser
9e6fba0e7f New description 2024-05-23 19:40:35 -06:00
Jeffry Samuel
e89ef2aa37 Update README.md 2024-05-23 19:33:11 -06:00
jeffser
8ed8c6d04b removed unnecesary comment 2024-05-23 19:26:26 -06:00
jeffser
913a7a0b39 Just enter now sends the message 2024-05-23 19:25:25 -06:00
jeffser
8dabb27689 Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-23 19:07:32 -06:00
jeffser
db0daa1f41 Delete message feature 2024-05-23 19:06:50 -06:00
Jeffry Samuel
748406b2c0 Update README.md 2024-05-23 18:03:56 -06:00
jeffser
46b43ca670 Added more custom CSS 2024-05-23 17:48:40 -06:00
Nokse22
471159417c Sidebar, used AdwToolbarView and added Headerbar (#35)
* added adwtoolbarview in the sidebar

* removed commented code
2024-05-23 17:43:04 -06:00
Nokse22
5b92186930 Improved chat view and message bar (#33)
* added style.css and style-dark.css

* keep message text view sensitive at all times

* improved chat view ui and message view

* added clamps for chat container and message
2024-05-23 17:41:52 -06:00
Jeffry Samuel
cde081acb5 Added more people to the thank you section 2024-05-23 15:44:41 -06:00
Jeffry Samuel
4af0f718bc Thank you section 2024-05-23 14:19:13 -06:00
jeffser
dac4c36caa Preparing for 0.7.1 2024-05-23 12:02:18 -06:00
jeffser
96bdf360df Better sidebar 2024-05-23 12:01:25 -06:00
jeffser
54fbe3b505 Preparing for 0.7.1 2024-05-23 11:53:06 -06:00
jeffser
3f76dfdbe9 Changed CSS so that chat controls only appearing while hovering 2024-05-23 09:43:16 -06:00
jeffser
763cb98b33 Quick fix to remote connection 2024-05-23 09:41:43 -06:00
jeffser
eb2379585a Removed reference to CSS 2024-05-23 09:40:29 -06:00
jeffser
541b5e032f Replaced CSS file for string 2024-05-23 09:38:03 -06:00
jeffser
43c24c9150 Minor spelling mistake :( 2024-05-22 23:54:50 -06:00
jeffser
ada2893069 Quick fix on 'connection_error' dialog 2024-05-22 23:43:57 -06:00
jeffser
9707bdc2bb Added Mobile as an available form factor 2024-05-22 23:29:38 -06:00
Jeffry Samuel
157c43e969 Better README 2024-05-22 21:51:31 -06:00
jeffser
1a04082564 Better handling of remote connection lost 2024-05-22 21:10:16 -06:00
jeffser
f2e6f1aac8 Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-22 20:28:32 -06:00
jeffser
672a28c620 Last minute fix 2024-05-22 20:28:25 -06:00
Jeffry Samuel
a7c8170ba4 Thanks 2024-05-22 20:06:14 -06:00
jeffser
3ee402b297 Preparing for 0.7.0 2024-05-22 19:54:02 -06:00
jeffser
9080e84089 Autohide chat control buttons 2024-05-22 19:48:06 -06:00
jeffser
e8f4f8aa89 Preparing to add delete button to messages 2024-05-22 19:43:33 -06:00
jeffser
d8138a80de User can now delete last chat, this would create a 'New Chat' chat 2024-05-22 19:21:55 -06:00
jeffser
208e24b17e Added instance status messages (terminal) 2024-05-22 19:13:13 -06:00
jeffser
77904b3dd2 Fixed, remote connection switch 2024-05-22 19:08:17 -06:00
jeffser
831e47fe15 Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-22 18:01:22 -06:00
jeffser
21f0c9dafd New design for chat sidebar thing 2024-05-22 18:01:16 -06:00
Alex K
83ea27f736 Add files via upload (#19) 2024-05-22 13:56:29 -06:00
jeffser
a62d193edf Scroll to bottom when message is sent (kinda) 2024-05-22 13:22:46 -06:00
jeffser
ef280c8836 Increased margin (padding) on message field 2024-05-22 12:05:48 -06:00
jeffser
7bbbe54d6c Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-22 12:04:16 -06:00
jeffser
0c6d34bd30 Removed background from chat window 2024-05-22 11:57:24 -06:00
Jeffry Samuel
d7987fa4a5 Update README.md 2024-05-22 00:03:42 -06:00
jeffser
f7a777f26c Preparing for 0.6.0 pt2 2024-05-21 23:27:14 -06:00
jeffser
e507ef891b Preparing for 0.6.0 2024-05-21 23:26:22 -06:00
jeffser
e488b9bddc Update 2024-05-21 23:16:05 -06:00
jeffser
c9c990df58 Added import/export and added 'run on background' option on preferences 2024-05-21 23:15:32 -06:00
jeffser
d4a7576432 Small CSS change and 'wait until Ollama loads to show Alpaca' fixed 2024-05-21 21:18:30 -06:00
jeffser
fd86bc828d Fix error messages 2024-05-21 18:52:56 -06:00
jeffser
766eeff097 Added new info messages 2024-05-21 18:08:13 -06:00
jeffser
69567d1c6c Integrated Olllama instance inside Alpaca 2024-05-21 17:58:51 -06:00
jeffser
6d22182e03 Initial support for sandbox Ollama 2024-05-21 15:36:24 -06:00
jeffser
6fc30bf2a7 Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-20 19:20:40 -06:00
jeffser
b16e2aa7f7 Preparing for 0.5.5 2024-05-20 19:20:29 -06:00
Jeffry Samuel
b64b96461c maybe 2024-05-20 19:02:51 -06:00
jeffser
c7f8c560a1 Better UI for 'Manage Models' dialog 2024-05-20 17:36:22 -06:00
jeffser
26bc4fe37f Replaced model description with a button to open Ollama's website for the model 2024-05-20 16:29:48 -06:00
jeffser
ce427feee4 Added myself to the credits as the spanish translator 2024-05-20 16:06:04 -06:00
jeffser
9c1f239f53 Better UI on the sidebar 2024-05-20 15:46:25 -06:00
jeffser
478c699aff Using XDG properly to get config folder '.var/app/com.jeffser.Alpaca/config' 2024-05-20 15:25:33 -06:00
jeffser
5eef0887eb Better summary 2024-05-20 15:19:07 -06:00
jeffser
3438c1716e Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-20 14:46:29 -06:00
jeffser
113602dea7 Updated README 2024-05-20 14:46:23 -06:00
Alex K
ac93581045 Update Russian translation (#16)
* Add files via upload

* Add files via upload

* Update ru.po

* Add files via upload

* Update ru.po

* Add files via upload

---------

Co-authored-by: Jeffry Samuel <69224322+Jeffser@users.noreply.github.com>
2024-05-20 13:07:34 -06:00
Alex K
94f8e9550e Update Russian translation (#15)
* Add files via upload

* Add files via upload

---------

Co-authored-by: Jeffry Samuel <69224322+Jeffser@users.noreply.github.com>
2024-05-19 22:01:28 -06:00
jeffser
f4ea0b7389 Quick fix 2024-05-19 21:54:42 -06:00
jeffser
849867728c I forgot this text 2024-05-19 21:33:43 -06:00
jeffser
9fba69566d Updating template for translations 2024-05-19 21:29:47 -06:00
jeffser
86d2ee0be0 Preparing for 0.5.1 2024-05-19 21:29:06 -06:00
jeffser
f333f50016 User can now leave chat name empty when creating a new one, it will at a placeholder text 2024-05-19 21:13:30 -06:00
jeffser
47faa4581e Fix: Spanish translation wasn't working 2024-05-19 20:28:19 -06:00
jeffser
c8cc4f3960 Spanish translation 2024-05-19 20:18:02 -06:00
jeffser
8834a4bb88 Added template for translations and an empty spanish .po 2024-05-19 19:45:27 -06:00
jeffser
51c01a5afa Removed _ from some text 2024-05-19 19:41:27 -06:00
jeffser
e550f49a18 Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-19 19:30:46 -06:00
jeffser
65c46570c5 Fixes for translating 2024-05-19 19:30:00 -06:00
Alex K
126f588fcb Add files via upload (#5) 2024-05-19 19:08:11 -06:00
jeffser
6fbf6e139b Better translation support, adding dialogs 2024-05-19 19:06:11 -06:00
jeffser
15fdd0ae1a Added interrupt 'stop' button 2024-05-19 18:29:20 -06:00
jeffser
0096346b0c Quick fixes 2024-05-19 17:55:01 -06:00
jeffser
e19aece78a Quick fix 2024-05-19 17:36:32 -06:00
jeffser
d540114ae5 Added support for background pulling of models 2024-05-19 17:09:58 -06:00
jeffser
454aeac5e2 Better scalling for different window sizes 2024-05-19 14:35:37 -06:00
jeffser
f6cc6ac894 Fixed: can't close app normally if first time setup fails 2024-05-19 12:33:24 -06:00
jeffser
adef5b5671 Added basic shortcuts 2024-05-19 12:10:14 -06:00
jeffser
9f00890f46 Quick fix 2024-05-19 00:46:10 -06:00
jeffser
8ee265f926 Preparing for 0.5.0 2024-05-19 00:36:11 -06:00
jeffser
bc94c33807 Quick fix 2024-05-19 00:30:05 -06:00
jeffser
5ee5de4ebb Finally, support for multiple chats is here! 2024-05-19 00:17:00 -06:00
jeffser
e941648eb1 Added frame to message textview widget 2024-05-18 19:53:13 -06:00
jeffser
625bcb3f1f Fixed: code blocks shouldn't be editable 2024-05-18 19:48:43 -06:00
jeffser
2725928363 New tags for markup (bold, list, title, subtitle, monospace) 2024-05-18 19:33:22 -06:00
jeffser
b471ad70fe Initial support for Pango Markup 2024-05-18 18:10:01 -06:00
jeffser
ce18aa7de2 Added notifications if app is not active and a model pull finishes (and new symbolic icon) 2024-05-18 17:28:10 -06:00
jeffser
25a761d7d1 Added loading spinner when sending message 2024-05-18 16:46:20 -06:00
jeffser
d944af7a39 Fixed readme 2024-05-18 16:23:04 -06:00
jeffser
81555bef5b Deleted flatpak-builder folder 2024-05-18 15:54:14 -06:00
jeffser
02acbb2d70 Added support for multiple tags on a single model 2024-05-18 15:52:50 -06:00
jeffser
8ddce304b2 Quick fix 2024-05-18 11:46:27 -06:00
jeffser
d989ec5324 Added autoscroll when the user is at the bottom of the chat 2024-05-18 11:44:16 -06:00
jeffser
01ea3a0dc8 Fixed images margin 2024-05-18 11:32:44 -06:00
jeffser
5e7d590447 Fixed message footer 2024-05-17 01:00:32 -06:00
jeffser
ed4fbc7950 Fixed: messages didn't load if they don't have an image 2024-05-17 00:47:41 -06:00
jeffser
07994db0a5 I forgot to change something oops 2024-05-17 00:45:25 -06:00
jeffser
2290105ac1 Preparing update to 0.4.0 2024-05-17 00:39:49 -06:00
jeffser
3b695031bc Added code syntax highlighting, Image recognition (llava model), multiline prompt, and some fixes 2024-05-17 00:35:34 -06:00
jeffser
83cb2c3b90 Code blocks v1 2024-05-16 20:13:18 -06:00
jeffser
e4360925b6 Added version notes 2024-05-16 15:15:42 -06:00
jeffser
425e1b0211 Only show (Save changes?) dialog when you change the url 2024-05-16 13:58:13 -06:00
jeffser
529687ffdb Removed Soup requirement since I'm now using requests 2024-05-16 11:54:59 -06:00
jeffser
34e3511d62 Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-16 11:42:48 -06:00
jeffser
70e2c81eff Added credit to Alex K (Russian translation) 2024-05-16 11:42:42 -06:00
Alex K
d8ba1f5696 Add Russian translation (#1)
* Add files via upload

* Update ru.po
2024-05-16 11:37:35 -06:00
jeffser
b21f7490ec Fixed description 2024-05-16 10:01:08 -06:00
jeffser
33eed32a15 Changed brand colors 2024-05-16 09:58:57 -06:00
jeffser
b9887d9286 Fixed 'cannot close app on first setup' 2024-05-16 09:50:44 -06:00
jeffser
d1fbdad486 Fixed 'cannot close app on first setup' 2024-05-16 09:50:35 -06:00
Jeffry Samuel
28d0860522 Update README.md 2024-05-15 23:05:06 -06:00
Jeffry Samuel
a4981b8e9c Update README.md 2024-05-15 23:03:14 -06:00
jeffser
76486da3d4 Fixes for 0.2.2 2024-05-14 00:27:02 -06:00
jeffser
c7303cd278 Quick fix for 0.2.1 2024-05-13 13:53:58 -06:00
38 changed files with 9860 additions and 548 deletions

1
.github/FUNDING.yml vendored
View File

@@ -1,6 +1,7 @@
# These are supported funding model platforms
github: jeffser # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
ko_fi: jeffser
#patreon: # Replace with a single Patreon username
#open_collective: # Replace with a single Open Collective username
#ko_fi: # Replace with a single Ko-fi username

20
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,20 @@
---
name: Bug report
about: Something is wrong
title: ''
labels: bug
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Additional context**
Add any other context about the problem here.

View File

@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@@ -1,50 +1,69 @@
<img src="https://jeffser.com/images/alpaca/logo.svg">
<p align="center"><img src="https://jeffser.com/images/alpaca/logo.svg"></p>
# Alpaca
An [Ollama](https://github.com/ollama/ollama) client made with GTK4 and Adwaita.
<a href='https://flathub.org/apps/com.jeffser.Alpaca'><img width='240' alt='Download on Flathub' src='https://flathub.org/api/badge?locale=en'/></a>
Alpaca is an [Ollama](https://github.com/ollama/ollama) client where you can manage and chat with multiple models, Alpaca provides an easy and begginer friendly way of interacting with local AI, everything is open source and powered by Ollama.
---
> [!WARNING]
> This project is not affiliated at all with Ollama, I'm not responsible for any damages to your device or software caused by running code given by any models.
> [!important]
> This is my first GTK4 / Adwaita / Python app, so it might crash and some features are still under development, please report any errors if you can, thank you!
> This project is not affiliated at all with Ollama, I'm not responsible for any damages to your device or software caused by running code given by any AI models.
## Features!
- Talk to multiple models in the same conversation
- Pull and delete models from the app
- Image recognition
- Code highlighting
- Multiple conversations
- Notifications
- Import / Export chats
- Delete messages
## Future features!
- Persistent conversations
- Multiple conversations
- Image / document recognition
- Document recognition (Probably only Markdown because it's really easy for AI to read)
- YouTube recognition (Ask questions about a YouTube video using the transcript)
- Edit messages
- Snap Package (maybe)
## Screenies
Login to Ollama instance | Chatting with models | Managing models
:-------------------------:|:-------------------------:|:-------------------------:
![Screenshot from 2024-05-12 19-58-28](https://github.com/Jeffser/Alpaca/assets/69224322/e28df5c9-6419-4800-bbbc-38821f096922) | ![Screenshot from 2024-05-12 20-01-08](https://github.com/Jeffser/Alpaca/assets/69224322/c4083864-8c39-40e6-83b6-aff9d62183ca) | ![Screenshot from 2024-05-12 20-01-31](https://github.com/Jeffser/Alpaca/assets/69224322/76deb8a2-13a5-480a-b99d-4de40159c229)
![Screenshot from 2024-05-12 19-58-28](https://jeffser.com/images/alpaca/screenie1.png) | ![Screenshot from 2024-05-12 20-01-08](https://jeffser.com/images/alpaca/screenie2.png) | ![Screenshot from 2024-05-12 20-01-31](https://jeffser.com/images/alpaca/screenie3.png)
## Preview
1. Clone repo using Gnome Builder
2. Press the `run` button
## Instalation
1. Clone repo using Gnome Builder
2. Build the app using the `build` button
3. Prepare the file using the `install` button (it doesn't actually install it, idk)
4. Then press the `export` button, it will export a `com.jeffser.Alpaca.flatpak` file, you can install it just by opening it
1. Go to the `releases` page
2. Download the latest flatpak package
3. Open it
## Usage
- You'll need an Ollama instance, I recommend using the [Docker image](https://ollama.com/blog/ollama-is-now-available-as-an-official-docker-image)
- Once you open Alpaca it will ask you for a url, if you are using the same computer as the Ollama instance and didn't change the ports you can use the default url.
- You might need a model, you can get one using the box icon at the top of the app, I recommend using phi3 because it is very lightweight but you can use whatever you want (I haven't actually tested all so your mileage may vary).
- Then just start talking! you can mix different models, they all share the same conversation, it's really cool in my opinion.
## Ollama session tips
### Migrate Ollama session to Alpaca's integrated session
For now Alpaca doesn't offer a way to do this from the GUI but it's really simple, when you are using Ollama it creates a folder in the home directory called `.ollama`, you just need to move that folder to `~/.var/app/com.jeffser.Alpaca/data/`
### Change the port of the integrated Ollama instance
Go to `~/.var/app/com.jeffser.Alpaca/config/server.json` and change the `"local_port"` value, by default it is `11435`.
### Backup all the chats
The chat data is located in `~/.var/app/com.jeffser.Alpaca/config/chats.json` you can copy that file wherever you want to.
### Force showing the welcome dialog
To do that you just need to delete the file `~/.var/app/com.jeffser.Alpaca/config/server.json`, this won't affect your saved chats or models.
---
## Thanks
- [not-a-dev-stein](https://github.com/not-a-dev-stein) for their help with requesting a new icon, bug reports and the translation to Brazilian Portuguese
- [TylerLaBree](https://github.com/TylerLaBree) for their requests and ideas
- [Alexkdeveloper](https://github.com/alexkdeveloper) for their help translating the app to Russian
- [Imbev](https://github.com/imbev) for their reports and suggestions
- [Nokse](https://github.com/Nokse22) for their contributions to the UI
- [Louis Chauvet-Villaret](https://github.com/loulou64490) for their suggestions and help translating the app to French
## About forks
If you want to fork this... I mean, I think it would be better if you start from scratch, my code isn't well documented at all, but if you really want to, please give me some credit, that's all I ask for... And maybe a donation (joke)

View File

@@ -57,6 +57,45 @@
}
]
},
{
"name": "python3-pillow",
"buildsystem": "simple",
"build-commands": [
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pillow\" --no-build-isolation"
],
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/ef/43/c50c17c5f7d438e836c169e343695534c38c77f60e7c90389bd77981bc21/pillow-10.3.0.tar.gz",
"sha256": "9d2455fbf44c914840c793e89aa82d0e1763a14253a000743719ae5946814b2d"
}
]
},
{
"name": "ollama",
"buildsystem": "simple",
"build-commands": [
"install -Dm0755 ollama* ${FLATPAK_DEST}/bin/ollama"
],
"sources": [
{
"type": "file",
"url": "https://github.com/ollama/ollama/releases/download/v0.1.38/ollama-linux-amd64",
"sha256": "c3360812503a9756a507ebb9d78667e2b21800a760b45046bc48a8f3b81972f4",
"only-arches": [
"x86_64"
]
},
{
"type": "file",
"url": "https://github.com/ollama/ollama/releases/download/v0.1.38/ollama-linux-arm64",
"sha256": "f2d091afe665b2d5ba8b68e2473d36cdfaf80c61c7d2844a0a8f533c4e62f547",
"only-arches": [
"aarch64"
]
}
]
},
{
"name" : "alpaca",
"builddir" : true,
@@ -64,8 +103,8 @@
"sources" : [
{
"type" : "git",
"url" : "https://github.com/Jeffser/Alpaca.git",
"tag": "0.2.0"
"url" : "file:///home/tentri/Documents/Alpaca",
"branch" : "main"
}
]
}

View File

@@ -0,0 +1,6 @@
[Shell Search Provider]
DesktopId=@appid@.desktop
BusName=@appid@.SearchProvider
ObjectPath=/com/jeffser/Alpaca/SearchProvider
Version=2

View File

@@ -0,0 +1,3 @@
[D-BUS Service]
Name=@appid@.SearchProvider
Exec=@libexecdir@/alpaca_search_provider

View File

@@ -6,3 +6,4 @@ Terminal=false
Type=Application
Categories=Utility;Development;Chat;
StartupNotify=true
X-Purism-FormFactor=Workstation;Mobile;

View File

@@ -5,13 +5,17 @@
<project_license>GPL-3.0-or-later</project_license>
<launchable type="desktop-id">com.jeffser.Alpaca.desktop</launchable>
<name>Alpaca</name>
<summary>An Ollama client</summary>
<summary>Chat with local AI models</summary>
<description>
<p>Made with GTK4 and Adwaita.</p>
<p>An Ollama client</p>
<p>Features</p>
<ul>
<li>Built in Ollama instance</li>
<li>Talk to multiple models in the same conversation</li>
<li>Pull and delete models from the app</li>
<li>Have multiple conversations</li>
<li>Image recognition (Only available with compatible models)</li>
<li>Import and export chats</li>
</ul>
<p>Disclaimer</p>
<p>This project is not affiliated at all with Ollama, I'm not responsible for any damages to your device or software caused by running code given by any models.</p>
@@ -28,14 +32,22 @@
<category>Development</category>
<category>Chat</category>
</categories>
<requires>
<display_length compare="ge">360</display_length>
</requires>
<recommends>
<control>keyboard</control>
<control>pointing</control>
<control>touch</control>
</recommends>
<branding>
<color type="primary" scheme_preference="light">#ff00ff</color>
<color type="primary" scheme_preference="dark">#993d3d</color>
<color type="primary" scheme_preference="light">#8cdef5</color>
<color type="primary" scheme_preference="dark">#0f2b78</color>
</branding>
<screenshots>
<screenshot type="default">
<image>https://jeffser.com/images/alpaca/screenie1.png</image>
<caption>Welcome dialog</caption>
<caption>A conversation showing code highlight</caption>
</screenshot>
<screenshot>
<image>https://jeffser.com/images/alpaca/screenie2.png</image>
@@ -51,6 +63,276 @@
<url type="homepage">https://github.com/Jeffser/Alpaca</url>
<url type="donation">https://github.com/sponsors/Jeffser</url>
<releases>
<release version="0.9.2" date="2024-05-30">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.9.2</url>
<description>
<p>Fix</p>
<ul>
<li>Fixed: app didn't open if models tweaks wasn't present in the config files</li>
</ul>
</description>
</release>
<release version="0.9.1" date="2024-05-29">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.9.1</url>
<description>
<p>Big Update</p>
<ul>
<li>Changed multiple icons (paper airplane for the send button)</li>
<li>Combined export / import chat buttons into a menu</li>
<li>Added 'model tweaks' (temperature, seed, keep_alive)</li>
<li>Fixed send / stop button</li>
<li>Fixed app not checking if remote connection works when starting</li>
</ul>
</description>
</release>
<release version="0.9.0" date="2024-05-29">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.9.0</url>
<description>
<p>Daily Update</p>
<ul>
<li>Added text ellipsis to chat name so it doesn't change the button width</li>
<li>New shortcut for creating a chat (CTRL+N)</li>
<li>New message entry design</li>
<li>Fixed: Can't rename the same chat multiple times</li>
</ul>
</description>
</release>
<release version="0.8.8" date="2024-05-28">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.8.8</url>
<description>
<p>The fix</p>
<ul>
<li>Fixed: Ollama instance keeps running on the background even when it is disabled</li>
<li>Fixed: Can't pull models on the integrated instance</li>
</ul>
</description>
</release>
<release version="0.8.7" date="2024-05-27">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.8.7</url>
<description>
<p>Quick tweaks</p>
<ul>
<li>Added progress bar to models that are being pulled</li>
<li>Added size to tags when pulling a model</li>
<li>General optimizations on the background</li>
</ul>
</description>
</release>
<release version="0.8.6" date="2024-05-26">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.8.6</url>
<description>
<p>Quick fixes</p>
<ul>
<li>Fixed: Scroll when message is received</li>
<li>Fixed: Content doesn't change when creating a new chat</li>
<li>Added 'Featured Models' page on welcome dialog</li>
</ul>
</description>
</release>
<release version="0.8.5" date="2024-05-26">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.8.5</url>
<description>
<p>Nice Update</p>
<ul>
<li>UI tweaks (Thanks Nokse22)</li>
<li>General optimizations</li>
<li>Metadata fixes</li>
</ul>
</description>
</release>
<release version="0.8.1" date="2024-05-24">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.8.1</url>
<description>
<p>Quick fix</p>
<ul>
<li>Updated Spanish translation</li>
<li>Added compatibility for PNG</li>
</ul>
</description>
</release>
<release version="0.8.0" date="2024-05-24">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.8.0</url>
<description>
<p>New Update</p>
<ul>
<li>Updated model list</li>
<li>Added image recognition to more models</li>
<li>Added Brazilian Portuguese translation (Thanks Daimaar Stein)</li>
<li>Refined the general UI (Thanks Nokse22)</li>
<li>Added 'delete message' feature</li>
<li>Added metadata so that software distributors know that the app is compatible with mobile</li>
<li>Changed 'send' shortcut to just the return/enter key (to add a new line use shift+return)</li>
</ul>
</description>
</release>
<release version="0.7.1" date="2024-05-23">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.7.1</url>
<description>
<p>Bug Fixes</p>
<ul>
<li>Fixed: Minor spelling mistake</li>
<li>Added 'mobile' as a supported form factor</li>
<li>Fixed: 'Connection Error' dialog not working properly</li>
<li>Fixed: App might freeze randomly on startup</li>
<li>Changed 'chats' label on sidebar for 'Alpaca'</li>
</ul>
</description>
</release>
<release version="0.7.0" date="2024-05-22">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.7.0</url>
<description>
<p>Cool Update</p>
<ul>
<li>Better design for chat window</li>
<li>Better design for chat sidebar</li>
<li>Fixed remote connections</li>
<li>Fixed Ollama restarting in loop</li>
<li>Other cool backend stuff</li>
</ul>
</description>
</release>
<release version="0.6.0" date="2024-05-21">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.6.0</url>
<description>
<p>Huge Update</p>
<ul>
<li>Added Ollama as part of Alpaca, Ollama will run in a sandbox</li>
<li>Added option to connect to remote instances (how it worked before)</li>
<li>Added option to import and export chats</li>
<li>Added option to run Alpaca with Ollama in the background</li>
<li>Added preferences dialog</li>
<li>Changed the welcome dialog</li>
</ul>
<p>
Please report any errors to the issues page, thank you.
</p>
</description>
</release>
<release version="0.5.5" date="2024-05-20">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.5.5</url>
<description>
<p>Yet Another Daily Update</p>
<ul>
<li>Added better UI for 'Manage Models' dialog</li>
<li>Added better UI for the chat sidebar</li>
<li>Replaced model description with a button to open Ollama's website for the model</li>
<li>Added myself to the credits as the spanish translator</li>
<li>Using XDG properly to get config folder</li>
<li>Update for translations</li>
</ul>
<p>
Please report any errors to the issues page, thank you.
</p>
</description>
</release>
<release version="0.5.2" date="2024-05-19">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.5.2</url>
<description>
<p>Quick Fix</p>
<ul>
<li>The last update had some mistakes in the description of the update</li>
</ul>
<p>
Please report any errors to the issues page, thank you.
</p>
</description>
</release>
<release version="0.5.1" date="2024-05-19">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.5.1</url>
<description>
<p>Another Daily Update</p>
<ul>
<li>Added full Spanish translation</li>
<li>Added support for background pulling of multiple models</li>
<li>Added interrupt button</li>
<li>Added basic shortcuts</li>
<li>Better translation support</li>
<li>User can now leave chat name empty when creating a new one, it will add a placeholder name</li>
<li>Better scalling for different window sizes</li>
<li>Fixed: Can't close app if first time setup fails</li>
</ul>
<p>
Please report any errors to the issues page, thank you.
</p>
</description>
</release>
<release version="0.5.0" date="2024-05-19">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.5.0</url>
<description>
<p>Really Big Update</p>
<ul>
<li>Added multiple chats support!</li>
<li>Added Pango Markup support (bold, list, title, subtitle, monospace)</li>
<li>Added autoscroll if the user is at the bottom of the chat</li>
<li>Added support for multiple tags on a single model</li>
<li>Added better model management dialog</li>
<li>Added loading spinner when sending message</li>
<li>Added notifications if app is not active and a model pull finishes</li>
<li>Added new symbolic icon</li>
<li>Added frame to message textview widget</li>
<li>Fixed "code blocks shouldn't be editable"</li>
</ul>
<p>
Please report any errors to the issues page, thank you.
</p>
</description>
</release>
<release version="0.4.0" date="2024-05-17">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.4.0</url>
<description>
<p>Big Update</p>
<ul>
<li>Added code highlighting</li>
<li>Added image recognition (llava model)</li>
<li>Added multiline prompt</li>
<li>Fixed some small bugs</li>
<li>General optimization</li>
</ul>
<p>
Please report any errors to the issues page, thank you.
</p>
</description>
</release>
<release version="0.3.0" date="2024-05-16">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.3.0</url>
<description>
<p>Fixes and features</p>
<ul>
<li>Russian translation (thanks github/alexkdeveloper)</li>
<li>Fixed: Cannot close app on first setup</li>
<li>Fixed: Brand colors for Flathub</li>
<li>Fixed: App description</li>
<li>Fixed: Only show 'save changes dialog' when you actually change the url</li>
</ul>
<p>
Please report any errors to the issues page, thank you.
</p>
</description>
</release>
<release version="0.2.2" date="2024-05-14">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.2.2</url>
<description>
<p>0.2.2 Bug fixes</p>
<ul>
<li>Toast messages appearing behind dialogs</li>
<li>Local model list not updating when changing servers</li>
<li>Closing the setup dialog closes the whole app</li>
</ul>
<p>
Please report any errors to the issues page, thank you.
</p>
</description>
</release>
<release version="0.2.1" date="2024-05-14">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.2.1</url>
<description>
<p>0.2.1 Data saving fix</p>
<p>The app didn't save the config files and chat history to the right directory, this is now fixed</p>
<p>
Please report any errors to the issues page, thank you.
</p>
</description>
</release>
<release version="0.2.0" date="2024-05-14">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.2.0</url>
<description>

View File

@@ -1 +1,2 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g color="#000" fill="#2e3436"><path d="M7.188 2.281c-.094.056-.192.125-.29.19L5.566 3.803a1.684 1.684 0 11-2.17 2.17L2.332 7.037c.506-.069 1.017-.136 1.2.026.242.214.139 1.031.155 1.656.213.088.427.171.657.219.04.008.085-.007.125 0 .337-.525.683-1.288 1-1.344.322-.057.905.562 1.406.937a3.67 3.67 0 00.656-.468c-.195-.595-.594-1.369-.437-1.657.158-.29 1.019-.37 1.625-.531.028-.183.062-.371.062-.562 0-.075-.027-.146-.031-.22-.587-.217-1.435-.385-1.562-.687-.128-.302.34-1.021.593-1.593a3.722 3.722 0 00-.593-.532zm3.875 3.25c-.165.475-.305 1.086-.47 1.563-.43.047-.84.14-1.218.312-.38-.322-.787-.773-1.156-1.093a5.562 5.562 0 00-.688.468c.177.46.453 1.001.625 1.469-.298.309-.531.67-.719 1.063-.494 0-1.102-.084-1.593-.094a5.68 5.68 0 00-.219.812c.435.24 1.006.468 1.438.72-.006.093-.032.185-.032.28 0 .333.049.66.125.97-.382.304-.898.63-1.28.937.015.044.04.083.058.127l.613.613c.417-.1.868-.223 1.266-.303.248.343.532.626.875.875-.027.135-.068.283-.104.428.174-.063.34-.155.482-.297l1.432-1.432a1.994 1.994 0 01.533-3.918c.919 0 1.684.623 1.918 1.467l1.338-1.338c.06-.06.11-.124.156-.191-.035-.062-.06-.13-.1-.188.096-.152.205-.31.315-.47.017-.348-.1-.7-.37-.971l-.177-.176c-.28.192-.561.387-.83.555-.345-.233-.746-.383-1.156-.5-.077-.507-.107-1.132-.187-1.625a5.44 5.44 0 00-.875-.063zm-9.247.608c-.087.068-.173.138-.254.205l.014.035z" style="marker:none" overflow="visible"/><path d="M8.707.293a1 1 0 00-1.415 0l-6.999 7a1 1 0 000 1.413l7 7.001a1 1 0 001.415 0l7-7a1 1 0 000-1.413zm-.708 2.121l5.587 5.587L8 13.586 2.414 7.999z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal;marker:none" font-weight="400" font-family="sans-serif" overflow="visible"/></g></svg>
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#222222"><path d="m 14 3.175781 v 3.824219 c 0 2.179688 -1.820312 4 -4 4 h -3.585938 l -2 2 h 5.585938 l 3 3 v -3 c 1.644531 0 3 -1.355469 3 -3 v -4 c 0 -1.292969 -0.839844 -2.40625 -2 -2.824219 z m 0 0"/><path d="m 3 0 c -1.644531 0 -3 1.355469 -3 3 v 4 c 0 1.644531 1.355469 3 3 3 v 3 l 3 -3 h 4 c 1.644531 0 3 -1.355469 3 -3 v -4 c 0 -1.644531 -1.355469 -3 -3 -3 z m 0 0"/></g></svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 522 B

View File

@@ -33,4 +33,24 @@ test('Validate schema file',
compile_schemas,
args: ['--strict', '--dry-run', meson.current_source_dir()])
subdir('icons')
#service_conf = configuration_data()
#service_conf.set('appid', application_id)
#service_conf.set('libexecdir', join_paths(get_option('prefix'), get_option('bindir')))
#configure_file(
#input: 'com.jeffser.Alpaca.SearchProvider.service.in',
#output: '@0@.SearchProvider.service'.format(application_id),
#configuration: service_conf,
#install_dir: join_paths(join_paths(get_option('prefix'), get_option('datadir')), 'dbus-1', 'services')
#)
#search_provider_conf = configuration_data()
#search_provider_conf.set('appid', application_id)
#configure_file(
#configuration: search_provider_conf,
#input: files('com.jeffser.Alpaca.SearchProvider.ini.in'),
#install_dir: join_paths(get_option('datadir'), 'gnome-shell', 'search-providers'),
#output: '@0@.SearchProvider.ini'.format(application_id)
#)
subdir('icons')

View File

@@ -1,11 +1,12 @@
project('Alpaca',
version: '0.2.0',
project('Alpaca', 'c',
version: '0.9.2',
meson_version: '>= 0.62.0',
default_options: [ 'warning_level=2', 'werror=false', ],
)
i18n = import('i18n')
gnome = import('gnome')
application_id = 'com.jeffser.Alpaca'
subdir('data')
subdir('src')

View File

@@ -0,0 +1,4 @@
ru
es
pt_BR
fr

876
po/alpaca.pot Normal file
View File

@@ -0,0 +1,876 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-05-29 16:18-0600\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-Transfer-Encoding: 8bit\n"
#: data/com.jeffser.Alpaca.desktop.in:3
#: data/com.jeffser.Alpaca.metainfo.xml.in:7
msgid "Alpaca"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:8
msgid "Chat with local AI models"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:10
msgid "An Ollama client"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:11
#: data/com.jeffser.Alpaca.metainfo.xml.in:357
msgid "Features"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:13
msgid "Built in Ollama instance"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:14
#: data/com.jeffser.Alpaca.metainfo.xml.in:359
msgid "Talk to multiple models in the same conversation"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:15
#: data/com.jeffser.Alpaca.metainfo.xml.in:360
msgid "Pull and delete models from the app"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:16
msgid "Have multiple conversations"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:17
msgid "Image recognition (Only available with compatible models)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:18
msgid "Import and export chats"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:20 src/window.ui:506
msgid "Disclaimer"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:21
msgid ""
"This project is not affiliated at all with Ollama, I'm not responsible for "
"any damages to your device or software caused by running code given by any "
"models."
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:24
msgid "Jeffry Samuel Eduarte Rojas"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:50
msgid "A conversation showing code highlight"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:54
msgid "A conversation involving multiple models"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:58
msgid "Managing models"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:69
#: data/com.jeffser.Alpaca.metainfo.xml.in:274
#: data/com.jeffser.Alpaca.metainfo.xml.in:331
msgid "Big Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:71
msgid "Changed multiple icons (paper airplane for the send button)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:72
msgid "Combined export / import chat buttons into a menu"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:73
msgid "Added 'model tweaks' (temperature, seed, keep_alive)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:74
msgid "Fixed send / stop button"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:75
msgid "Fixed app not checking if remote connection works when starting"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:82
msgid "Daily Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:84
msgid "Added text ellipsis to chat name so it doesn't change the button width"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:85
msgid "New shortcut for creating a chat (CTRL+N)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:86
msgid "New message entry design"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:87
msgid "Fixed: Can't rename the same chat multiple times"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:94
msgid "The fix"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:96
msgid ""
"Fixed: Ollama instance keeps running on the background even when it is "
"disabled"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:97
msgid "Fixed: Can't pull models on the integrated instance"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:104
msgid "Quick tweaks"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:106
msgid "Added progress bar to models that are being pulled"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:107
msgid "Added size to tags when pulling a model"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:108
msgid "General optimizations on the background"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:115
msgid "Quick fixes"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:117
msgid "Fixed: Scroll when message is received"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:118
msgid "Fixed: Content doesn't change when creating a new chat"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:119
msgid "Added 'Featured Models' page on welcome dialog"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:126
msgid "Nice Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:128
msgid "UI tweaks (Thanks Nokse22)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:129
msgid "General optimizations"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:130
msgid "Metadata fixes"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:137
msgid "Quick fix"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:139
msgid "Updated Spanish translation"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:140
msgid "Added compatibility for PNG"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:147
msgid "New Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:149
msgid "Updated model list"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:150
msgid "Added image recognition to more models"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:151
msgid "Added Brazilian Portuguese translation (Thanks Daimaar Stein)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:152
msgid "Refined the general UI (Thanks Nokse22)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:153
msgid "Added 'delete message' feature"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:154
msgid ""
"Added metadata so that software distributors know that the app is compatible "
"with mobile"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:155
msgid ""
"Changed 'send' shortcut to just the return/enter key (to add a new line use "
"shift+return)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:162
msgid "Bug Fixes"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:164
msgid "Fixed: Minor spelling mistake"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:165
msgid "Added 'mobile' as a supported form factor"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:166
msgid "Fixed: 'Connection Error' dialog not working properly"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:167
msgid "Fixed: App might freeze randomly on startup"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:168
msgid "Changed 'chats' label on sidebar for 'Alpaca'"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:175
msgid "Cool Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:177
msgid "Better design for chat window"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:178
msgid "Better design for chat sidebar"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:179
msgid "Fixed remote connections"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:180
msgid "Fixed Ollama restarting in loop"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:181
msgid "Other cool backend stuff"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:188
msgid "Huge Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:190
msgid "Added Ollama as part of Alpaca, Ollama will run in a sandbox"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:191
msgid "Added option to connect to remote instances (how it worked before)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:192
msgid "Added option to import and export chats"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:193
msgid "Added option to run Alpaca with Ollama in the background"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:194
msgid "Added preferences dialog"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:195
msgid "Changed the welcome dialog"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:197
#: data/com.jeffser.Alpaca.metainfo.xml.in:214
#: data/com.jeffser.Alpaca.metainfo.xml.in:226
#: data/com.jeffser.Alpaca.metainfo.xml.in:245
#: data/com.jeffser.Alpaca.metainfo.xml.in:266
#: data/com.jeffser.Alpaca.metainfo.xml.in:282
#: data/com.jeffser.Alpaca.metainfo.xml.in:298
#: data/com.jeffser.Alpaca.metainfo.xml.in:312
#: data/com.jeffser.Alpaca.metainfo.xml.in:322
#: data/com.jeffser.Alpaca.metainfo.xml.in:340
#: data/com.jeffser.Alpaca.metainfo.xml.in:362
msgid "Please report any errors to the issues page, thank you."
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:205
msgid "Yet Another Daily Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:207
msgid "Added better UI for 'Manage Models' dialog"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:208
msgid "Added better UI for the chat sidebar"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:209
msgid ""
"Replaced model description with a button to open Ollama's website for the "
"model"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:210
msgid "Added myself to the credits as the spanish translator"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:211
msgid "Using XDG properly to get config folder"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:212
msgid "Update for translations"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:222
msgid "Quick Fix"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:224
msgid "The last update had some mistakes in the description of the update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:234
msgid "Another Daily Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:236
msgid "Added full Spanish translation"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:237
msgid "Added support for background pulling of multiple models"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:238
msgid "Added interrupt button"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:239
msgid "Added basic shortcuts"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:240
msgid "Better translation support"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:241
msgid ""
"User can now leave chat name empty when creating a new one, it will add a "
"placeholder name"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:242
msgid "Better scalling for different window sizes"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:243
msgid "Fixed: Can't close app if first time setup fails"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:253
msgid "Really Big Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:255
msgid "Added multiple chats support!"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:256
msgid "Added Pango Markup support (bold, list, title, subtitle, monospace)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:257
msgid "Added autoscroll if the user is at the bottom of the chat"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:258
msgid "Added support for multiple tags on a single model"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:259
msgid "Added better model management dialog"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:260
msgid "Added loading spinner when sending message"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:261
msgid "Added notifications if app is not active and a model pull finishes"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:262
msgid "Added new symbolic icon"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:263
msgid "Added frame to message textview widget"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:264
msgid "Fixed \"code blocks shouldn't be editable\""
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:276
msgid "Added code highlighting"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:277
msgid "Added image recognition (llava model)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:278
msgid "Added multiline prompt"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:279
msgid "Fixed some small bugs"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:280
msgid "General optimization"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:290
msgid "Fixes and features"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:292
msgid "Russian translation (thanks github/alexkdeveloper)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:293
msgid "Fixed: Cannot close app on first setup"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:294
msgid "Fixed: Brand colors for Flathub"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:295
msgid "Fixed: App description"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:296
msgid "Fixed: Only show 'save changes dialog' when you actually change the url"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:306
msgid "0.2.2 Bug fixes"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:308
msgid "Toast messages appearing behind dialogs"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:309
msgid "Local model list not updating when changing servers"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:310
msgid "Closing the setup dialog closes the whole app"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:320
msgid "0.2.1 Data saving fix"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:321
msgid ""
"The app didn't save the config files and chat history to the right "
"directory, this is now fixed"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:330
msgid "0.2.0"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:332
msgid "New Features"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:334
msgid "Restore chat after closing the app"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:335
msgid "A button to clear the chat"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:336
msgid "Fixed multiple bugs involving how messages are shown"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:337
msgid "Added welcome dialog"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:338
msgid "More stability"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:348
msgid "0.1.2 Quick fixes"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:349
msgid ""
"This release fixes some metadata needed to have a proper Flatpak application"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:355
msgid "0.1.1 Stable Release"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:356
msgid "This is the first public version of Alpaca"
msgstr ""
#: src/window.py:53 src/window.py:670 src/window.py:675 src/window.py:735
#: src/window.ui:681
msgid "New Chat"
msgstr ""
#: src/window.py:98
msgid "An error occurred"
msgstr ""
#: src/window.py:99
msgid "Failed to connect to server"
msgstr ""
#: src/window.py:100
msgid "Could not list local models"
msgstr ""
#: src/window.py:101
msgid "Could not delete model"
msgstr ""
#: src/window.py:102
msgid "Could not pull model"
msgstr ""
#: src/window.py:103
msgid "Cannot open image"
msgstr ""
#: src/window.py:104
msgid "Cannot delete chat because it's the only one left"
msgstr ""
#: src/window.py:105
msgid "There was an error with the local Ollama instance, so it has been reset"
msgstr ""
#: src/window.py:108
msgid "Please select a model before chatting"
msgstr ""
#: src/window.py:109
msgid "Chat cannot be cleared while receiving a message"
msgstr ""
#: src/window.py:110
msgid "That tag is already being pulled"
msgstr ""
#: src/window.py:111
msgid "That tag has been pulled already"
msgstr ""
#: src/window.py:112
msgid "Code copied to the clipboard"
msgstr ""
#: src/window.py:115
msgid "Model deleted successfully"
msgstr ""
#: src/window.py:116
msgid "Model pulled successfully"
msgstr ""
#: src/window.py:117
msgid "Chat exported successfully"
msgstr ""
#: src/window.py:118
msgid "Chat imported successfully"
msgstr ""
#: src/window.py:130
msgid "Upload image"
msgstr ""
#: src/window.py:134 src/window.ui:179
msgid "Only available on selected models"
msgstr ""
#: src/window.py:195
msgid "Close"
msgstr ""
#: src/window.py:196 src/window.ui:459
msgid "Next"
msgstr ""
#: src/window.py:243
msgid "Pulling in the background..."
msgstr ""
#: src/window.py:576
msgid "Task Complete"
msgstr ""
#: src/window.py:576
msgid "Model '{}' pulled successfully."
msgstr ""
#: src/window.py:581
msgid "Pull Model Error"
msgstr ""
#: src/window.py:581
msgid "Failed to pull model '{}' due to network error."
msgstr ""
#: src/window.ui:39
msgid "New chat"
msgstr ""
#: src/window.ui:80
msgid "Toggle Sidebar"
msgstr ""
#: src/window.ui:103 src/window.ui:374
msgid "Manage models"
msgstr ""
#: src/window.ui:117
msgid "Menu"
msgstr ""
#: src/window.ui:266 src/window.ui:612 src/window.ui:675
msgid "Preferences"
msgstr ""
#: src/window.ui:269 src/window.ui:659
msgid "General"
msgstr ""
#: src/window.ui:273
msgid "Remote Connection"
msgstr ""
#: src/window.ui:274
msgid "Manage a remote connection to Ollama"
msgstr ""
#: src/window.ui:277
msgid "Use remote connection"
msgstr ""
#: src/window.ui:283
msgid "URL of remote instance"
msgstr ""
#: src/window.ui:291
msgid "Behavior"
msgstr ""
#: src/window.ui:292
msgid "Manage Alpaca's Behavior"
msgstr ""
#: src/window.ui:295
msgid "Run in background"
msgstr ""
#: src/window.ui:304
msgid "Advanced Model Settings"
msgstr ""
#: src/window.ui:308
msgid "Model Tweaks"
msgstr ""
#: src/window.ui:309
msgid "Manage the behavior of the AI models"
msgstr ""
#: src/window.ui:314
msgid "Temperature"
msgstr ""
#: src/window.ui:315
msgid ""
"The temperature of the model. Increasing the temperature will make the model "
"answer more creatively. (Default: 0.8)"
msgstr ""
#: src/window.ui:330
msgid "Seed"
msgstr ""
#: src/window.ui:331
msgid ""
"Sets the random number seed to use for generation. Setting this to a "
"specific number will make the model generate the same text for the same "
"prompt. (Default: 0 (random))"
msgstr ""
#: src/window.ui:345
msgid "Keep Alive Time"
msgstr ""
#: src/window.ui:346
msgid ""
"Controls how long the model will stay loaded into memory following the "
"request in minutes (default: 5)"
msgstr ""
#: src/window.ui:443
msgid "Previous"
msgstr ""
#: src/window.ui:486
msgid "Welcome to Alpaca"
msgstr ""
#: src/window.ui:487
msgid "Powered by Ollama"
msgstr ""
#: src/window.ui:490
msgid "Ollama Website"
msgstr ""
#: src/window.ui:507
msgid ""
"Alpaca and its developers are not liable for any damages to devices or "
"software resulting from the execution of code generated by an AI model. "
"Please exercise caution and review the code carefully before running it."
msgstr ""
#: src/window.ui:518
msgid "Featured Models"
msgstr ""
#: src/window.ui:519
msgid ""
"Alpaca works locally on your device, to start chatting you'll need an AI "
"model, you can either pull models from this list or the 'Manage Models' menu "
"later."
msgstr ""
#: src/window.ui:529
msgid "Built by Meta"
msgstr ""
#: src/window.ui:546
msgid "Built by Google DeepMind"
msgstr ""
#: src/window.ui:563
msgid "Built by Microsoft"
msgstr ""
#: src/window.ui:580
msgid "Multimodal AI with image recognition"
msgstr ""
#: src/window.ui:608
msgid "Clear Chat"
msgstr ""
#: src/window.ui:616
msgid "Keyboard Shortcuts"
msgstr ""
#: src/window.ui:620
msgid "About Alpaca"
msgstr ""
#: src/window.ui:628
msgid "Export current chat"
msgstr ""
#: src/window.ui:632
msgid "Import chat"
msgstr ""
#: src/window.ui:663
msgid "Close application"
msgstr ""
#: src/window.ui:669
msgid "Clear chat"
msgstr ""
#: src/window.ui:687
msgid "Show shortcuts window"
msgstr ""
#: src/window.ui:694
msgid "Editor"
msgstr ""
#: src/window.ui:698
msgid "Copy"
msgstr ""
#: src/window.ui:704
msgid "Paste"
msgstr ""
#: src/window.ui:710
msgid "Insert new line"
msgstr ""
#: src/window.ui:716
msgid "Send Message"
msgstr ""

1097
po/es.po Normal file

File diff suppressed because it is too large Load Diff

1093
po/es.po~ Normal file

File diff suppressed because it is too large Load Diff

955
po/fr.po Normal file
View File

@@ -0,0 +1,955 @@
# French translation for Alpaca
#
# Translate guideline :
#
# English French
# to chat discuter
# a chat une discussion
#
#
msgid ""
msgstr ""
"Project-Id-Version: 0.8.7\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-05-29 16:18-0600\n"
"PO-Revision-Date: 2024-05-30 13:42+0200\n"
"Last-Translator: Louis Chauvet-Villaret <louischauvet0@gmail.com>\n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.4.4\n"
#: data/com.jeffser.Alpaca.desktop.in:3
#: data/com.jeffser.Alpaca.metainfo.xml.in:7
msgid "Alpaca"
msgstr "Alpaca"
#: data/com.jeffser.Alpaca.metainfo.xml.in:8
msgid "Chat with local AI models"
msgstr "Discutez avec des modèles d'IA localement grâce à Ollama"
#: data/com.jeffser.Alpaca.metainfo.xml.in:10
msgid "An Ollama client"
msgstr "Un client pour Ollama"
#: data/com.jeffser.Alpaca.metainfo.xml.in:11
#: data/com.jeffser.Alpaca.metainfo.xml.in:357
msgid "Features"
msgstr "Fonctionnalités"
#: data/com.jeffser.Alpaca.metainfo.xml.in:13
msgid "Built in Ollama instance"
msgstr "Ollama pré-intégré"
#: data/com.jeffser.Alpaca.metainfo.xml.in:14
#: data/com.jeffser.Alpaca.metainfo.xml.in:359
msgid "Talk to multiple models in the same conversation"
msgstr "Discutez avec plusieurs modèles dans un même discussion"
#: data/com.jeffser.Alpaca.metainfo.xml.in:15
#: data/com.jeffser.Alpaca.metainfo.xml.in:360
msgid "Pull and delete models from the app"
msgstr "Gestion des modèles depuis l'application"
#: data/com.jeffser.Alpaca.metainfo.xml.in:16
msgid "Have multiple conversations"
msgstr "Plusieurs conversations"
#: data/com.jeffser.Alpaca.metainfo.xml.in:17
msgid "Image recognition (Only available with compatible models)"
msgstr "Reconnaissance d'image (modèles compatibles)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:18
msgid "Import and export chats"
msgstr "Importez et exportez les discussions"
#: data/com.jeffser.Alpaca.metainfo.xml.in:20 src/window.ui:506
msgid "Disclaimer"
msgstr "Avertissement"
#: data/com.jeffser.Alpaca.metainfo.xml.in:21
msgid ""
"This project is not affiliated at all with Ollama, I'm not responsible for "
"any damages to your device or software caused by running code given by any "
"models."
msgstr ""
"Ce projet n'est pas affilié avec Ollama. Nous ne sommes aucunement "
"responsable des dommages causés à votre appareil ou vos logiciels suite à "
"l'exécution de code donné par un modèle."
#: data/com.jeffser.Alpaca.metainfo.xml.in:24
msgid "Jeffry Samuel Eduarte Rojas"
msgstr "Jeffry Samuel Eduarte Rojas"
#: data/com.jeffser.Alpaca.metainfo.xml.in:50
msgid "A conversation showing code highlight"
msgstr "Code avec coloration syntaxique"
#: data/com.jeffser.Alpaca.metainfo.xml.in:54
msgid "A conversation involving multiple models"
msgstr "Utilisation de plusieurs modèles"
#: data/com.jeffser.Alpaca.metainfo.xml.in:58
msgid "Managing models"
msgstr "Gestion des modèles"
#: data/com.jeffser.Alpaca.metainfo.xml.in:69
#: data/com.jeffser.Alpaca.metainfo.xml.in:274
#: data/com.jeffser.Alpaca.metainfo.xml.in:331
msgid "Big Update"
msgstr "Mise à jour majeure"
#: data/com.jeffser.Alpaca.metainfo.xml.in:71
msgid "Changed multiple icons (paper airplane for the send button)"
msgstr "Changement : plusieurs icônes (avion en papier pour envoyer)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:72
msgid "Combined export / import chat buttons into a menu"
msgstr "Changement : bouton d'import et export des discussions combiné"
#: data/com.jeffser.Alpaca.metainfo.xml.in:73
msgid "Added 'model tweaks' (temperature, seed, keep_alive)"
msgstr "Ajouté : options de modèle (temperature, seed, keep_alive)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:74
msgid "Fixed send / stop button"
msgstr "Résolu : bouton envoyer / stopper"
#: data/com.jeffser.Alpaca.metainfo.xml.in:75
msgid "Fixed app not checking if remote connection works when starting"
msgstr ""
"Résolu : l'application ne vérifiait si la connexion à distance fonctionnait "
"au démarrage"
#: data/com.jeffser.Alpaca.metainfo.xml.in:82
msgid "Daily Update"
msgstr "Mise à jour quotidienne"
#: data/com.jeffser.Alpaca.metainfo.xml.in:84
msgid "Added text ellipsis to chat name so it doesn't change the button width"
msgstr ""
"Résolu : ajout de point de suspension sur les noms des discussions pour ne "
"pas changer la position des boutons"
#: data/com.jeffser.Alpaca.metainfo.xml.in:85
msgid "New shortcut for creating a chat (CTRL+N)"
msgstr "Ajouté : nouveau raccourci pour créer un chat (Ctrl+N)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:86
msgid "New message entry design"
msgstr "Changement : nouveau design de la barre de message"
#: data/com.jeffser.Alpaca.metainfo.xml.in:87
msgid "Fixed: Can't rename the same chat multiple times"
msgstr "Résolu : impossible de renommer la même discussion plusieurs fois"
#: data/com.jeffser.Alpaca.metainfo.xml.in:94
msgid "The fix"
msgstr "Correction de bogues"
#: data/com.jeffser.Alpaca.metainfo.xml.in:96
msgid ""
"Fixed: Ollama instance keeps running on the background even when it is "
"disabled"
msgstr ""
"Résolu : Ollama continuait de s'exécuter en arrière plan même étant désactivé"
#: data/com.jeffser.Alpaca.metainfo.xml.in:97
msgid "Fixed: Can't pull models on the integrated instance"
msgstr "Résolu : impossible de télécharger les modèles sur l'instance locale"
#: data/com.jeffser.Alpaca.metainfo.xml.in:104
msgid "Quick tweaks"
msgstr "Petites ajustements"
#: data/com.jeffser.Alpaca.metainfo.xml.in:106
msgid "Added progress bar to models that are being pulled"
msgstr "Ajouté : barre de progression sur les modèles en téléchargement"
#: data/com.jeffser.Alpaca.metainfo.xml.in:107
msgid "Added size to tags when pulling a model"
msgstr "Ajouté : taille des tags de modèle avant le téléchargement"
#: data/com.jeffser.Alpaca.metainfo.xml.in:108
msgid "General optimizations on the background"
msgstr "Optimisations générales en arrière-plan"
#: data/com.jeffser.Alpaca.metainfo.xml.in:115
msgid "Quick fixes"
msgstr "Petites corrections de bogues"
#: data/com.jeffser.Alpaca.metainfo.xml.in:117
msgid "Fixed: Scroll when message is received"
msgstr "Résolu : défilement lors de la réception d'un message"
#: data/com.jeffser.Alpaca.metainfo.xml.in:118
msgid "Fixed: Content doesn't change when creating a new chat"
msgstr ""
"Résolu : Le contenu ne change pas lors de la création d'un nouveau chat"
#: data/com.jeffser.Alpaca.metainfo.xml.in:119
msgid "Added 'Featured Models' page on welcome dialog"
msgstr "Ajouté : page 'Modèles Suggérés' sur la fenêtre de dialogue d'accueil"
#: data/com.jeffser.Alpaca.metainfo.xml.in:126
msgid "Nice Update"
msgstr "Mise à jour sympa"
#: data/com.jeffser.Alpaca.metainfo.xml.in:128
msgid "UI tweaks (Thanks Nokse22)"
msgstr "Modification : ajustement de l'interface utilisateur (merci à Nokse22)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:129
msgid "General optimizations"
msgstr "Optimisations générales"
#: data/com.jeffser.Alpaca.metainfo.xml.in:130
msgid "Metadata fixes"
msgstr "Résolu : métadonnées"
#: data/com.jeffser.Alpaca.metainfo.xml.in:137
msgid "Quick fix"
msgstr "Petite correction de bogue"
#: data/com.jeffser.Alpaca.metainfo.xml.in:139
msgid "Updated Spanish translation"
msgstr "Modification : mise à jour de la traduction Espagnol"
#: data/com.jeffser.Alpaca.metainfo.xml.in:140
msgid "Added compatibility for PNG"
msgstr "Ajouté : compatibilité pour les images PNG"
#: data/com.jeffser.Alpaca.metainfo.xml.in:147
msgid "New Update"
msgstr "Mise à jour"
#: data/com.jeffser.Alpaca.metainfo.xml.in:149
msgid "Updated model list"
msgstr "Modification : Liste des modèles mise à jour"
#: data/com.jeffser.Alpaca.metainfo.xml.in:150
msgid "Added image recognition to more models"
msgstr "Ajouté : reconnaissance d'image à plus de modèles"
#: data/com.jeffser.Alpaca.metainfo.xml.in:151
msgid "Added Brazilian Portuguese translation (Thanks Daimaar Stein)"
msgstr "Ajouté : traduction en Portugais Brésilien (merci à Daimaar Stein)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:152
msgid "Refined the general UI (Thanks Nokse22)"
msgstr "Modification : peaufinage de l'interface utilisateur (merci à Nokse22)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:153
msgid "Added 'delete message' feature"
msgstr "Ajouté : option 'supprimer le message'"
#: data/com.jeffser.Alpaca.metainfo.xml.in:154
msgid ""
"Added metadata so that software distributors know that the app is compatible "
"with mobile"
msgstr ""
"Ajouté : métadonnées pour que les distributeurs de logiciels sachent que "
"l'application est compatible avec les téléphones"
#: data/com.jeffser.Alpaca.metainfo.xml.in:155
msgid ""
"Changed 'send' shortcut to just the return/enter key (to add a new line use "
"shift+return)"
msgstr ""
"Changement : remplacement du raccourci 'envoyer' en une simple touche retour/"
"entrée (pour ajouter une nouvelle ligne, utiliser shift+retour)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:162
msgid "Bug Fixes"
msgstr "Correction de bogues"
#: data/com.jeffser.Alpaca.metainfo.xml.in:164
msgid "Fixed: Minor spelling mistake"
msgstr "Résolu : petite faute d'orthographe"
#: data/com.jeffser.Alpaca.metainfo.xml.in:165
msgid "Added 'mobile' as a supported form factor"
msgstr "Ajouté : mise en page 'mobile'"
#: data/com.jeffser.Alpaca.metainfo.xml.in:166
msgid "Fixed: 'Connection Error' dialog not working properly"
msgstr ""
"Résolu : La boîte de dialogue « Erreur de connexion » ne fonctionnait pas "
"correctement"
#: data/com.jeffser.Alpaca.metainfo.xml.in:167
msgid "Fixed: App might freeze randomly on startup"
msgstr "Résolu : L'application pouvait se bloquer aléatoirement au démarrage"
#: data/com.jeffser.Alpaca.metainfo.xml.in:168
msgid "Changed 'chats' label on sidebar for 'Alpaca'"
msgstr ""
"Changement : remplacement du titre 'chats' de la barre latéral par 'Alpaca'"
#: data/com.jeffser.Alpaca.metainfo.xml.in:175
msgid "Cool Update"
msgstr "Mise à jour sympa"
#: data/com.jeffser.Alpaca.metainfo.xml.in:177
msgid "Better design for chat window"
msgstr "Modification : meilleur design pour de fenêtre de discussion"
#: data/com.jeffser.Alpaca.metainfo.xml.in:178
msgid "Better design for chat sidebar"
msgstr "Modification : meilleur design pour de la barre latérale"
#: data/com.jeffser.Alpaca.metainfo.xml.in:179
msgid "Fixed remote connections"
msgstr "Résolu : connexions à distance"
#: data/com.jeffser.Alpaca.metainfo.xml.in:180
msgid "Fixed Ollama restarting in loop"
msgstr "Résolu : Ollama redémarrait en boucle"
#: data/com.jeffser.Alpaca.metainfo.xml.in:181
msgid "Other cool backend stuff"
msgstr "Autre trucs sympa en arrière-plan"
#: data/com.jeffser.Alpaca.metainfo.xml.in:188
msgid "Huge Update"
msgstr "Mise à jour majeure"
#: data/com.jeffser.Alpaca.metainfo.xml.in:190
msgid "Added Ollama as part of Alpaca, Ollama will run in a sandbox"
msgstr "Ajouté : Ollama intégré à Alpaca dans un bac à sable"
#: data/com.jeffser.Alpaca.metainfo.xml.in:191
msgid "Added option to connect to remote instances (how it worked before)"
msgstr ""
"Ajouté : option pour se connecter à des instances distantes (comme cela "
"fonctionnait précédemment)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:192
msgid "Added option to import and export chats"
msgstr "Ajouté : option pour importer et exporter les discussions"
#: data/com.jeffser.Alpaca.metainfo.xml.in:193
msgid "Added option to run Alpaca with Ollama in the background"
msgstr "Ajouté : option pour exécuter Alpaca avec Ollama en arrière-plan"
#: data/com.jeffser.Alpaca.metainfo.xml.in:194
msgid "Added preferences dialog"
msgstr "Ajouté : boite de dialogue des préférences"
#: data/com.jeffser.Alpaca.metainfo.xml.in:195
msgid "Changed the welcome dialog"
msgstr "Changement : boite de dialogue de bienvenue"
#: data/com.jeffser.Alpaca.metainfo.xml.in:197
#: data/com.jeffser.Alpaca.metainfo.xml.in:214
#: data/com.jeffser.Alpaca.metainfo.xml.in:226
#: data/com.jeffser.Alpaca.metainfo.xml.in:245
#: data/com.jeffser.Alpaca.metainfo.xml.in:266
#: data/com.jeffser.Alpaca.metainfo.xml.in:282
#: data/com.jeffser.Alpaca.metainfo.xml.in:298
#: data/com.jeffser.Alpaca.metainfo.xml.in:312
#: data/com.jeffser.Alpaca.metainfo.xml.in:322
#: data/com.jeffser.Alpaca.metainfo.xml.in:340
#: data/com.jeffser.Alpaca.metainfo.xml.in:362
msgid "Please report any errors to the issues page, thank you."
msgstr ""
"Merci de reporter n'importe quel problèmes sur la page 'issues' du GitHub."
#: data/com.jeffser.Alpaca.metainfo.xml.in:205
msgid "Yet Another Daily Update"
msgstr "Mise à jour quotidienne"
#: data/com.jeffser.Alpaca.metainfo.xml.in:207
msgid "Added better UI for 'Manage Models' dialog"
msgstr ""
"Ajouté : une meilleure interface utilisateur pour la boite de dialogue "
"'Gestion des modèles'"
#: data/com.jeffser.Alpaca.metainfo.xml.in:208
msgid "Added better UI for the chat sidebar"
msgstr "Ajouté : meilleure interface utilisateur pour la barre latérale"
#: data/com.jeffser.Alpaca.metainfo.xml.in:209
msgid ""
"Replaced model description with a button to open Ollama's website for the "
"model"
msgstr ""
"Changement : remplacement de la description du modèle par un bouton pour "
"ouvrir le site web Ollama pour le modèle"
#: data/com.jeffser.Alpaca.metainfo.xml.in:210
msgid "Added myself to the credits as the spanish translator"
msgstr "Ajouté : moi-même aux crédits en tant que traducteur espagnol"
#: data/com.jeffser.Alpaca.metainfo.xml.in:211
msgid "Using XDG properly to get config folder"
msgstr ""
"Modification : utilisation de XDG correctement pour avoir un dossier de "
"configuration"
#: data/com.jeffser.Alpaca.metainfo.xml.in:212
msgid "Update for translations"
msgstr "Mise à jour concernant les traductions"
#: data/com.jeffser.Alpaca.metainfo.xml.in:222
msgid "Quick Fix"
msgstr "Petite correction de bogues"
#: data/com.jeffser.Alpaca.metainfo.xml.in:224
msgid "The last update had some mistakes in the description of the update"
msgstr "La dernière mise à jour avait quelques erreurs dans sa description"
#: data/com.jeffser.Alpaca.metainfo.xml.in:234
msgid "Another Daily Update"
msgstr "Mise à jour quotidienne"
#: data/com.jeffser.Alpaca.metainfo.xml.in:236
msgid "Added full Spanish translation"
msgstr "Ajouté : traduction complète Espagnol"
#: data/com.jeffser.Alpaca.metainfo.xml.in:237
msgid "Added support for background pulling of multiple models"
msgstr ""
"Ajouté : support pour le téléchargement de plusieurs modèles en arrière-plan"
#: data/com.jeffser.Alpaca.metainfo.xml.in:238
msgid "Added interrupt button"
msgstr "Ajouté : bouton d'interruptions"
#: data/com.jeffser.Alpaca.metainfo.xml.in:239
msgid "Added basic shortcuts"
msgstr "Ajouté : raccourcis claviers simples"
#: data/com.jeffser.Alpaca.metainfo.xml.in:240
msgid "Better translation support"
msgstr "Ajouté : meilleur support des traductions"
#: data/com.jeffser.Alpaca.metainfo.xml.in:241
msgid ""
"User can now leave chat name empty when creating a new one, it will add a "
"placeholder name"
msgstr ""
"Ajouté : l'utilisateur peut maintenant quitter une discussion vide quand il "
"en crée un nouvelle, cela va ajouter un nom de remplacement"
#: data/com.jeffser.Alpaca.metainfo.xml.in:242
msgid "Better scalling for different window sizes"
msgstr "Résolu : meilleure mise à l'échelle pour différente taille de fenêtre"
#: data/com.jeffser.Alpaca.metainfo.xml.in:243
msgid "Fixed: Can't close app if first time setup fails"
msgstr ""
"Résolu : impossible de fermer l'application si la première configuration "
"échouait"
#: data/com.jeffser.Alpaca.metainfo.xml.in:253
msgid "Really Big Update"
msgstr "Mise à jour majeure"
#: data/com.jeffser.Alpaca.metainfo.xml.in:255
msgid "Added multiple chats support!"
msgstr "Ajouté : support de plusieurs discussions"
#: data/com.jeffser.Alpaca.metainfo.xml.in:256
msgid "Added Pango Markup support (bold, list, title, subtitle, monospace)"
msgstr ""
"Ajouté : support de Pango Markup (gras, liste, titre, sous-titre, chasse-"
"fixe)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:257
msgid "Added autoscroll if the user is at the bottom of the chat"
msgstr ""
"Ajouté : défilement automatique si l'utilisateur est en haut d'une discussion"
#: data/com.jeffser.Alpaca.metainfo.xml.in:258
msgid "Added support for multiple tags on a single model"
msgstr "Ajouté : support de plusieurs tag sur un seul modèle"
#: data/com.jeffser.Alpaca.metainfo.xml.in:259
msgid "Added better model management dialog"
msgstr "Ajouté : meilleure boite de dialogue pour la gestion des modèles"
#: data/com.jeffser.Alpaca.metainfo.xml.in:260
msgid "Added loading spinner when sending message"
msgstr "Ajouté : icône de chargement lors de l'envoie d'un message"
#: data/com.jeffser.Alpaca.metainfo.xml.in:261
msgid "Added notifications if app is not active and a model pull finishes"
msgstr ""
"Ajouté : notification si l'application n'est pas active et que le "
"téléchargement d'un modèle est en cours"
#: data/com.jeffser.Alpaca.metainfo.xml.in:262
msgid "Added new symbolic icon"
msgstr "Ajouté : nouveau icônes symboliques"
#: data/com.jeffser.Alpaca.metainfo.xml.in:263
msgid "Added frame to message textview widget"
msgstr "Ajouté : cadre pour le widget des messages"
#: data/com.jeffser.Alpaca.metainfo.xml.in:264
msgid "Fixed \"code blocks shouldn't be editable\""
msgstr "Résolu : 'les blocs de codes ne devraient pas être édité'"
#: data/com.jeffser.Alpaca.metainfo.xml.in:276
msgid "Added code highlighting"
msgstr "Ajouté : coloration syntaxique du code"
#: data/com.jeffser.Alpaca.metainfo.xml.in:277
msgid "Added image recognition (llava model)"
msgstr "Ajouté : reconnaissance d'image (modèle llava)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:278
msgid "Added multiline prompt"
msgstr "Ajouté : prompts multilignes"
#: data/com.jeffser.Alpaca.metainfo.xml.in:279
msgid "Fixed some small bugs"
msgstr "Correction de petits bogues"
#: data/com.jeffser.Alpaca.metainfo.xml.in:280
msgid "General optimization"
msgstr "Optimisation générale"
#: data/com.jeffser.Alpaca.metainfo.xml.in:290
msgid "Fixes and features"
msgstr "Corrections de bogues et fonctionnalités"
#: data/com.jeffser.Alpaca.metainfo.xml.in:292
msgid "Russian translation (thanks github/alexkdeveloper)"
msgstr "Traduction Russe (Merci github/alexkdeveloper)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:293
msgid "Fixed: Cannot close app on first setup"
msgstr ""
"Résolu : impossible de fermer l'application lors de la première installation"
#: data/com.jeffser.Alpaca.metainfo.xml.in:294
msgid "Fixed: Brand colors for Flathub"
msgstr "Résolu : couleurs de la marque Flathub"
#: data/com.jeffser.Alpaca.metainfo.xml.in:295
msgid "Fixed: App description"
msgstr "Résolu : description de l'application"
#: data/com.jeffser.Alpaca.metainfo.xml.in:296
msgid "Fixed: Only show 'save changes dialog' when you actually change the url"
msgstr ""
"Résolu : n'afficher la boîte de dialogue « enregistrer les modifications » "
"que lorsque LURL est réellement modifiée"
#: data/com.jeffser.Alpaca.metainfo.xml.in:306
msgid "0.2.2 Bug fixes"
msgstr "Corrections de bogues"
#: data/com.jeffser.Alpaca.metainfo.xml.in:308
msgid "Toast messages appearing behind dialogs"
msgstr ""
"Résolu : les messages de notifications apparaissaient derrière les boites de "
"dialogue"
#: data/com.jeffser.Alpaca.metainfo.xml.in:309
msgid "Local model list not updating when changing servers"
msgstr ""
"Résolu : la liste des modèles locaux n'était pas mise à jour lors d'un "
"changement de serveur"
#: data/com.jeffser.Alpaca.metainfo.xml.in:310
msgid "Closing the setup dialog closes the whole app"
msgstr ""
"Résolu : la fermeture de la boite de dialogue des préférences fermait toute "
"l'application"
#: data/com.jeffser.Alpaca.metainfo.xml.in:320
msgid "0.2.1 Data saving fix"
msgstr "Résolu : sauvegarde des données"
#: data/com.jeffser.Alpaca.metainfo.xml.in:321
msgid ""
"The app didn't save the config files and chat history to the right "
"directory, this is now fixed"
msgstr ""
"Résolu : l'application ne sauvegardais pas le fichier de configuration et "
"l'historique de discussion dans le bon dossier"
#: data/com.jeffser.Alpaca.metainfo.xml.in:330
msgid "0.2.0"
msgstr "Mise à jour"
#: data/com.jeffser.Alpaca.metainfo.xml.in:332
msgid "New Features"
msgstr "Nouvelles fonctionnalités"
#: data/com.jeffser.Alpaca.metainfo.xml.in:334
msgid "Restore chat after closing the app"
msgstr "Ajouté : restauration de la discussion après avoir fermé l'application"
#: data/com.jeffser.Alpaca.metainfo.xml.in:335
msgid "A button to clear the chat"
msgstr "Ajouté : bouton pour effacer le chat"
#: data/com.jeffser.Alpaca.metainfo.xml.in:336
msgid "Fixed multiple bugs involving how messages are shown"
msgstr "Résolu : plusieurs bogues concernant l'affichage des messages"
#: data/com.jeffser.Alpaca.metainfo.xml.in:337
msgid "Added welcome dialog"
msgstr "Ajouté : boite de dialogue de bienvenue"
#: data/com.jeffser.Alpaca.metainfo.xml.in:338
msgid "More stability"
msgstr "Stabilité accrue"
#: data/com.jeffser.Alpaca.metainfo.xml.in:348
msgid "0.1.2 Quick fixes"
msgstr "Petites corrections de bogues"
#: data/com.jeffser.Alpaca.metainfo.xml.in:349
msgid ""
"This release fixes some metadata needed to have a proper Flatpak application"
msgstr ""
"Resolu : correction de quelques métadonnées pour avoir une application "
"Flatpak correct"
#: data/com.jeffser.Alpaca.metainfo.xml.in:355
msgid "0.1.1 Stable Release"
msgstr "Version stable"
#: data/com.jeffser.Alpaca.metainfo.xml.in:356
msgid "This is the first public version of Alpaca"
msgstr "Première version publique d'Alpaca"
#: src/window.py:53 src/window.py:670 src/window.py:675 src/window.py:735
#: src/window.ui:681
msgid "New Chat"
msgstr "Nouvelle discussion"
#: src/window.py:98
msgid "An error occurred"
msgstr "Une erreur est survenue"
#: src/window.py:99
msgid "Failed to connect to server"
msgstr "Erreur de connexion au serveur"
#: src/window.py:100
msgid "Could not list local models"
msgstr "Impossible de lister les modèles locaux"
#: src/window.py:101
msgid "Could not delete model"
msgstr "Impossible de supprimer le modèle"
#: src/window.py:102
msgid "Could not pull model"
msgstr "Impossible de télécharger le modèle"
#: src/window.py:103
msgid "Cannot open image"
msgstr "Impossible d'ouvrir l'image"
#: src/window.py:104
msgid "Cannot delete chat because it's the only one left"
msgstr "Vous ne pouvez pas supprimer la discussion car c'est la seule restante"
#: src/window.py:105
msgid "There was an error with the local Ollama instance, so it has been reset"
msgstr ""
"Une erreur est survenue avec l'instance locale d'Ollama, elle a donc été "
"réinitialisée"
#: src/window.py:108
msgid "Please select a model before chatting"
msgstr "Merci de sélectionner un modèle avant de discuter"
#: src/window.py:109
msgid "Chat cannot be cleared while receiving a message"
msgstr "La discussion ne peut pas être supprimé pendant la génératio"
#: src/window.py:110
msgid "That tag is already being pulled"
msgstr "Ce tag est déjà en train d'être téléchargé"
#: src/window.py:111
msgid "That tag has been pulled already"
msgstr "Ce tag à déjà été télécharger"
#: src/window.py:112
msgid "Code copied to the clipboard"
msgstr "Code copié dans le presse-papier"
#: src/window.py:115
msgid "Model deleted successfully"
msgstr "Modèle supprimé avec succès"
#: src/window.py:116
msgid "Model pulled successfully"
msgstr "Modèle téléchargé avec succès"
#: src/window.py:117
msgid "Chat exported successfully"
msgstr "Discussion exportée avec succès"
#: src/window.py:118
msgid "Chat imported successfully"
msgstr "Discussion importée avec succès"
#: src/window.py:130
msgid "Upload image"
msgstr "Charger une image"
#: src/window.py:134 src/window.ui:179
msgid "Only available on selected models"
msgstr "Non-disponible sur ce modèle"
#: src/window.py:195
msgid "Close"
msgstr "Fermer"
#: src/window.py:196 src/window.ui:459
msgid "Next"
msgstr "Suivant"
#: src/window.py:243
msgid "Pulling in the background..."
msgstr "Téléchargement en arrière-plan..."
#: src/window.py:576
msgid "Task Complete"
msgstr "Tache terminée"
#: src/window.py:576
msgid "Model '{}' pulled successfully."
msgstr "Modèle '{}' téléchargé avec succès."
#: src/window.py:581
msgid "Pull Model Error"
msgstr "Erreur de téléchargement du modèle"
#: src/window.py:581
msgid "Failed to pull model '{}' due to network error."
msgstr ""
"Échec du téléchargement du modèle '{}' à cause d'une erreur de connexion"
#: src/window.ui:39
msgid "New chat"
msgstr "Nouvelle discussion"
#: src/window.ui:80
msgid "Toggle Sidebar"
msgstr "Basculer la barre latérale"
#: src/window.ui:103 src/window.ui:374
msgid "Manage models"
msgstr "Gestion des modèles"
#: src/window.ui:117
msgid "Menu"
msgstr "Menu"
#: src/window.ui:266 src/window.ui:612 src/window.ui:675
msgid "Preferences"
msgstr "Préférences"
#: src/window.ui:269 src/window.ui:659
msgid "General"
msgstr "Général"
#: src/window.ui:273
msgid "Remote Connection"
msgstr "Connexion à distance"
#: src/window.ui:274
msgid "Manage a remote connection to Ollama"
msgstr "Gérer une connexion à distance d'Ollama"
#: src/window.ui:277
msgid "Use remote connection"
msgstr "Utiliser une connexion à distance"
#: src/window.ui:283
msgid "URL of remote instance"
msgstr "URL de l'instance distante"
#: src/window.ui:291
msgid "Behavior"
msgstr "Comportement"
#: src/window.ui:292
msgid "Manage Alpaca's Behavior"
msgstr "Gérer le comportement d'Alpaca"
#: src/window.ui:295
msgid "Run in background"
msgstr "Exécution en arrière-plan"
#: src/window.ui:304
msgid "Advanced Model Settings"
msgstr "Paramètres avancés"
#: src/window.ui:308
msgid "Model Tweaks"
msgstr "Ajustements des modèles"
#: src/window.ui:309
msgid "Manage the behavior of the AI models"
msgstr "Gérer le comportement des modèles"
#: src/window.ui:314
msgid "Temperature"
msgstr "Température"
#: src/window.ui:315
msgid ""
"The temperature of the model. Increasing the temperature will make the model "
"answer more creatively. (Default: 0.8)"
msgstr ""
"La température du modèle. Augmenter la température engendrera des réponses "
"plus créatives."
#: src/window.ui:330
msgid "Seed"
msgstr "Graine"
#: src/window.ui:331
msgid ""
"Sets the random number seed to use for generation. Setting this to a "
"specific number will make the model generate the same text for the same "
"prompt. (Default: 0 (random))"
msgstr ""
"Choisissez le nombre aléatoire utilisé pour la génération. Mettre une valeur "
"spécifique induira une même réponse pour un même prompt. (défaut : 0 "
"(aléatoire))"
#: src/window.ui:345
#, fuzzy
msgid "Keep Alive Time"
msgstr "Temps "
#: src/window.ui:346
msgid ""
"Controls how long the model will stay loaded into memory following the "
"request in minutes (default: 5)"
msgstr ""
"Contrôlez combien de temps le modèle va rester chargé en mémoire suivant le "
"temps demandé en minutes (défaut : 5)"
#: src/window.ui:443
msgid "Previous"
msgstr "Précédent"
#: src/window.ui:486
msgid "Welcome to Alpaca"
msgstr "Bienvenue sur Alpaca"
#: src/window.ui:487
msgid "Powered by Ollama"
msgstr "Fonctionne grâce à Ollama"
#: src/window.ui:490
msgid "Ollama Website"
msgstr "Site web d'Ollama"
#: src/window.ui:507
msgid ""
"Alpaca and its developers are not liable for any damages to devices or "
"software resulting from the execution of code generated by an AI model. "
"Please exercise caution and review the code carefully before running it."
msgstr ""
"Alpaca et ses développeurs ne sont pas responsables des dommages causés à "
"votre appareil ou vos logiciels suite à l'exécution de code généré par un "
"modèle. Merci de faire attention et de relire attentivement le code avant de "
"l'exécuter."
#: src/window.ui:518
msgid "Featured Models"
msgstr "Modèles recommandés"
#: src/window.ui:519
msgid ""
"Alpaca works locally on your device, to start chatting you'll need an AI "
"model, you can either pull models from this list or the 'Manage Models' menu "
"later."
msgstr ""
"Alpaca fonctionne localement sur votre ordinateur, pour commencer à discuter "
"vous aurez besoin d'un modèle d'IA, vous pouvez télécharger un modèle soit "
"depuis cette liste soit depuis le menu 'Gérer les modèles' plus tard."
#: src/window.ui:529
msgid "Built by Meta"
msgstr "Développé par Meta"
#: src/window.ui:546
msgid "Built by Google DeepMind"
msgstr "Développé par Google DeepMind"
#: src/window.ui:563
msgid "Built by Microsoft"
msgstr "Développé par Microsoft"
#: src/window.ui:580
msgid "Multimodal AI with image recognition"
msgstr "IA multimodale avec reconnaissance d'image"
#: src/window.ui:608
msgid "Clear Chat"
msgstr "Supprimer la discussion"
#: src/window.ui:616
msgid "Keyboard Shortcuts"
msgstr "Raccourcis claviers"
#: src/window.ui:620
msgid "About Alpaca"
msgstr "À propos d'Alpaca"
#: src/window.ui:628
msgid "Export current chat"
msgstr "Exporter la discussion"
#: src/window.ui:632
msgid "Import chat"
msgstr "Importer une discussion"
#: src/window.ui:663
msgid "Close application"
msgstr "Fermer l'application"
#: src/window.ui:669
msgid "Clear chat"
msgstr "Supprimer la discussion"
#: src/window.ui:687
msgid "Show shortcuts window"
msgstr "Voir les raccourcis clavier"
#: src/window.ui:694
msgid "Editor"
msgstr "Éditeur"
#: src/window.ui:698
msgid "Copy"
msgstr "Copier"
#: src/window.ui:704
msgid "Paste"
msgstr "Coller"
#: src/window.ui:710
msgid "Insert new line"
msgstr "Ajouter une ligne"
#: src/window.ui:716
msgid "Send Message"
msgstr "Envoyer le message"
#~ msgid "Remove"
#~ msgstr "Supprimer"
#~ msgid "Send"
#~ msgstr "Envoyer"
#~ msgid "Image"
#~ msgstr "Image"

951
po/fr.po~ Normal file
View File

@@ -0,0 +1,951 @@
# French translation for Alpaca
#
# Translate guideline :
#
# English French
# to chat discuter
# a chat une discussion
#
#
msgid ""
msgstr ""
"Project-Id-Version: 0.8.7\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-05-29 16:15-0600\n"
"PO-Revision-Date: 2024-05-28 21:02+0200\n"
"Last-Translator: Louis Chauvet-Villaret <louischauvet0@gmail.com>\n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.4.4\n"
#: data/com.jeffser.Alpaca.desktop.in:3
#: data/com.jeffser.Alpaca.metainfo.xml.in:7
msgid "Alpaca"
msgstr "Alpaca"
#: data/com.jeffser.Alpaca.metainfo.xml.in:8
#, fuzzy
msgid "Chat with local AI models"
msgstr "Discutez avec des modèles d'IA fonctionnant localement grâce à Ollama"
#: data/com.jeffser.Alpaca.metainfo.xml.in:10
msgid "An Ollama client"
msgstr "Un client Ollama"
#: data/com.jeffser.Alpaca.metainfo.xml.in:11
#: data/com.jeffser.Alpaca.metainfo.xml.in:357
msgid "Features"
msgstr "Fonctionnalités"
#: data/com.jeffser.Alpaca.metainfo.xml.in:13
msgid "Built in Ollama instance"
msgstr "Intégrée dans l'instance Ollama"
#: data/com.jeffser.Alpaca.metainfo.xml.in:14
#: data/com.jeffser.Alpaca.metainfo.xml.in:359
msgid "Talk to multiple models in the same conversation"
msgstr "Discutez avec plusieurs modèles dans la même discussion"
#: data/com.jeffser.Alpaca.metainfo.xml.in:15
#: data/com.jeffser.Alpaca.metainfo.xml.in:360
msgid "Pull and delete models from the app"
msgstr "Téléchargez et supprimez des modèles depuis l'application"
#: data/com.jeffser.Alpaca.metainfo.xml.in:16
msgid "Have multiple conversations"
msgstr "Ayez plusieurs discussions"
#: data/com.jeffser.Alpaca.metainfo.xml.in:17
msgid "Image recognition (Only available with compatible models)"
msgstr ""
"Reconnaissance d'image (Uniquement disponible avec les modèles compatibles)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:18
msgid "Import and export chats"
msgstr "Importez et exportez des discussions"
#: data/com.jeffser.Alpaca.metainfo.xml.in:20 src/window.ui:506
msgid "Disclaimer"
msgstr "Avertissement"
#: data/com.jeffser.Alpaca.metainfo.xml.in:21
msgid ""
"This project is not affiliated at all with Ollama, I'm not responsible for "
"any damages to your device or software caused by running code given by any "
"models."
msgstr ""
"Ce projet n'est aucunement affilié avec Ollama, et je ne suis aucunement "
"responsable des dommages causés à votre appareil ou vos logiciels en "
"exécutant du code donné par n'importe quel modèle."
#: data/com.jeffser.Alpaca.metainfo.xml.in:24
msgid "Jeffry Samuel Eduarte Rojas"
msgstr "Jeffry Samuel Eduarte Rojas"
#: data/com.jeffser.Alpaca.metainfo.xml.in:50
msgid "A conversation showing code highlight"
msgstr "Une discussion montrant code avec de la coloration syntaxique"
#: data/com.jeffser.Alpaca.metainfo.xml.in:54
msgid "A conversation involving multiple models"
msgstr "Une discussion utilisant plusieurs modèles"
#: data/com.jeffser.Alpaca.metainfo.xml.in:58
msgid "Managing models"
msgstr "Gestion des modèles"
#: data/com.jeffser.Alpaca.metainfo.xml.in:69
#: data/com.jeffser.Alpaca.metainfo.xml.in:274
#: data/com.jeffser.Alpaca.metainfo.xml.in:331
msgid "Big Update"
msgstr "Mise à jour majeure"
#: data/com.jeffser.Alpaca.metainfo.xml.in:71
msgid "Changed multiple icons (paper airplane for the send button)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:72
msgid "Combined export / import chat buttons into a menu"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:73
msgid "Added 'model tweaks' (temperature, seed, keep_alive)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:74
msgid "Fixed send / stop button"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:75
msgid "Fixed app not checking if remote connection works when starting"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:82
#, fuzzy
msgid "Daily Update"
msgstr "Une autre mise à jour quotidienne"
#: data/com.jeffser.Alpaca.metainfo.xml.in:84
msgid "Added text ellipsis to chat name so it doesn't change the button width"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:85
msgid "New shortcut for creating a chat (CTRL+N)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:86
msgid "New message entry design"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:87
msgid "Fixed: Can't rename the same chat multiple times"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:94
msgid "The fix"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:96
msgid ""
"Fixed: Ollama instance keeps running on the background even when it is "
"disabled"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:97
msgid "Fixed: Can't pull models on the integrated instance"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:104
#, fuzzy
msgid "Quick tweaks"
msgstr "Petites corrections"
#: data/com.jeffser.Alpaca.metainfo.xml.in:106
msgid "Added progress bar to models that are being pulled"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:107
msgid "Added size to tags when pulling a model"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:108
#, fuzzy
msgid "General optimizations on the background"
msgstr "Optimisations générales"
#: data/com.jeffser.Alpaca.metainfo.xml.in:115
msgid "Quick fixes"
msgstr "Petites corrections"
#: data/com.jeffser.Alpaca.metainfo.xml.in:117
msgid "Fixed: Scroll when message is received"
msgstr "Correction: Défilement lors de la réception d'un message"
#: data/com.jeffser.Alpaca.metainfo.xml.in:118
msgid "Fixed: Content doesn't change when creating a new chat"
msgstr ""
"Correction: Le contenu ne change pas lors de la création d'un nouveau chat"
#: data/com.jeffser.Alpaca.metainfo.xml.in:119
msgid "Added 'Featured Models' page on welcome dialog"
msgstr ""
"Ajout de la page 'Modèles Suggérés' sur la fenêtre de dialogue d'accueil"
#: data/com.jeffser.Alpaca.metainfo.xml.in:126
msgid "Nice Update"
msgstr "Bonne mise à jour"
#: data/com.jeffser.Alpaca.metainfo.xml.in:128
msgid "UI tweaks (Thanks Nokse22)"
msgstr "Ajustement de l'interface utilisateur (Merci à Nokse22)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:129
msgid "General optimizations"
msgstr "Optimisations générales"
#: data/com.jeffser.Alpaca.metainfo.xml.in:130
msgid "Metadata fixes"
msgstr "Correction des métadonnées"
#: data/com.jeffser.Alpaca.metainfo.xml.in:137
msgid "Quick fix"
msgstr "Petite correction"
#: data/com.jeffser.Alpaca.metainfo.xml.in:139
msgid "Updated Spanish translation"
msgstr "Mise à jour de la traduction Espagnol"
#: data/com.jeffser.Alpaca.metainfo.xml.in:140
msgid "Added compatibility for PNG"
msgstr "Ajout de la compatibilité pour les images PNG"
#: data/com.jeffser.Alpaca.metainfo.xml.in:147
msgid "New Update"
msgstr "Nouvelle mise à jour"
#: data/com.jeffser.Alpaca.metainfo.xml.in:149
msgid "Updated model list"
msgstr "Liste des modèles mise à jour"
#: data/com.jeffser.Alpaca.metainfo.xml.in:150
msgid "Added image recognition to more models"
msgstr "Ajout de la reconnaissance d'image à plus de modèles"
#: data/com.jeffser.Alpaca.metainfo.xml.in:151
msgid "Added Brazilian Portuguese translation (Thanks Daimaar Stein)"
msgstr "Ajout de la traduction en Portugais Brésilien (Merci à Daimaar Stein)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:152
msgid "Refined the general UI (Thanks Nokse22)"
msgstr "Peaufinage de l'interface utilisateur (Merci à Nokse22)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:153
msgid "Added 'delete message' feature"
msgstr "Ajout de l'option 'supprimer le message'"
#: data/com.jeffser.Alpaca.metainfo.xml.in:154
msgid ""
"Added metadata so that software distributors know that the app is compatible "
"with mobile"
msgstr ""
"Ajout de métadonnées pour que les distributeurs de logiciels sachent que "
"l'application est compatible avec les téléphones"
#: data/com.jeffser.Alpaca.metainfo.xml.in:155
msgid ""
"Changed 'send' shortcut to just the return/enter key (to add a new line use "
"shift+return)"
msgstr ""
"Changement du raccourci 'envoyer' en une simple touche retour/entrée (pour "
"ajouter une nouvelle ligne, utiliser shift+retour)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:162
msgid "Bug Fixes"
msgstr "Résolution de bogues"
#: data/com.jeffser.Alpaca.metainfo.xml.in:164
msgid "Fixed: Minor spelling mistake"
msgstr "Corrigé: Petite faute d'orthographe"
#: data/com.jeffser.Alpaca.metainfo.xml.in:165
msgid "Added 'mobile' as a supported form factor"
msgstr "Ajout de la mise en page 'mobile'"
#: data/com.jeffser.Alpaca.metainfo.xml.in:166
msgid "Fixed: 'Connection Error' dialog not working properly"
msgstr ""
"Correction: La boîte de dialogue « Erreur de connexion » ne fonctionnait pas "
"correctement"
#: data/com.jeffser.Alpaca.metainfo.xml.in:167
msgid "Fixed: App might freeze randomly on startup"
msgstr ""
"Correction: L'application pouvait se bloquer aléatoirement au démarrage"
#: data/com.jeffser.Alpaca.metainfo.xml.in:168
msgid "Changed 'chats' label on sidebar for 'Alpaca'"
msgstr "Changement du titre 'chats' de la barre latéral par 'Alpaca'"
#: data/com.jeffser.Alpaca.metainfo.xml.in:175
msgid "Cool Update"
msgstr "Mise à jour sympa"
#: data/com.jeffser.Alpaca.metainfo.xml.in:177
msgid "Better design for chat window"
msgstr "Meilleur design pour de fenêtre de discussion"
#: data/com.jeffser.Alpaca.metainfo.xml.in:178
msgid "Better design for chat sidebar"
msgstr "Meilleur design pour de la barre latérale"
#: data/com.jeffser.Alpaca.metainfo.xml.in:179
msgid "Fixed remote connections"
msgstr "Correction des connexions à distance"
#: data/com.jeffser.Alpaca.metainfo.xml.in:180
msgid "Fixed Ollama restarting in loop"
msgstr "Correction d'Ollama qui redémarrait en boucle"
#: data/com.jeffser.Alpaca.metainfo.xml.in:181
msgid "Other cool backend stuff"
msgstr "Autres trucs sympas en arrière-plan"
#: data/com.jeffser.Alpaca.metainfo.xml.in:188
msgid "Huge Update"
msgstr "Grande mise à jour"
#: data/com.jeffser.Alpaca.metainfo.xml.in:190
msgid "Added Ollama as part of Alpaca, Ollama will run in a sandbox"
msgstr ""
"Ajout d'Ollama comme partie d'Alpaca, Ollama fonctionnera dans un bac à sable"
#: data/com.jeffser.Alpaca.metainfo.xml.in:191
msgid "Added option to connect to remote instances (how it worked before)"
msgstr ""
"Ajout de l'option pour se connecter à des instances distantes (comme cela "
"fonctionnait précédemment)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:192
msgid "Added option to import and export chats"
msgstr "Ajout de l'option pour importer et exporter les discussions"
#: data/com.jeffser.Alpaca.metainfo.xml.in:193
msgid "Added option to run Alpaca with Ollama in the background"
msgstr "Ajout de l'option pour exécuter Alpaca avec Ollama en arrière-plan"
#: data/com.jeffser.Alpaca.metainfo.xml.in:194
msgid "Added preferences dialog"
msgstr "Ajout de la boite de dialogue des paramètres"
#: data/com.jeffser.Alpaca.metainfo.xml.in:195
msgid "Changed the welcome dialog"
msgstr "Changement de la boite de dialogue de bienvenue"
#: data/com.jeffser.Alpaca.metainfo.xml.in:197
#: data/com.jeffser.Alpaca.metainfo.xml.in:214
#: data/com.jeffser.Alpaca.metainfo.xml.in:226
#: data/com.jeffser.Alpaca.metainfo.xml.in:245
#: data/com.jeffser.Alpaca.metainfo.xml.in:266
#: data/com.jeffser.Alpaca.metainfo.xml.in:282
#: data/com.jeffser.Alpaca.metainfo.xml.in:298
#: data/com.jeffser.Alpaca.metainfo.xml.in:312
#: data/com.jeffser.Alpaca.metainfo.xml.in:322
#: data/com.jeffser.Alpaca.metainfo.xml.in:340
#: data/com.jeffser.Alpaca.metainfo.xml.in:362
msgid "Please report any errors to the issues page, thank you."
msgstr "Merci de reporter n'importe quel erreur sur la page des problèmes."
#: data/com.jeffser.Alpaca.metainfo.xml.in:205
msgid "Yet Another Daily Update"
msgstr "Encore une autre mise à jour quotidienne"
#: data/com.jeffser.Alpaca.metainfo.xml.in:207
msgid "Added better UI for 'Manage Models' dialog"
msgstr ""
"Ajout d'une meilleur interface utilisateur pour la boite de dialogue "
"'Gestion des modèles'"
#: data/com.jeffser.Alpaca.metainfo.xml.in:208
msgid "Added better UI for the chat sidebar"
msgstr "Ajout d'une meilleur interface utilisateur pour la barre latérale"
#: data/com.jeffser.Alpaca.metainfo.xml.in:209
msgid ""
"Replaced model description with a button to open Ollama's website for the "
"model"
msgstr ""
"Remplacement de la description du modèle par un bouton pour ouvrir le site "
"web Ollama pour le modèle"
#: data/com.jeffser.Alpaca.metainfo.xml.in:210
msgid "Added myself to the credits as the spanish translator"
msgstr "Ajout de moi-même aux crédits en tant que traducteur espagnol"
#: data/com.jeffser.Alpaca.metainfo.xml.in:211
msgid "Using XDG properly to get config folder"
msgstr "Utilisation de XDG correctement pour avoir un dossier de configuration"
#: data/com.jeffser.Alpaca.metainfo.xml.in:212
msgid "Update for translations"
msgstr "Mise à jour concernant les traductions"
#: data/com.jeffser.Alpaca.metainfo.xml.in:222
msgid "Quick Fix"
msgstr "Petite correction"
#: data/com.jeffser.Alpaca.metainfo.xml.in:224
msgid "The last update had some mistakes in the description of the update"
msgstr ""
"La dernière mise à jour avait quelques erreurs dans la description de la "
"mise à jour"
#: data/com.jeffser.Alpaca.metainfo.xml.in:234
msgid "Another Daily Update"
msgstr "Une autre mise à jour quotidienne"
#: data/com.jeffser.Alpaca.metainfo.xml.in:236
msgid "Added full Spanish translation"
msgstr "Ajout de la traduction complète Espagnol"
#: data/com.jeffser.Alpaca.metainfo.xml.in:237
msgid "Added support for background pulling of multiple models"
msgstr ""
"Ajout du support pour le téléchargement de plusieurs modèles en arrière-plan"
#: data/com.jeffser.Alpaca.metainfo.xml.in:238
msgid "Added interrupt button"
msgstr "Ajout d'un bouton d'interruptions"
#: data/com.jeffser.Alpaca.metainfo.xml.in:239
msgid "Added basic shortcuts"
msgstr "Ajout de raccourcis claviers simples"
#: data/com.jeffser.Alpaca.metainfo.xml.in:240
msgid "Better translation support"
msgstr "Meilleur support des traductions"
#: data/com.jeffser.Alpaca.metainfo.xml.in:241
msgid ""
"User can now leave chat name empty when creating a new one, it will add a "
"placeholder name"
msgstr ""
"L'utilisateur peut maintenant quitter une discussion vide quand il en crée "
"un nouvelle, cela va ajouter un nom de remplacement"
#: data/com.jeffser.Alpaca.metainfo.xml.in:242
msgid "Better scalling for different window sizes"
msgstr "Meilleure mise à l'échelle pour différente taille de fenêtre"
#: data/com.jeffser.Alpaca.metainfo.xml.in:243
msgid "Fixed: Can't close app if first time setup fails"
msgstr ""
"Correction: Impossible de fermer l'application si la première configuration "
"échouait"
#: data/com.jeffser.Alpaca.metainfo.xml.in:253
msgid "Really Big Update"
msgstr "Mise à jour vraiment majeure"
#: data/com.jeffser.Alpaca.metainfo.xml.in:255
msgid "Added multiple chats support!"
msgstr "Ajout du support de plusieurs discussions !"
#: data/com.jeffser.Alpaca.metainfo.xml.in:256
msgid "Added Pango Markup support (bold, list, title, subtitle, monospace)"
msgstr ""
"Ajout du support de Pango Markup (gras, liste, titre, sous-titre, chasse-"
"fixe)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:257
msgid "Added autoscroll if the user is at the bottom of the chat"
msgstr ""
"Ajout d'un défilement automatique si l'utilisateur est en haut d'une "
"conersation"
#: data/com.jeffser.Alpaca.metainfo.xml.in:258
msgid "Added support for multiple tags on a single model"
msgstr "Ajout du support de plusieurs tag sur un seul modèle"
#: data/com.jeffser.Alpaca.metainfo.xml.in:259
msgid "Added better model management dialog"
msgstr "Ajout d'une meilleur boite de dialogue pour la gestion des modèles"
#: data/com.jeffser.Alpaca.metainfo.xml.in:260
msgid "Added loading spinner when sending message"
msgstr "Ajout d'un loader lors de m'envoie d'un message"
#: data/com.jeffser.Alpaca.metainfo.xml.in:261
msgid "Added notifications if app is not active and a model pull finishes"
msgstr ""
"Ajout d'une notification si l'application n'est pas active et que le "
"téléchargement d'un modèle est terminé"
#: data/com.jeffser.Alpaca.metainfo.xml.in:262
msgid "Added new symbolic icon"
msgstr "Ajout de nouveau icônes symboliques"
#: data/com.jeffser.Alpaca.metainfo.xml.in:263
msgid "Added frame to message textview widget"
msgstr "Ajout d'un cadre pour le widget des messages"
#: data/com.jeffser.Alpaca.metainfo.xml.in:264
msgid "Fixed \"code blocks shouldn't be editable\""
msgstr "Correction 'les blocs de codes ne peuvent pas être édité'"
#: data/com.jeffser.Alpaca.metainfo.xml.in:276
msgid "Added code highlighting"
msgstr "Ajout de coloration syntaxique du code"
#: data/com.jeffser.Alpaca.metainfo.xml.in:277
msgid "Added image recognition (llava model)"
msgstr "Ajout de la reconnaissance d'image (modèle llava)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:278
msgid "Added multiline prompt"
msgstr "Ajout des prompts multilignes"
#: data/com.jeffser.Alpaca.metainfo.xml.in:279
msgid "Fixed some small bugs"
msgstr "Correction de petits bogues"
#: data/com.jeffser.Alpaca.metainfo.xml.in:280
msgid "General optimization"
msgstr "Optimisation générale"
#: data/com.jeffser.Alpaca.metainfo.xml.in:290
msgid "Fixes and features"
msgstr "Corrections et fonctionnalités"
#: data/com.jeffser.Alpaca.metainfo.xml.in:292
msgid "Russian translation (thanks github/alexkdeveloper)"
msgstr "Traduction Russe (Merci github/alexkdeveloper)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:293
msgid "Fixed: Cannot close app on first setup"
msgstr ""
"Correction: Impossible de fermer l'application lors de la première "
"installation"
#: data/com.jeffser.Alpaca.metainfo.xml.in:294
msgid "Fixed: Brand colors for Flathub"
msgstr "Correction: Couleurs de la marque Flathub"
#: data/com.jeffser.Alpaca.metainfo.xml.in:295
msgid "Fixed: App description"
msgstr "Correction: Description de l'application"
#: data/com.jeffser.Alpaca.metainfo.xml.in:296
msgid "Fixed: Only show 'save changes dialog' when you actually change the url"
msgstr ""
"Correction: N'afficher la boîte de dialogue « enregistrer les "
"modifications » que lorsque l'url est réellement modifiée"
#: data/com.jeffser.Alpaca.metainfo.xml.in:306
msgid "0.2.2 Bug fixes"
msgstr "0.2.2 Corrections de bug"
#: data/com.jeffser.Alpaca.metainfo.xml.in:308
msgid "Toast messages appearing behind dialogs"
msgstr ""
"Les messages de notifications apparaissaient derrière les boites de dialogue"
#: data/com.jeffser.Alpaca.metainfo.xml.in:309
msgid "Local model list not updating when changing servers"
msgstr ""
"La liste des modèles locaux n'était pas mise à jour lors d'un changement de "
"serveur"
#: data/com.jeffser.Alpaca.metainfo.xml.in:310
msgid "Closing the setup dialog closes the whole app"
msgstr ""
"La fermeture de la boite de dialogue des paramètres fermait toute "
"l'application"
#: data/com.jeffser.Alpaca.metainfo.xml.in:320
msgid "0.2.1 Data saving fix"
msgstr "0.2.1 Correction de la sauvegarde des données"
#: data/com.jeffser.Alpaca.metainfo.xml.in:321
msgid ""
"The app didn't save the config files and chat history to the right "
"directory, this is now fixed"
msgstr ""
"L'application ne sauvegardais pas le fichier de configuration et "
"l'historique de discussion dans le bon dossier, c'est maintenant corrigé"
#: data/com.jeffser.Alpaca.metainfo.xml.in:330
msgid "0.2.0"
msgstr "0.2.0"
#: data/com.jeffser.Alpaca.metainfo.xml.in:332
msgid "New Features"
msgstr "Nouvelles fonctionnalités"
#: data/com.jeffser.Alpaca.metainfo.xml.in:334
msgid "Restore chat after closing the app"
msgstr "Restaurer la discussion après avoir fermé l'application"
#: data/com.jeffser.Alpaca.metainfo.xml.in:335
msgid "A button to clear the chat"
msgstr "Un bouton pour effacer le chat"
#: data/com.jeffser.Alpaca.metainfo.xml.in:336
msgid "Fixed multiple bugs involving how messages are shown"
msgstr "Correction de plusieurs bogues concernant l'affichage des messages"
#: data/com.jeffser.Alpaca.metainfo.xml.in:337
msgid "Added welcome dialog"
msgstr "Ajout de la boite de dialogue de bienvenue"
#: data/com.jeffser.Alpaca.metainfo.xml.in:338
msgid "More stability"
msgstr "Plus de stabilité"
#: data/com.jeffser.Alpaca.metainfo.xml.in:348
msgid "0.1.2 Quick fixes"
msgstr "0.1.2 Petites corrections"
#: data/com.jeffser.Alpaca.metainfo.xml.in:349
msgid ""
"This release fixes some metadata needed to have a proper Flatpak application"
msgstr ""
"Cette version corrige quelques métadonnées pour avoir une application "
"Flatpak correct"
#: data/com.jeffser.Alpaca.metainfo.xml.in:355
msgid "0.1.1 Stable Release"
msgstr "0.1.1 Version stable"
#: data/com.jeffser.Alpaca.metainfo.xml.in:356
msgid "This is the first public version of Alpaca"
msgstr "Ceci est la première version publique d'Alpaca"
#: src/window.py:53 src/window.py:670 src/window.py:675 src/window.py:735
#: src/window.ui:681
msgid "New Chat"
msgstr "Nouvelle discussion"
#: src/window.py:98
msgid "An error occurred"
msgstr "Une erreur est survenue"
#: src/window.py:99
msgid "Failed to connect to server"
msgstr "Erreur de connexion au serveur"
#: src/window.py:100
msgid "Could not list local models"
msgstr "Impossible de lister les modèles locaux"
#: src/window.py:101
msgid "Could not delete model"
msgstr "Impossible de supprimer le modèle"
#: src/window.py:102
msgid "Could not pull model"
msgstr "Impossible de télécharger le modèle"
#: src/window.py:103
msgid "Cannot open image"
msgstr "Impossible d'ouvrir l'image"
#: src/window.py:104
msgid "Cannot delete chat because it's the only one left"
msgstr ""
"Vous ne pouvez pas supprimer la discussion car c'est la seule qui reste"
#: src/window.py:105
msgid "There was an error with the local Ollama instance, so it has been reset"
msgstr ""
"Une erreur est survenue avec l'instance local d'Ollama, elle a donc été "
"reinitialisée"
#: src/window.py:108
msgid "Please select a model before chatting"
msgstr "Merci de sélectionner un modèle avant de discuter"
#: src/window.py:109
msgid "Chat cannot be cleared while receiving a message"
msgstr ""
"La discussion ne peut pas être supprimé pendant la réception d'un message"
#: src/window.py:110
msgid "That tag is already being pulled"
msgstr "Ce tag est déjà en train d'être téléchargé"
#: src/window.py:111
msgid "That tag has been pulled already"
msgstr "Ce tag à déjà été télécharger"
#: src/window.py:112
msgid "Code copied to the clipboard"
msgstr "Code copié dans le presse-papier"
#: src/window.py:115
msgid "Model deleted successfully"
msgstr "Modèle supprimé avec succès"
#: src/window.py:116
msgid "Model pulled successfully"
msgstr "Modèle téléchargé avec succès"
#: src/window.py:117
msgid "Chat exported successfully"
msgstr "Discussion exportée avec succès"
#: src/window.py:118
msgid "Chat imported successfully"
msgstr "Discussion importée avec succès"
#: src/window.py:130
msgid "Upload image"
msgstr "Charger une image"
#: src/window.py:134 src/window.ui:179
msgid "Only available on selected models"
msgstr "Seulement disponible sur les modèles sélectionnés"
#: src/window.py:195
msgid "Close"
msgstr "Fermer"
#: src/window.py:196 src/window.ui:459
msgid "Next"
msgstr "Suivant"
#: src/window.py:243
msgid "Pulling in the background..."
msgstr "Téléchargement en arrière-plan..."
#: src/window.py:576
msgid "Task Complete"
msgstr "Tache terminée"
#: src/window.py:576
msgid "Model '{}' pulled successfully."
msgstr "Modèle '{}' téléchargé avec succès."
#: src/window.py:581
msgid "Pull Model Error"
msgstr "Erreur de téléchargement du modèle"
#: src/window.py:581
msgid "Failed to pull model '{}' due to network error."
msgstr ""
"Échec du téléchargement du modèle '{}' à cause d'une erreur de connexion."
#: src/window.ui:39
msgid "New chat"
msgstr "Nouvelle discussion"
#: src/window.ui:80
msgid "Toggle Sidebar"
msgstr "Basculer la barre latérale"
#: src/window.ui:103 src/window.ui:374
msgid "Manage models"
msgstr "Gestion des modèles"
#: src/window.ui:117
msgid "Menu"
msgstr "Menu"
#: src/window.ui:266 src/window.ui:612 src/window.ui:675
msgid "Preferences"
msgstr "Paramètres"
#: src/window.ui:269 src/window.ui:659
msgid "General"
msgstr "Général"
#: src/window.ui:273
msgid "Remote Connection"
msgstr "Connexion à distance"
#: src/window.ui:274
msgid "Manage a remote connection to Ollama"
msgstr "Gérer une connexion à distance d'Ollama"
#: src/window.ui:277
msgid "Use remote connection"
msgstr "Utiliser une connexion à distance"
#: src/window.ui:283
msgid "URL of remote instance"
msgstr "URL de l'instance distante"
#: src/window.ui:291
msgid "Behavior"
msgstr "Comportement"
#: src/window.ui:292
msgid "Manage Alpaca's Behavior"
msgstr "Gérer le comportement d'Alpaca"
#: src/window.ui:295
msgid "Run in background"
msgstr "Exécution en arrière-plan"
#: src/window.ui:304
msgid "Advanced Model Settings"
msgstr ""
#: src/window.ui:308
msgid "Model Tweaks"
msgstr ""
#: src/window.ui:309
msgid "Manage the behavior of the AI models"
msgstr ""
#: src/window.ui:314
#, fuzzy
msgid "Temperature"
msgstr "Fonctionnalités"
#: src/window.ui:315
msgid ""
"The temperature of the model. Increasing the temperature will make the model "
"answer more creatively. (Default: 0.8)"
msgstr ""
#: src/window.ui:330
msgid "Seed"
msgstr ""
#: src/window.ui:331
msgid ""
"Sets the random number seed to use for generation. Setting this to a "
"specific number will make the model generate the same text for the same "
"prompt. (Default: 0 (random))"
msgstr ""
#: src/window.ui:344
msgid "keep_alive"
msgstr ""
#: src/window.ui:345
msgid "Keep Alive Time"
msgstr ""
#: src/window.ui:443
msgid "Previous"
msgstr "Précédent"
#: src/window.ui:486
msgid "Welcome to Alpaca"
msgstr "Bienvenue sur Alpaca"
#: src/window.ui:487
msgid "Powered by Ollama"
msgstr "Fonctionne grâce à Ollama"
#: src/window.ui:490
msgid "Ollama Website"
msgstr "Site web d'Ollama"
#: src/window.ui:507
msgid ""
"Alpaca and its developers are not liable for any damages to devices or "
"software resulting from the execution of code generated by an AI model. "
"Please exercise caution and review the code carefully before running it."
msgstr ""
"Alpaca et ses développeurs ne sont pas responsables des dommages causés à "
"votre appareil ou vos logiciels lors de l'exécution de code généré par les "
"modèles d'IA. Merci de faire attention et de relire attentivement le code "
"avant de l'exécuter."
#: src/window.ui:518
msgid "Featured Models"
msgstr "Modèles recommandés"
#: src/window.ui:519
msgid ""
"Alpaca works locally on your device, to start chatting you'll need an AI "
"model, you can either pull models from this list or the 'Manage Models' menu "
"later."
msgstr ""
"Alpaca fonctionne localement sur votre ordinateur, pour commencer à discuter "
"vous aurez besoin d'un modèle d'IA, vous pouvez télécharger un modèle soit "
"depuis cette liste soit depuis le menu 'Gérer les modèles' plus tard."
#: src/window.ui:529
msgid "Built by Meta"
msgstr "Développé par Meta"
#: src/window.ui:546
msgid "Built by Google DeepMind"
msgstr "Développé par Google DeepMind"
#: src/window.ui:563
msgid "Built by Microsoft"
msgstr "Développé par Microsoft"
#: src/window.ui:580
msgid "Multimodal AI with image recognition"
msgstr "IA multimodale avec reconnaissance d'image"
#: src/window.ui:608
msgid "Clear Chat"
msgstr "Supprimer la discussion"
#: src/window.ui:616
msgid "Keyboard Shortcuts"
msgstr "Raccourcis claviers"
#: src/window.ui:620
msgid "About Alpaca"
msgstr "À propos d'Alpaca"
#: src/window.ui:628
#, fuzzy
msgid "Export current chat"
msgstr "Exporter la discussion"
#: src/window.ui:632
msgid "Import chat"
msgstr "Importer une discussion"
#: src/window.ui:663
msgid "Close application"
msgstr "Fermer l'application"
#: src/window.ui:669
msgid "Clear chat"
msgstr "Supprimer la discussion"
#: src/window.ui:687
msgid "Show shortcuts window"
msgstr "Voir les raccourcis clavier"
#: src/window.ui:694
msgid "Editor"
msgstr "Éditeur"
#: src/window.ui:698
msgid "Copy"
msgstr "Copier"
#: src/window.ui:704
msgid "Paste"
msgstr "Coller"
#: src/window.ui:710
msgid "Insert new line"
msgstr "Ajouter un ligne"
#: src/window.ui:716
msgid "Send Message"
msgstr "Envoyer le message"
#~ msgid "Remove"
#~ msgstr "Supprimer"
#~ msgid "Send"
#~ msgstr "Envoyer"
#~ msgid "Image"
#~ msgstr "Image"

1076
po/pt_BR.po Normal file

File diff suppressed because it is too large Load Diff

1074
po/pt_BR.po~ Normal file

File diff suppressed because it is too large Load Diff

456
po/ru.po Normal file
View File

@@ -0,0 +1,456 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-05-25 10:21+0800\n"
"PO-Revision-Date: 2024-05-25 10:44+0800\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: ru_RU\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.4.4\n"
"X-Poedit-Basepath: ../src\n"
"X-Poedit-SearchPath-0: .\n"
#: gtk/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
msgstr "Общие"
#: gtk/help-overlay.ui:14
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Показывать комбинации клавиш"
#: gtk/help-overlay.ui:20
msgctxt "shortcut window"
msgid "Quit"
msgstr "Выйти"
#: window.py:57 window.py:783
msgid "New Chat"
msgstr "Новый Чат"
#: window.py:102
msgid "An error occurred"
msgstr "Произошла ошибка"
#: window.py:103
msgid "Failed to connect to server"
msgstr "Не удалось подключиться к серверу"
#: window.py:104
msgid "Could not list local models"
msgstr "Не удалось перечислить локальные модели"
#: window.py:105
msgid "Could not delete model"
msgstr "Не удалось удалить модель"
#: window.py:106
msgid "Could not pull model"
msgstr "Не удалось извлечь модель"
#: window.py:107
msgid "Cannot open image"
msgstr "Не удается открыть изображение"
#: window.py:108
msgid "Cannot delete chat because it's the only one left"
msgstr "Не удается удалить чат, потому что он единственный оставшийся"
#: window.py:109
msgid "There was an error with the local Ollama instance, so it has been reset"
msgstr ""
"Произошла ошибка с локальным экземпляром Ollama, поэтому он был сброшен"
#: window.py:112
msgid "Please select a model before chatting"
msgstr "Пожалуйста, выберите модель перед началом общения"
#: window.py:113
msgid "Chat cannot be cleared while receiving a message"
msgstr "Чат не может быть удален при получении сообщения"
#: window.py:114
msgid "That tag is already being pulled"
msgstr "Этот тег уже удален"
#: window.py:115
msgid "That tag has been pulled already"
msgstr "Этот тег уже был удален"
#: window.py:118
msgid "Model deleted successfully"
msgstr "Модель успешно удалена"
#: window.py:119
msgid "Model pulled successfully"
msgstr "Модель успешно извлечена"
#: window.py:120
msgid "Chat exported successfully"
msgstr "Чат успешно экспортирован"
#: window.py:121
msgid "Chat imported successfully"
msgstr "Чат успешно импортирован"
#: window.py:476
msgid "Task Complete"
msgstr "Задача выполнена"
#: window.py:476
msgid "Model '{}' pulled successfully."
msgstr "Модель '{}' успешно извлечена."
#: window.py:481
msgid "Pull Model Error"
msgstr "Ошибка Извлечения Модели"
#: window.py:481
msgid "Failed to pull model '{}' due to network error."
msgstr "Не удалось извлечь модель '{}' из-за сетевой ошибки."
#: window.py:496
msgid "Stop Model"
msgstr "Остановить Модель"
#: window.py:497
msgid "Are you sure you want to stop pulling '{}'?"
msgstr "Вы уверены, что хотите прекратить извлечение '{}'?"
#: window.py:500 window.py:543 window.py:566 window.py:638 window.py:711
#: window.py:737 window.py:769 window.py:810
msgid "Cancel"
msgstr "Отмена"
#: window.py:501
msgid "Stop"
msgstr "Стоп"
#: window.py:539
msgid "Delete Model"
msgstr "Удалить Модель"
#: window.py:540 window.py:734
msgid "Are you sure you want to delete '{}'?"
msgstr "Вы уверены, что хотите удалить '{}'?"
#: window.py:544 window.py:738
msgid "Delete"
msgstr "Удалить"
#: window.py:561
msgid "Pull Model"
msgstr "Извлечение модели"
#: window.py:562
msgid "Please select a tag to pull '{}'"
msgstr "Пожалуйста, выберите тег для извлечения '{}'"
#: window.py:567
msgid "Pull"
msgstr "Извлечение"
#: window.py:634 window.ui:446
msgid "Clear Chat"
msgstr "Очистить Чат"
#: window.py:635
msgid "Are you sure you want to clear the chat?"
msgstr "Вы уверены, что хотите очистить чат?"
#: window.py:639
msgid "Clear"
msgstr "Очистить"
#: window.py:707
msgid "Remove Image"
msgstr "Удалить Изображение"
#: window.py:708
msgid "Are you sure you want to remove image?"
msgstr "Вы уверены, что хотите удалить изображение?"
#: window.py:712 window.ui:466
msgid "Remove"
msgstr "Удалить"
#: window.py:733
msgid "Delete Chat"
msgstr "Удалить Чат"
#: window.py:763
msgid "Rename Chat"
msgstr "Переименовать Чат"
#: window.py:770
msgid "Rename"
msgstr "Переименовать"
#: window.py:791
msgid "The name '{}' is already in use"
msgstr "Имя '{}' уже используется"
#: window.py:804
msgid "Create Chat"
msgstr "Создать Чат"
#: window.py:811
msgid "Create"
msgstr "Создать"
#: window.py:914
msgid "Connection Error"
msgstr "Ошибка Соединения"
#: window.py:915
msgid "The remote instance has disconnected"
msgstr "Удаленный экземпляр отключился"
#: window.py:919
msgid "Close Alpaca"
msgstr "Закрыть Программу"
#: window.py:920
msgid "Use local instance"
msgstr "Использовать локальный экземпляр"
#: window.py:921
msgid "Connect"
msgstr "Подключить"
#: window.ui:40
msgid "New chat"
msgstr "Новый чат"
#: window.ui:49
msgid "Import chat"
msgstr "Импорт чата"
#: window.ui:58
msgid "Export chat"
msgstr "Экспорт чата"
#: window.ui:90
msgid "Toggle Sidebar"
msgstr "Переключение боковой панели"
#: window.ui:111 window.ui:303
msgid "Manage models"
msgstr "Управление моделями"
#: window.ui:125
msgid "Menu"
msgstr "Меню"
#: window.ui:216
msgid "Send"
msgstr "Отправить"
#: window.ui:225
msgid "Only available on selected models"
msgstr "Доступно только для некоторых моделей"
#: window.ui:228
msgid "Image"
msgstr "Изображение"
#: window.ui:254 window.ui:450 window.ui:508
msgid "Preferences"
msgstr "Настройки"
#: window.ui:257 window.ui:492
msgid "General"
msgstr "Общие"
#: window.ui:261
msgid "Remote Connection"
msgstr "Удаленное подключение"
#: window.ui:262
msgid "Manage a remote connection to Ollama"
msgstr "Управление удаленным подключением к Ollama"
#: window.ui:265
msgid "Use remote connection"
msgstr "Использовать удаленное подключение"
#: window.ui:270
msgid "URL of remote instance"
msgstr "URL-адрес удаленного экземпляра"
#: window.ui:278
msgid "Behavior"
msgstr "Поведение"
#: window.ui:279
msgid "Manage Alpaca's Behavior"
msgstr "Управление поведением Alpaca"
#: window.ui:282
msgid "Run in background"
msgstr "Запуск в фоновом режиме"
#: window.ui:371
msgid "Previous"
msgstr "Предыдущий"
#: window.ui:386
msgid "Next"
msgstr "Следующий"
#: window.ui:412
msgid "Welcome to Alpaca"
msgstr "Добро пожаловать в Alpaca"
#: window.ui:413
msgid "Powered by Ollama"
msgstr "При поддержке Ollama"
#: window.ui:416
msgid "Ollama Website"
msgstr "Веб-сайт Ollama"
#: window.ui:432
msgid "Disclaimer"
msgstr "Отказ от ответственности"
#: window.ui:433
msgid ""
"Alpaca and its developers are not liable for any damages to devices or "
"software resulting from the execution of code generated by an AI model. "
"Please exercise caution and review the code carefully before running it."
msgstr ""
"Alpaca и ее разработчики не несут ответственности за любой ущерб, "
"причиненный устройствам или программному обеспечению в результате выполнения "
"кода, сгенерированного с помощью модели искусственного интеллекта. "
"Пожалуйста, будьте осторожны и внимательно ознакомьтесь с кодом перед его "
"запуском."
#: window.ui:454
msgid "Keyboard Shortcuts"
msgstr "Комбинации Клавиш"
#: window.ui:458
msgid "About Alpaca"
msgstr "О Программе"
#: window.ui:496
msgid "Close application"
msgstr "Закрыть приложение"
#: window.ui:502
msgid "Clear chat"
msgstr "Очистить чат"
#: window.ui:514
msgid "Show shortcuts window"
msgstr "Показать окно комбинаций клавиш"
#: window.ui:521
msgid "Editor"
msgstr "Редактор"
#: window.ui:525
msgid "Copy"
msgstr "Копировать"
#: window.ui:531
msgid "Paste"
msgstr "Вставить"
#: window.ui:537
msgid "Insert new line"
msgstr "Вставить новую строку"
#: window.ui:543
msgid "Send Message"
msgstr "Отправить Сообщение"
#, fuzzy
#~ msgid "Alpaca"
#~ msgstr "О Программе"
#, fuzzy
#~ msgid "Chat with local AI models"
#~ msgstr "Не удалось перечислить локальные модели"
#, fuzzy
#~ msgid "An Ollama client"
#~ msgstr "Веб-сайт Ollama"
#, fuzzy
#~ msgid "Import and export chats"
#~ msgstr "Импорт чата"
#, fuzzy
#~ msgid "Managing models"
#~ msgstr "Управление моделями"
#, fuzzy
#~ msgid "New Update"
#~ msgstr "Новый Чат"
#, fuzzy
#~ msgid "Fixed remote connections"
#~ msgstr "Использовать удаленное подключение"
#, fuzzy
#~ msgid "Added basic shortcuts"
#~ msgstr "Показывать ярлыки"
#, fuzzy
#~ msgid "New Features"
#~ msgstr "Новый Чат"
#, fuzzy
#~ msgid "A button to clear the chat"
#~ msgstr "Вы уверены, что хотите очистить чат?"
#~ msgid "Chats"
#~ msgstr "Чаты"
#~ msgid "Requires model 'llava' to be selected"
#~ msgstr "Требуется выбрать модель \"llava\""
#~ msgid "Save Changes"
#~ msgstr "Сохранить Изменения"
#~ msgid "Do you want to save the URL change?"
#~ msgstr "Хотите сохранить изменение URL?"
#~ msgid "Discard"
#~ msgstr "Отказаться"
#~ msgid "Save"
#~ msgstr "Сохранить"
#~ msgid ""
#~ "To get started, please ensure you have an Ollama instance set up. You can "
#~ "either run Ollama locally on your machine or connect to a remote instance."
#~ msgstr ""
#~ "Для начала, пожалуйста, убедитесь, что у вас настроен экземпляр Ollama. "
#~ "Вы можете либо запустить Ollama локально на своем компьютере, либо "
#~ "подключиться к удаленному экземпляру."
#~ msgid "Setup"
#~ msgstr "Установка"
#~ msgid ""
#~ "If you are running an Ollama instance locally and haven't modified the "
#~ "default ports, you can use the default URL. Otherwise, please enter the "
#~ "URL of your Ollama instance."
#~ msgstr ""
#~ "Если вы запускаете локальный экземпляр Ollama и не изменили порты по "
#~ "умолчанию, вы можете использовать URL-адрес по умолчанию. В противном "
#~ "случае, пожалуйста, введите URL-адрес вашего экземпляра Ollama."
#~ msgid "Change Server"
#~ msgstr "Изменить Сервер"
#~ msgid "Change server"
#~ msgstr "Изменить Сервер"

View File

@@ -1,6 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/com/jeffser/Alpaca">
<file>style.css</file>
<file>style-dark.css</file>
<file alias="icons/scalable/status/library-symbolic.svg">icons/library-symbolic.svg</file>
<file alias="icons/scalable/status/paper-plane-symbolic.svg">icons/paper-plane-symbolic.svg</file>
<file alias="icons/scalable/status/globe-symbolic.svg">icons/globe-symbolic.svg</file>
<file alias="icons/scalable/status/controls-big-symbolic.svg">icons/controls-big-symbolic.svg</file>
<file preprocess="xml-stripblanks">window.ui</file>
<file preprocess="xml-stripblanks">gtk/help-overlay.ui</file>
</gresource>

View File

@@ -0,0 +1,111 @@
#!@PYTHON@
import sys
from gi.repository import Gio, GLib
DBUS_NAME = "com.jeffser.Alpaca.SearchProvider"
DBUS_OBJECT_PATH = "/com/jeffser/Alpaca/SearchProvider"
DBUS_INTERFACE = "org.gnome.Shell.SearchProvider2"
class SearchProvider:
def __init__(self):
print("ALPACA __init__")
self.connection = Gio.bus_get_sync(Gio.BusType.SESSION, None)
if not self.connection:
print("ALPACA Failed to get D-Bus connection")
return
print("ALPACA D-Bus connection obtained")
interface_info = self.get_interface_info()
self.registration_id = self.connection.register_object(DBUS_OBJECT_PATH, interface_info, self.handle_method_call, None)
if self.registration_id > 0:
print(f"ALPACA Object registered with ID: {self.registration_id}")
else:
print("ALPACA Failed to register object")
def get_interface_info(self):
print("ALPACA get_interface_info")
xml = """
<node>
<interface name='org.gnome.Shell.SearchProvider2'>
<method name='GetInitialResultSet'>
<arg type='as' name='terms' direction='in'/>
<arg type='as' name='results' direction='out'/>
</method>
<method name='GetSubsearchResultSet'>
<arg type='as' name='previous_results' direction='in'/>
<arg type='as' name='terms' direction='in'/>
<arg type='as' name='results' direction='out'/>
</method>
<method name='GetResultMetas'>
<arg type='as' name='identifiers' direction='in'/>
<arg type='a{sv}' name='metas' direction='out'/>
</method>
<method name='ActivateResult'>
<arg type='s' name='identifier' direction='in'/>
<arg type='as' name='terms' direction='in'/>
<arg type='i' name='timestamp' direction='in'/>
</method>
</interface>
</node>
"""
return Gio.DBusNodeInfo.new_for_xml(xml).interfaces[0]
def handle_method_call(self, connection, sender, object_path, interface_name, method_name, parameters, invocation):
print(f"ALPACA handle_method_call: {method_name}")
if method_name == "GetInitialResultSet":
self.handle_get_initial_result_set(invocation, parameters)
elif method_name == "GetSubsearchResultSet":
self.handle_get_subsearch_result_set(invocation, parameters)
elif method_name == "GetResultMetas":
self.handle_get_result_metas(invocation, parameters)
elif method_name == "ActivateResult":
self.handle_activate_result(invocation, parameters)
def handle_get_initial_result_set(self, invocation, parameters):
print("ALPACA handle_get_initial_result_set")
terms = parameters.unpack()[0]
print(f"Initial search terms: {terms}")
results = ["result1", "result2"]
if "Alpaca" in terms:
results.append("alpaca_placeholder_result")
print(f"Returning results: {results}")
invocation.return_value(GLib.Variant("(as)", [results]))
def handle_get_subsearch_result_set(self, invocation, parameters):
print("ALPACA handle_get_subsearch_result_set")
previous_results, terms = parameters.unpack()
print(f"Subsearch terms: {terms}, previous results: {previous_results}")
results = ["result3", "result4"]
if "Alpaca" in terms:
results.append("sub_alpaca_placeholder_result")
print(f"Returning subsearch results: {results}")
invocation.return_value(GLib.Variant("(as)", [results]))
def handle_get_result_metas(self, invocation, parameters):
print("ALPACA handle_get_result_metas")
identifiers = parameters.unpack()[0]
print(f"Result metas for identifiers: {identifiers}")
metas = []
for identifier in identifiers:
meta = {"name": GLib.Variant("s", "Placeholder result for " + identifier)}
metas.append(GLib.Variant("a{sv}", meta))
print(f"Returning metas: {metas}")
invocation.return_value(GLib.Variant("(a{sv})", [metas]))
def handle_activate_result(self, invocation, parameters):
print("ALPACA handle_activate_result")
identifier, terms, timestamp = parameters.unpack()
print(f"Activated result: {identifier}, terms: {terms}, timestamp: {timestamp}")
invocation.return_value(None)
if __name__ == "__main__":
provider = SearchProvider()
if provider.registration_id > 0:
loop = GLib.MainLoop()
print("ALPACA Running main loop")
loop.run()
else:
print("ALPACA Failed to start main loop due to object registration failure")

File diff suppressed because one or more lines are too long

View File

@@ -1,15 +1,17 @@
# connectionhandler.py
import json, requests
url = None
def simple_get(connection_url:str) -> dict:
try:
response = requests.get(connection_url)
if response.status_code == 200:
return {"status": "ok", "text": response.text, "status_code": response.status_code}
else:
return {"status": "error", "text": f"Failed to connect to {connection_url}. Status code: {response.status_code}", "status_code": response.status_code}
return {"status": "error", "status_code": response.status_code}
except Exception as e:
return {"status": "error", "text": f"An error occurred while trying to connect to {connection_url}", "status_code": 0}
return {"status": "error", "status_code": 0}
def simple_delete(connection_url:str, data) -> dict:
try:
@@ -19,7 +21,7 @@ def simple_delete(connection_url:str, data) -> dict:
else:
return {"status": "error", "text": "Failed to delete", "status_code": response.status_code}
except Exception as e:
return {"status": "error", "text": f"An error occurred while trying to connect to {connection_url}", "status_code": 0}
return {"status": "error", "status_code": 0}
def stream_post(connection_url:str, data, callback:callable) -> dict:
try:
@@ -31,31 +33,9 @@ def stream_post(connection_url:str, data, callback:callable) -> dict:
for line in response.iter_lines():
if line:
callback(json.loads(line.decode("utf-8")))
return {"status": "ok", "text": "All good", "status_code": response.status_code}
return {"status": "ok", "status_code": response.status_code}
else:
return {"status": "error", "text": "Error posting data", "status_code": response.status_code}
return {"status": "error", "status_code": response.status_code}
except Exception as e:
return {"status": "error", "text": f"An error occurred while trying to connect to {connection_url}", "status_code": 0}
return {"status": "error", "status_code": 0}
from time import sleep
def stream_post_fake(connection_url:str, data, callback:callable) -> dict:
data = {
"status": "pulling manifest"
}
callback(data)
for i in range(2):
for a in range(11):
sleep(.1)
data = {
"status": f"downloading digestname {i}",
"digest": f"digestname {i}",
"total": 500,
"completed": a * 50
}
callback(data)
for msg in ["verifying sha256 digest", "writting manifest", "removing any unused layers", "success"]:
sleep(.1)
data = {"status": msg}
callback(data)
return {"status": "ok", "text": "All good", "status_code": 200}

229
src/dialogs.py Normal file
View File

@@ -0,0 +1,229 @@
# dialogs.py
from gi.repository import Adw, Gtk, Gdk, GLib, GtkSource, Gio, GdkPixbuf
from .available_models import available_models
# CLEAR CHAT | WORKS
def clear_chat_response(self, dialog, task):
if dialog.choose_finish(task) == "clear":
self.clear_chat()
def clear_chat(self):
if self.bot_message is not None:
self.show_toast("info", 1, self.main_overlay)
return
dialog = Adw.AlertDialog(
heading=_("Clear Chat"),
body=_("Are you sure you want to clear the chat?"),
close_response="cancel"
)
dialog.add_response("cancel", _("Cancel"))
dialog.add_response("clear", _("Clear"))
dialog.set_response_appearance("clear", Adw.ResponseAppearance.DESTRUCTIVE)
dialog.choose(
parent = self,
cancellable = None,
callback = lambda dialog, task: clear_chat_response(self, dialog, task)
)
# DELETE CHAT | WORKS
def delete_chat_response(self, dialog, task, chat_name):
if dialog.choose_finish(task) == "delete":
self.delete_chat(chat_name)
def delete_chat(self, chat_name):
dialog = Adw.AlertDialog(
heading=_("Delete Chat"),
body=_("Are you sure you want to delete '{}'?").format(chat_name),
close_response="cancel"
)
dialog.add_response("cancel", _("Cancel"))
dialog.add_response("delete", _("Delete"))
dialog.set_response_appearance("delete", Adw.ResponseAppearance.DESTRUCTIVE)
dialog.choose(
parent = self,
cancellable = None,
callback = lambda dialog, task, chat_name=chat_name: delete_chat_response(self, dialog, task, chat_name)
)
# RENAME CHAT | WORKS
def rename_chat_response(self, dialog, task, old_chat_name, entry, label_element):
if not entry: return
new_chat_name = entry.get_text()
if old_chat_name == new_chat_name: return
if new_chat_name and (task is None or dialog.choose_finish(task) == "rename"):
self.rename_chat(old_chat_name, new_chat_name, label_element)
def rename_chat(self, label_element):
chat_name = label_element.get_parent().get_name()
entry = Gtk.Entry()
dialog = Adw.AlertDialog(
heading=_("Rename Chat"),
body=_("Renaming '{}'").format(chat_name),
extra_child=entry,
close_response="cancel"
)
entry.connect("activate", lambda dialog, old_chat_name=chat_name, entry=entry, label_element=label_element: rename_chat_response(self, dialog, None, old_chat_name, entry, label_element))
dialog.add_response("cancel", _("Cancel"))
dialog.add_response("rename", _("Rename"))
dialog.set_response_appearance("rename", Adw.ResponseAppearance.SUGGESTED)
dialog.choose(
parent = self,
cancellable = None,
callback = lambda dialog, task, old_chat_name=chat_name, entry=entry, label_element=label_element: rename_chat_response(self, dialog, task, old_chat_name, entry, label_element)
)
# NEW CHAT | WORKS | UNUSED REASON: The 'Add Chat' button now creates a chat without a name AKA "New Chat"
def new_chat_response(self, dialog, task, entry):
chat_name = _("New Chat")
if entry is not None and entry.get_text() != "": chat_name = entry.get_text()
if chat_name and (task is None or dialog.choose_finish(task) == "create"):
self.new_chat(chat_name)
def new_chat(self):
entry = Gtk.Entry()
dialog = Adw.AlertDialog(
heading=_("Create Chat"),
body=_("Enter name for new chat"),
extra_child=entry,
close_response="cancel"
)
entry.connect("activate", lambda dialog, entry: new_chat_response(self, dialog, None, entry))
dialog.add_response("cancel", _("Cancel"))
dialog.add_response("create", _("Create"))
dialog.set_response_appearance("create", Adw.ResponseAppearance.SUGGESTED)
dialog.choose(
parent = self,
cancellable = None,
callback = lambda dialog, task, entry=entry: new_chat_response(self, dialog, task, entry)
)
# STOP PULL MODEL | WORKS
def stop_pull_model_response(self, dialog, task, model_name):
if dialog.choose_finish(task) == "stop":
self.stop_pull_model(model_name)
def stop_pull_model(self, model_name):
dialog = Adw.AlertDialog(
heading=_("Stop Model"),
body=_("Are you sure you want to stop pulling '{}'?").format(model_name),
close_response="cancel"
)
dialog.add_response("cancel", _("Cancel"))
dialog.add_response("stop", _("Stop"))
dialog.set_response_appearance("stop", Adw.ResponseAppearance.DESTRUCTIVE)
dialog.choose(
parent = self.manage_models_dialog,
cancellable = None,
callback = lambda dialog, task, model_name = model_name: stop_pull_model_response(self, dialog, task, model_name)
)
# DELETE MODEL | WORKS
def delete_model_response(self, dialog, task, model_name):
if dialog.choose_finish(task) == "delete":
self.delete_model(model_name)
def delete_model(self, model_name):
dialog = Adw.AlertDialog(
heading=_("Delete Model"),
body=_("Are you sure you want to delete '{}'?").format(model_name),
close_response="cancel"
)
dialog.add_response("cancel", _("Cancel"))
dialog.add_response("delete", _("Delete"))
dialog.set_response_appearance("delete", Adw.ResponseAppearance.DESTRUCTIVE)
dialog.choose(
parent = self.manage_models_dialog,
cancellable = None,
callback = lambda dialog, task, model_name = model_name: delete_model_response(self, dialog, task, model_name)
)
# PULL MODEL | WORKS
def pull_model_response(self, dialog, task, model_name, tag_drop_down):
if dialog.choose_finish(task) == "pull":
model = f"{model_name}:{tag_drop_down.get_selected_item().get_string().split(' | ')[0]}"
self.pull_model(model)
def pull_model(self, model_name):
tag_list = Gtk.StringList()
for tag in available_models[model_name]['tags']:
tag_list.append(f"{tag[0]} | {tag[1]}")
tag_drop_down = Gtk.DropDown(
enable_search=True,
model=tag_list
)
dialog = Adw.AlertDialog(
heading=_("Pull Model"),
body=_("Please select a tag to pull '{}'").format(model_name),
extra_child=tag_drop_down,
close_response="cancel"
)
dialog.add_response("cancel", _("Cancel"))
dialog.add_response("pull", _("Pull"))
dialog.set_response_appearance("pull", Adw.ResponseAppearance.SUGGESTED)
dialog.choose(
parent = self.manage_models_dialog,
cancellable = None,
callback = lambda dialog, task, model_name = model_name, tag_drop_down = tag_drop_down: pull_model_response(self, dialog, task, model_name, tag_drop_down)
)
# REMOVE IMAGE | WORKS
def remove_image_response(self, dialog, task):
if dialog.choose_finish(task) == 'remove':
self.remove_image()
def remove_image(self):
dialog = Adw.AlertDialog(
heading=_("Remove Image"),
body=_("Are you sure you want to remove image?"),
close_response="cancel"
)
dialog.add_response("cancel", _("Cancel"))
dialog.add_response("remove", _("Remove"))
dialog.set_response_appearance("remove", Adw.ResponseAppearance.DESTRUCTIVE)
dialog.choose(
parent = self,
cancellable = None,
callback = lambda dialog, task: remove_image_response(self, dialog, task)
)
# RECONNECT REMOTE |
def reconnect_remote_response(self, dialog, task, entry):
response = dialog.choose_finish(task)
if not task or response == "remote":
self.connect_remote(entry.get_text())
elif response == "local":
self.connect_local()
elif response == "close":
self.destroy()
def reconnect_remote(self, current_url):
entry = Gtk.Entry(
css_classes = ["error"],
text = current_url
)
dialog = Adw.AlertDialog(
heading=_("Connection Error"),
body=_("The remote instance has disconnected"),
extra_child=entry
)
entry.connect("activate", lambda entry, dialog: reconnect_remote_response(self, dialog, None, entry))
dialog.add_response("close", _("Close Alpaca"))
dialog.add_response("local", _("Use local instance"))
dialog.add_response("remote", _("Connect"))
dialog.set_response_appearance("remote", Adw.ResponseAppearance.SUGGESTED)
dialog.choose(
parent = self,
cancellable = None,
callback = lambda dialog, task, entry=entry: reconnect_remote_response(self, dialog, task, entry)
)

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#222222"><path d="m 4.550781 1 c -1.9375 0 -3.5 1.5625 -3.5 3.5 s 1.5625 3.5 3.5 3.5 h 7 c 1.941407 0 3.5 -1.5625 3.5 -3.5 s -1.558593 -3.5 -3.5 -3.5 z m 7 1 c 1.386719 0 2.5 1.113281 2.5 2.5 c 0 1.382812 -1.113281 2.5 -2.5 2.5 c -1.382812 0 -2.5 -1.117188 -2.5 -2.5 c 0 -1.386719 1.117188 -2.5 2.5 -2.5 z m 0 0"/><path d="m 4.550781 9 c -1.9375 0 -3.5 1.5625 -3.5 3.5 s 1.5625 3.5 3.5 3.5 h 7 c 1.941407 0 3.5 -1.5625 3.5 -3.5 s -1.558593 -3.5 -3.5 -3.5 z m 0 1 c 1.386719 0 2.5 1.113281 2.5 2.5 c 0 1.382812 -1.113281 2.5 -2.5 2.5 c -1.382812 0 -2.5 -1.117188 -2.5 -2.5 c 0 -1.386719 1.117188 -2.5 2.5 -2.5 z m 0 0" fill-opacity="0.35"/></g></svg>

After

Width:  |  Height:  |  Size: 785 B

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 7.5 0 c -4.128906 0 -7.5 3.371094 -7.5 7.5 s 3.371094 7.5 7.5 7.5 s 7.5 -3.371094 7.5 -7.5 s -3.371094 -7.5 -7.5 -7.5 z m 0 2 c 0.257812 0 0.503906 0.023438 0.75 0.054688 c 0.191406 0.261718 0.382812 0.59375 0.550781 1.027343 c 0.105469 0.277344 0.203125 0.585938 0.289063 0.917969 h -3.179688 c 0.085938 -0.332031 0.183594 -0.640625 0.289063 -0.917969 c 0.167969 -0.433593 0.359375 -0.765625 0.550781 -1.027343 c 0.246094 -0.03125 0.492188 -0.054688 0.75 -0.054688 z m -2.085938 0.40625 c -0.050781 0.109375 -0.105468 0.203125 -0.148437 0.316406 c -0.148437 0.386719 -0.269531 0.820313 -0.378906 1.277344 h -1.617188 c 0.570313 -0.691406 1.296875 -1.246094 2.144531 -1.59375 z m 4.171876 0 c 0.847656 0.347656 1.574218 0.902344 2.144531 1.59375 h -1.617188 c -0.109375 -0.457031 -0.230469 -0.890625 -0.378906 -1.277344 c -0.042969 -0.113281 -0.097656 -0.207031 -0.148437 -0.316406 z m -6.980469 2.59375 h 2.082031 c -0.097656 0.628906 -0.148438 1.300781 -0.167969 2 h -2.480469 c 0.0625 -0.714844 0.253907 -1.390625 0.566407 -2 z m 3.09375 0 h 3.601562 c 0.101563 0.617188 0.15625 1.292969 0.179688 2 h -3.960938 c 0.023438 -0.707031 0.078125 -1.382812 0.179688 -2 z m 4.613281 0 h 2.082031 c 0.3125 0.609375 0.503907 1.285156 0.566407 2 h -2.480469 c -0.019531 -0.699219 -0.070313 -1.371094 -0.167969 -2 z m -8.273438 3 h 2.480469 c 0.019531 0.699219 0.070313 1.375 0.167969 2 h -2.082031 c -0.3125 -0.609375 -0.503907 -1.285156 -0.566407 -2 z m 3.480469 0 h 3.960938 c -0.023438 0.707031 -0.078125 1.382812 -0.179688 2 h -3.601562 c -0.101563 -0.617188 -0.15625 -1.292969 -0.179688 -2 z m 4.960938 0 h 2.480469 c -0.0625 0.714844 -0.253907 1.390625 -0.566407 2 h -2.082031 c 0.097656 -0.625 0.148438 -1.300781 0.167969 -2 z m -7.210938 3 h 1.617188 c 0.109375 0.457031 0.230469 0.890625 0.378906 1.273438 c 0.042969 0.117187 0.097656 0.210937 0.148437 0.320312 c -0.847656 -0.347656 -1.574218 -0.902344 -2.144531 -1.59375 z m 2.640625 0 h 3.179688 c -0.085938 0.332031 -0.183594 0.640625 -0.289063 0.917969 c -0.167969 0.433593 -0.359375 0.765625 -0.550781 1.027343 c -0.246094 0.03125 -0.496094 0.054688 -0.75 0.054688 s -0.503906 -0.023438 -0.75 -0.054688 c -0.191406 -0.261718 -0.382812 -0.59375 -0.550781 -1.027343 c -0.105469 -0.277344 -0.203125 -0.585938 -0.289063 -0.917969 z m 4.203125 0 h 1.617188 c -0.570313 0.691406 -1.296875 1.246094 -2.144531 1.59375 c 0.050781 -0.109375 0.105468 -0.203125 0.148437 -0.320312 c 0.148437 -0.382813 0.269531 -0.816407 0.378906 -1.273438 z m 0 0" fill="#222222"/></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#222222"><path d="m 1.5 2 h 2 c 0.277344 0 0.5 0.222656 0.5 0.5 v 12 c 0 0.277344 -0.222656 0.5 -0.5 0.5 h -2 c -0.277344 0 -0.5 -0.222656 -0.5 -0.5 v -12 c 0 -0.277344 0.222656 -0.5 0.5 -0.5 z m 0 0"/><path d="m 5.5 4 h 1 c 0.277344 0 0.5 0.222656 0.5 0.5 v 10 c 0 0.277344 -0.222656 0.5 -0.5 0.5 h -1 c -0.277344 0 -0.5 -0.222656 -0.5 -0.5 v -10 c 0 -0.277344 0.222656 -0.5 0.5 -0.5 z m 0 0"/><path d="m 8.5 3 h 1 c 0.277344 0 0.5 0.222656 0.5 0.5 v 11 c 0 0.277344 -0.222656 0.5 -0.5 0.5 h -1 c -0.277344 0 -0.5 -0.222656 -0.5 -0.5 v -11 c 0 -0.277344 0.222656 -0.5 0.5 -0.5 z m 0 0"/><path d="m 10.707031 1.460938 l 0.964844 -0.261719 c 0.265625 -0.070313 0.539063 0.089843 0.613281 0.355469 l 3.363282 12.558593 c 0.070312 0.265625 -0.085938 0.539063 -0.351563 0.609375 l -0.96875 0.261719 c -0.265625 0.070313 -0.539063 -0.089844 -0.613281 -0.355469 l -3.363282 -12.554687 c -0.070312 -0.269531 0.085938 -0.542969 0.355469 -0.613281 z m 0 0"/></g></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 15 8 l -14 -7 v 6 l 8 1 l -8 1 v 6 z m 0 0" fill="#222222"/></svg>

After

Width:  |  Height:  |  Size: 204 B

23
src/local_instance.py Normal file
View File

@@ -0,0 +1,23 @@
# local_instance.py
import subprocess, os, threading
from time import sleep
instance = None
port = 11435
data_dir = os.getenv("XDG_DATA_HOME")
def start():
instance = subprocess.Popen(["/app/bin/ollama", "serve"], env={**os.environ, 'OLLAMA_HOST': f"127.0.0.1:{port}", "HOME": data_dir}, stderr=subprocess.PIPE, text=True)
print("Starting Alpaca's Ollama instance...")
sleep(1)
print("Started Alpaca's Ollama instance")
def stop():
if instance: instance.kill()
print("Stopped Alpaca's Ollama instance")
def reset():
stop()
sleep(1)
start()

View File

@@ -33,8 +33,7 @@ class AlpacaApplication(Adw.Application):
super().__init__(application_id='com.jeffser.Alpaca',
flags=Gio.ApplicationFlags.DEFAULT_FLAGS)
self.create_action('quit', lambda *_: self.quit(), ['<primary>q'])
self.create_action('clear', lambda *_: AlpacaWindow.clear_conversation_dialog(self.props.active_window), ['<primary>e'])
self.create_action('reconnect', lambda *_: AlpacaWindow.show_connection_dialog(self.props.active_window), ['<primary>r'])
self.create_action('preferences', lambda *_: AlpacaWindow.show_preferences_dialog(self.props.active_window), ['<primary>p'])
self.create_action('about', self.on_about_action)
def do_activate(self):
@@ -44,16 +43,17 @@ class AlpacaApplication(Adw.Application):
win.present()
def on_about_action(self, widget, _):
about = Adw.AboutWindow(transient_for=self.props.active_window,
about = Adw.AboutDialog(#transient_for=self.props.active_window,
application_name='Alpaca',
application_icon='com.jeffser.Alpaca',
developer_name='Jeffry Samuel Eduarte Rojas',
version='0.2.0',
version='0.9.2',
developers=['Jeffser https://jeffser.com'],
designers=['Jeffser https://jeffser.com'],
copyright='© 2024 Jeffser',
translator_credits='Alex K (Russian) https://github.com/alexkdeveloper\nJeffser (Spanish) https://jeffser.com\nDaimar Stein (Brazilian Portuguese) https://github.com/not-a-dev-stein\nLouis Chauvet-Villaret (French) https://github.com/loulou64490',
copyright='© 2024 Jeffser\n© 2024 Ollama',
issue_url='https://github.com/Jeffser/Alpaca/issues')
about.present()
about.present(parent=self.props.active_window)
def create_action(self, name, callback, shortcuts=None):
action = Gio.SimpleAction.new(name, None)

View File

@@ -26,12 +26,23 @@ configure_file(
install_mode: 'r-xr-xr-x'
)
configure_file(
input: 'alpaca_search_provider.in',
output: 'alpaca_search_provider',
configuration: conf,
install: true,
install_dir: get_option('bindir'),
install_mode: 'r-xr-xr-x'
)
alpaca_sources = [
'__init__.py',
'main.py',
'window.py',
'connection_handler.py',
'available_models.py',
'dialogs.py',
'local_instance.py'
]
install_data(alpaca_sources, install_dir: moduledir)

4
src/style-dark.css Normal file
View File

@@ -0,0 +1,4 @@
.message-input {
background-color: #343434;
}

24
src/style.css Normal file
View File

@@ -0,0 +1,24 @@
.message-input {
background-color: #EBEBEB;
}
.chat_row box.header {
font-size: 14px;
}
.chat_row box {
margin: 0;
}
.chat_row button {
opacity: 0;
transition: opacity .05s;
}
.chat_row:hover button {
opacity: 1;
}
.message .delete-message-button {
opacity: 0;
transition: opacity .05s;
}
.message:hover .delete-message-button {
opacity: 1;
}

File diff suppressed because it is too large Load Diff

View File

@@ -3,138 +3,354 @@
<requires lib="gtk" version="4.0"/>
<requires lib="Adw" version="1.0"/>
<template class="AlpacaWindow" parent="AdwApplicationWindow">
<signal name="close-request" handler="closing_app"/>
<property name="resizable">True</property>
<property name="width-request">360</property>
<property name="height-request">700</property>
<property name="default-width">1300</property>
<property name="default-height">800</property>
<property name="title">Alpaca</property>
<child>
<object class="AdwBreakpoint">
<condition>max-width: 800sp</condition>
<setter object="split_view_overlay" property="collapsed">true</setter>
</object>
</child>
<child>
</child>
<child>
<object class="AdwBreakpoint">
<condition>max-width: 500sp</condition>
<setter object="split_view_overlay" property="collapsed">true</setter>
<setter object="welcome_dialog" property="width-request">360</setter>
<setter object="manage_models_dialog" property="width-request">360</setter>
<setter object="preferences_dialog" property="width-request">360</setter>
</object>
</child>
<property name="content">
<object class="AdwToastOverlay" id="overlay">
<child>
<object class="AdwToolbarView">
<child type="top">
<object class="AdwHeaderBar" id="header_bar">
<property name="title-widget">
<object class="GtkBox">
<property name="orientation">0</property>
<property name="spacing">12</property>
<child>
<object class="GtkDropDown" id="model_drop_down">
<property name="enable-search">true</property>
<property name="model">
<object class="GtkStringList" id="model_string_list">
<items>
</items>
</object>
</property>
<object class="AdwOverlaySplitView" id="split_view_overlay">
<property name="show-sidebar" bind-source="show_sidebar_button" bind-property="active" bind-flags="sync-create"/>
<property name="sidebar">
<object class="AdwToolbarView">
<child type="top">
<object class="AdwHeaderBar">
<child type="start">
<object class="GtkButton" id="add_chat_button">
<property name="tooltip-text" translatable="yes">New chat</property>
<property name="icon-name">chat-message-new-symbolic</property>
<style>
<class name="flat"/>
</style>
</object>
</child>
<child type="end">
<object class="GtkMenuButton" id="chats_menu_button">
<property name="direction">1</property>
<property name="halign">3</property>
<property name="menu-model">chats_button_menu</property>
<property name="icon-name">view-more-symbolic</property>
</object>
</child>
</object>
</child>
<property name="content">
<object class="GtkScrolledWindow">
<property name="vexpand">true</property>
<property name="hexpand">true</property>
<child>
<object class="GtkButton" id="manage_models_button">
<property name="tooltip-text" translatable="yes">Manage models</property>
<child>
<object class="AdwButtonContent">
<property name="icon-name">package-x-generic-symbolic</property>
</object>
</child>
<object class="GtkListBox" id="chat_list_box">
<signal name="row-selected" handler="chat_changed"/>
<property name="selection-mode">single</property>
<style>
<class name="navigation-sidebar"></class>
</style>
</object>
</child>
</object>
</property>
<child type="end">
<object class="GtkMenuButton">
<property name="primary">True</property>
<property name="icon-name">open-menu-symbolic</property>
<property name="tooltip-text" translatable="yes">Menu</property>
<property name="menu-model">primary_menu</property>
</object>
</child>
</object>
</child>
<property name="content">
<object class="GtkBox"><!--ACTUAL CONTENT-->
<property name="orientation">1</property>
<property name="margin-start">24</property>
<property name="margin-end">24</property>
<property name="margin-bottom">24</property>
<property name="vexpand">true</property>
<property name="hexpand">true</property>
<child>
<object class="GtkScrolledWindow" id="chat_window">
<property name="margin-bottom">12</property>
<property name="has-frame">true</property>
<property name="propagate-natural-height">true</property>
<property name="min-content-width">500</property>
<property name="min-content-height">600</property>
<property name="kinetic-scrolling">1</property>
<property name="vexpand">true</property>
<style>
<class name="undershoot-top"/>
<class name="undershoot-bottom"/>
<class name="card"/>
</style>
<child>
<object class="GtkBox" id="chat_container">
<property name="orientation">1</property>
<property name="homogeneous">false</property>
<property name="hexpand">false</property>
<property name="vexpand">true</property>
</property>
<child>
<object class="AdwToolbarView">
<child type="top">
<object class="AdwHeaderBar" id="header_bar">
<child type="start">
<object class="GtkToggleButton" id="show_sidebar_button">
<property name="icon-name">sidebar-show-symbolic</property>
<property name="tooltip-text" translatable="yes">Toggle Sidebar</property>
<property name="active" bind-source="split_view_overlay" bind-property="show-sidebar" bind-flags="sync-create"/>
</object>
</child>
<property name="title-widget">
<object class="GtkBox">
<property name="orientation">0</property>
<property name="spacing">12</property>
<property name="margin-top">12</property>
<property name="margin-bottom">12</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<child>
<object class="GtkDropDown" id="model_drop_down">
<signal name="notify" handler="verify_if_image_can_be_used"/>
<property name="enable-search">true</property>
<property name="model">
<object class="GtkStringList" id="model_string_list">
<items>
</items>
</object>
</property>
</object>
</child>
<child>
<object class="GtkButton" id="manage_models_button">
<signal name="clicked" handler="manage_models_button_activate"/>
<property name="tooltip-text" translatable="yes">Manage models</property>
<child>
<object class="AdwButtonContent">
<property name="icon-name">library-symbolic</property>
</object>
</child>
</object>
</child>
</object>
</property>
<child type="end">
<object class="GtkMenuButton">
<property name="primary">True</property>
<property name="icon-name">open-menu-symbolic</property>
<property name="tooltip-text" translatable="yes">Menu</property>
<property name="menu-model">primary_menu</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkBox">
<property name="orientation">0</property>
<property name="spacing">12</property>
<property name="content">
<object class="GtkBox"><!--ACTUAL CONTENT-->
<property name="orientation">1</property>
<property name="vexpand">true</property>
<property name="hexpand">true</property>
<child>
<object class="GtkEntry" id="message_entry">
<property name="hexpand">true</property>
</object>
</child>
<object class="AdwToastOverlay" id="main_overlay">
<child>
<object class="GtkButton" id="send_button">
<object class="GtkScrolledWindow" id="chat_window">
<property name="propagate-natural-height">true</property>
<property name="kinetic-scrolling">true</property>
<property name="vexpand">true</property>
<style>
<class name="suggested-action"/>
<class name="undershoot-bottom"/>
</style>
<child>
<object class="AdwButtonContent">
<property name="label" translatable="true">Send</property>
<property name="icon-name">send-to-symbolic</property>
<object class="AdwClamp">
<property name="maximum-size">1000</property>
<property name="tightening-threshold">800</property>
<child>
<object class="GtkBox" id="chat_container">
<property name="orientation">1</property>
<property name="homogeneous">false</property>
<property name="hexpand">true</property>
<property name="vexpand">true</property>
<property name="spacing">12</property>
<property name="margin-top">12</property>
<property name="margin-bottom">12</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="AdwClamp">
<property name="maximum-size">1000</property>
<property name="tightening-threshold">800</property>
<child>
<object class="GtkBox">
<property name="orientation">0</property>
<property name="spacing">12</property>
<property name="margin-top">12</property>
<property name="margin-bottom">12</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<child>
<object class="GtkButton" id="image_button">
<signal name="clicked" handler="open_image"/>
<property name="vexpand">false</property>
<property name="valign">3</property>
<property name="sensitive">false</property>
<property name="tooltip-text" translatable="yes">Only available on selected models</property>
<child>
<object class="AdwButtonContent">
<property name="icon-name">image-x-generic-symbolic</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkBox">
<style>
<class name="card"/>
<class name="message-input"/>
</style>
<child>
<object class="GtkScrolledWindow">
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<style>
<class name="message-input"/>
<class name="undershoot-bottom"/>
<class name="undershoot-top"/>
</style>
<child>
<object class="GtkTextView" id="message_text_view">
<property name="wrap-mode">word</property>
<property name="top-margin">6</property>
<property name="bottom-margin">6</property>
<property name="hexpand">true</property>
<style>
<class name="message-input"/>
</style>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkButton" id="send_button">
<signal name="clicked" handler="send_message"/>
<property name="vexpand">false</property>
<property name="valign">3</property>
<style>
<class name="suggested-action"/>
<class name="circular"/>
</style>
<child>
<object class="AdwButtonContent">
<property name="icon-name">paper-plane-symbolic</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkButton" id="stop_button">
<signal name="clicked" handler="stop_message"/>
<property name="vexpand">false</property>
<property name="valign">3</property>
<property name="visible">false</property>
<style>
<class name="destructive-action"/>
<class name="circular"/>
</style>
<child>
<object class="AdwButtonContent">
<property name="icon-name">media-playback-stop-symbolic</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object><!--END OF CONTENT-->
</property>
</object>
</child>
</object><!--END OF CONTENT-->
</property>
</object>
</child>
</object>
</property>
<object class="AdwDialog" id="pull_model_dialog">
<property name="can-close">false</property>
<object class="AdwPreferencesDialog" id="preferences_dialog">
<property name="can-close">true</property>
<property name="width-request">400</property>
<property name="height-request">600</property>
<property name="title" translatable="yes">Preferences</property>
<child>
<object class="AdwToolbarView">
<object class="AdwPreferencesPage" id="general_page">
<property name="title" translatable="yes">General</property>
<property name="icon-name">preferences-system-symbolic</property>
<child>
<object class="AdwStatusPage" id="pull_model_status_page">
<property name="hexpand">true</property>
<property name="vexpand">true</property>
<property name="margin-top">24</property>
<property name="margin-bottom">24</property>
<property name="margin-start">24</property>
<property name="margin-end">24</property>
<property name="title" translatable="yes">Pulling Model</property>
<object class="AdwPreferencesGroup">
<property name="title" translatable="yes">Remote Connection</property>
<property name="description" translatable="yes">Manage a remote connection to Ollama</property>
<child>
<object class="GtkProgressBar" id="pull_model_progress_bar">
<property name="show-text">true</property>
<object class="AdwSwitchRow" id="remote_connection_switch">
<property name="title" translatable="yes">Use remote connection</property>
</object>
</child>
<child>
<object class="AdwEntryRow" id="remote_connection_entry">
<signal name="apply" handler="change_remote_url"/>
<property name="title" translatable="yes">URL of remote instance</property>
<property name="show-apply-button">true</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="yes">Behavior</property>
<property name="description" translatable="yes">Manage Alpaca's Behavior</property>
<child>
<object class="AdwSwitchRow" id="background_switch">
<property name="title" translatable="yes">Run in background</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesPage" id="model_page">
<property name="title" translatable="yes">Advanced Model Settings</property>
<property name="icon-name">preferences-other-symbolic</property>
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="yes">Model Tweaks</property>
<property name="description" translatable="yes">Manage the behavior of the AI models</property>
<child>
<object class="AdwSpinRow" id="temperature_spin">
<signal name="changed" handler="model_spin_changed"/>
<property name="name">temperature</property>
<property name="title" translatable="yes">Temperature</property>
<property name="subtitle" translatable="yes">The temperature of the model. Increasing the temperature will make the model answer more creatively. (Default: 0.8)</property>
<property name="digits">1</property>
<property name="adjustment">
<object class="GtkAdjustment">
<property name="lower">0</property>
<property name="upper">1</property>
<property name="step-increment">0.1</property>
</object>
</property>
</object>
</child>
<child>
<object class="AdwSpinRow" id="seed_spin">
<signal name="changed" handler="model_spin_changed"/>
<property name="name">seed</property>
<property name="title" translatable="yes">Seed</property>
<property name="subtitle" translatable="yes">Sets the random number seed to use for generation. Setting this to a specific number will make the model generate the same text for the same prompt. (Default: 0 (random))</property>
<property name="adjustment">
<object class="GtkAdjustment">
<property name="lower">0</property>
<property name="upper">999999</property>
<property name="step-increment">1</property>
</object>
</property>
</object>
</child>
<child>
<object class="AdwSpinRow" id="keep_alive_spin">
<signal name="changed" handler="model_spin_changed"/>
<property name="name">keep_alive</property>
<property name="title" translatable="yes">Keep Alive Time</property>
<property name="subtitle" translatable="yes">Controls how long the model will stay loaded into memory following the request in minutes (default: 5)</property>
<property name="adjustment">
<object class="GtkAdjustment">
<property name="lower">-1</property>
<property name="upper">999999</property>
<property name="step-increment">1</property>
</object>
</property>
</object>
</child>
</object>
@@ -142,39 +358,63 @@
</object>
</child>
</object>
<object class="AdwDialog" id="manage_models_dialog">
<property name="can-close">true</property>
<property name="width-request">400</property>
<property name="height-request">600</property>
<child>
<object class="AdwToolbarView">
<child type="top">
<object class="AdwHeaderBar">
<property name="title-widget">
<object class="AdwWindowTitle">
<property name="title">Manage models</property>
</object>
</property>
</object>
</child>
<object class="AdwToastOverlay" id="manage_models_overlay">
<child>
<object class="GtkBox">
<property name="hexpand">true</property>
<property name="vexpand">true</property>
<property name="margin-top">0</property>
<property name="margin-bottom">24</property>
<property name="margin-start">24</property>
<property name="margin-end">24</property>
<object class="AdwToolbarView">
<child type="top">
<object class="AdwHeaderBar">
<property name="title-widget">
<object class="AdwWindowTitle">
<property name="title" translatable="yes">Manage models</property>
</object>
</property>
</object>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="hexpand">true</property>
<property name="vexpand">true</property>
<child>
<object class="GtkListBox" id="model_list_box">
<property name="selection-mode">none</property>
<style>
<class name="boxed-list"/>
</style>
<object class="GtkBox">
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">12</property>
<property name="margin-bottom">12</property>
<property name="orientation">1</property>
<property name="spacing">12</property>
<child>
<object class="GtkListBox" id="pulling_model_list_box">
<property name="visible">false</property>
<property name="selection-mode">none</property>
<style>
<class name="boxed-list"/>
<class name="card"/>
</style>
</object>
</child>
<child>
<object class="GtkListBox" id="local_model_list_box">
<property name="selection-mode">none</property>
<style>
<class name="boxed-list"/>
<class name="card"/>
</style>
</object>
</child>
<child>
<object class="GtkListBox" id="available_model_list_box">
<property name="selection-mode">none</property>
<style>
<class name="boxed-list"/>
</style>
</object>
</child>
</object>
</child>
</object>
@@ -184,16 +424,13 @@
</object>
</child>
</object>
<object class="AdwDialog" id="connection_dialog">
<object class="AdwDialog" id="welcome_dialog">
<property name="can-close">false</property>
<property name="width-request">450</property>
<property name="height-request">450</property>
<child>
<object class="AdwToolbarView">
<child type="top">
<object class="AdwHeaderBar">
</object>
</child>
<child type="bottom">
<object class="GtkActionBar">
<property name="hexpand">true</property>
@@ -201,7 +438,8 @@
<property name="margin-end">5</property>
<property name="margin-bottom">5</property>
<child type="start">
<object class="GtkButton" id="connection_previous_button">
<object class="GtkButton" id="welcome_previous_button">
<signal name="clicked" handler="welcome_previous_button_activate"/>
<property name="tooltip-text" translatable="yes">Previous</property>
<property name="label">Previous</property>
<property name="sensitive">false</property>
@@ -212,11 +450,12 @@
</child>
<child type="center">
<object class="AdwCarouselIndicatorDots">
<property name="carousel">connection_carousel</property>
<property name="carousel">welcome_carousel</property>
</object>
</child>
<child type="end">
<object class="GtkButton" id="connection_next_button">
<object class="GtkButton" id="welcome_next_button">
<signal name="clicked" handler="welcome_next_button_activate"/>
<property name="tooltip-text" translatable="yes">Next</property>
<property name="label">Next</property>
<style>
@@ -225,10 +464,11 @@
</object>
</child>
</object>
</child>
<child>
<object class="AdwCarousel" id="connection_carousel">
<object class="AdwCarousel" id="welcome_carousel">
<signal name="page-changed" handler="welcome_carousel_page_changed"/>
<property name="hexpand">true</property>
<property name="vexpand">true</property>
<property name="allow-long-swipes">true</property>
@@ -244,10 +484,10 @@
<property name="margin-end">12</property>
<property name="icon-name">com.jeffser.Alpaca</property>
<property name="title" translatable="yes">Welcome to Alpaca</property>
<property name="description" translatable="yes">To get started, please ensure you have an Ollama instance set up. You can either run Ollama locally on your machine or connect to a remote instance.</property>
<property name="description" translatable="yes">Powered by Ollama</property>
<child>
<object class="GtkLinkButton">
<property name="label" translatable="true">Ollama Website</property>
<property name="label" translatable="yes">Ollama Website</property>
<property name="uri">https://ollama.com/</property>
<property name="margin-top">12</property>
</object>
@@ -275,12 +515,82 @@
<property name="margin-bottom">12</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="icon-name">preferences-other-symbolic</property>
<property name="title" translatable="yes">Setup</property>
<property name="description" translatable="yes">If you are running an Ollama instance locally and haven't modified the default ports, you can use the default URL. Otherwise, please enter the URL of your Ollama instance.</property>
<property name="title" translatable="yes">Featured Models</property>
<property name="description" translatable="yes">Alpaca works locally on your device, to start chatting you'll need an AI model, you can either pull models from this list or the 'Manage Models' menu later.</property>
<child>
<object class="GtkEntry" id="connection_url_entry">
<property name="text">http://localhost:11434</property>
<object class="GtkListBox">
<property name="selection-mode">none</property>
<style>
<class name="boxed-list"/>
</style>
<child>
<object class="AdwActionRow">
<property name="title" translatable="no">Llama3</property>
<property name="subtitle" translatable="yes">Built by Meta</property>
<child type="suffix">
<object class="GtkButton">
<signal name="clicked" handler="pull_featured_model"/>
<property name="vexpand">false</property>
<property name="icon-name">folder-download-symbolic</property>
<property name="valign">3</property>
<style>
<class name="accent"/>
</style>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="title" translatable="no">Gemma</property>
<property name="subtitle" translatable="yes">Built by Google DeepMind</property>
<child type="suffix">
<object class="GtkButton">
<signal name="clicked" handler="pull_featured_model"/>
<property name="vexpand">false</property>
<property name="icon-name">folder-download-symbolic</property>
<property name="valign">3</property>
<style>
<class name="accent"/>
</style>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="title" translatable="no">Phi3</property>
<property name="subtitle" translatable="yes">Built by Microsoft</property>
<child type="suffix">
<object class="GtkButton">
<signal name="clicked" handler="pull_featured_model"/>
<property name="vexpand">false</property>
<property name="icon-name">folder-download-symbolic</property>
<property name="valign">3</property>
<style>
<class name="accent"/>
</style>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="title" translatable="no">Llava</property>
<property name="subtitle" translatable="yes">Multimodal AI with image recognition</property>
<child type="suffix">
<object class="GtkButton">
<signal name="clicked" handler="pull_featured_model"/>
<property name="vexpand">false</property>
<property name="icon-name">folder-download-symbolic</property>
<property name="valign">3</property>
<style>
<class name="accent"/>
</style>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
@@ -290,21 +600,125 @@
</object>
</child>
</object>
</template>
<menu id="primary_menu">
<section>
<item>
<attribute name="label" translatable="yes">_Clear Conversation</attribute>
<attribute name="label" translatable="yes">Clear Chat</attribute>
<attribute name="action">app.clear</attribute>
</item>
<item>
<attribute name="label" translatable="yes">_Change Server</attribute>
<attribute name="action">app.reconnect</attribute>
<attribute name="label" translatable="yes">Preferences</attribute>
<attribute name="action">app.preferences</attribute>
</item>
<item>
<attribute name="label" translatable="yes">_About Alpaca</attribute>
<attribute name="label" translatable="yes">Keyboard Shortcuts</attribute>
<attribute name="action">win.show-help-overlay</attribute>
</item>
<item>
<attribute name="label" translatable="yes">About Alpaca</attribute>
<attribute name="action">app.about</attribute>
</item>
</section>
</menu>
<menu id="chats_button_menu">
<section>
<item>
<attribute name="label" translatable="yes">Export current chat</attribute>
<attribute name="action">app.export_current_chat</attribute>
</item>
<item>
<attribute name="label" translatable="yes">Import chat</attribute>
<attribute name="action">app.import_chat</attribute>
</item>
</section>
</menu>
<object class="GtkFileFilter" id="file_filter_image">
<mime-types>
<mime-type>image/svg+xml</mime-type>
<mime-type>image/png</mime-type>
<mime-type>image/jpeg</mime-type>
<mime-type>image/webp</mime-type>
<mime-type>image/gif</mime-type>
</mime-types>
</object>
<object class="GtkFileFilter" id="file_filter_json">
<mime-types>
<mime-type>application/json</mime-type>
</mime-types>
</object>
<object class="GtkShortcutsWindow" id="shortcut_window">
<property name="modal">1</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">General</property>
<child>
<object class="GtkShortcutsShortcut">
<property name="accelerator">&lt;ctrl&gt;Q</property>
<property name="title" translatable="yes">Close application</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="accelerator">&lt;ctrl&gt;E</property>
<property name="title" translatable="yes">Clear chat</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="accelerator">&lt;ctrl&gt;P</property>
<property name="title" translatable="yes">Preferences</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="accelerator">&lt;ctrl&gt;N</property>
<property name="title" translatable="yes">New Chat</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="accelerator">&lt;ctrl&gt;slash</property>
<property name="title" translatable="yes">Show shortcuts window</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkShortcutsGroup">
<property name="title" translatable="yes">Editor</property>
<child>
<object class="GtkShortcutsShortcut">
<property name="accelerator">&lt;ctrl&gt;C</property>
<property name="title" translatable="yes">Copy</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="accelerator">&lt;ctrl&gt;V</property>
<property name="title" translatable="yes">Paste</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="accelerator">&lt;shift&gt;Return</property>
<property name="title" translatable="yes">Insert new line</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="accelerator">Return</property>
<property name="title" translatable="yes">Send Message</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</interface>

12
update_translation_files.sh Executable file
View File

@@ -0,0 +1,12 @@
#!/usr/bin/env bash
cd "$(dirname "$0")"
echo "Preparing template..."
xgettext --output=po/alpaca.pot --files-from=po/POTFILES
echo "Updating Spanish..."
msgmerge -U po/es.po po/alpaca.pot
#echo "Updating Russian..."
#msgmerge -U po/ru.po po/alpaca.pot
echo "Updating French"
msgmerge -U po/fr.po po/alpaca.pot
echo "Updating Brazilian Portuguese"
msgmerge -U po/pt_BR.po po/alpaca.pot