18 Commits
0.6.0 ... 0.7.0

Author SHA1 Message Date
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
13 changed files with 1012 additions and 1139 deletions

View File

@@ -35,6 +35,9 @@ Login to Ollama instance | Chatting with models | Managing
:-------------------------:|:-------------------------:|:-------------------------:
![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)
## Thanks
So, apparently there's people who like something I did, that's cool. I mean really, this is the first big project I've made and there's still a lot of stuff I want to add, I wanted to thank all of you that have reported issues and enhancements to the app, I appreciate it a lot.
## Preview
1. Clone repo using Gnome Builder
2. Press the `run` button
@@ -44,11 +47,5 @@ Login to Ollama instance | Chatting with models | Managing
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.
## 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

@@ -51,6 +51,19 @@
<url type="homepage">https://github.com/Jeffser/Alpaca</url>
<url type="donation">https://github.com/sponsors/Jeffser</url>
<releases>
<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>

View File

@@ -1,5 +1,5 @@
project('Alpaca',
version: '0.6.0',
version: '0.7.0',
meson_version: '>= 0.62.0',
default_options: [ 'warning_level=2', 'werror=false', ],
)

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-05-21 23:20-0600\n"
"POT-Creation-Date: 2024-05-22 19:52-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"
@@ -31,21 +31,21 @@ msgid "An Ollama client"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:11
#: data/com.jeffser.Alpaca.metainfo.xml.in:226
#: data/com.jeffser.Alpaca.metainfo.xml.in:239
msgid "Features"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:13
#: data/com.jeffser.Alpaca.metainfo.xml.in:228
#: data/com.jeffser.Alpaca.metainfo.xml.in:241
msgid "Talk to multiple models in the same conversation"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:14
#: data/com.jeffser.Alpaca.metainfo.xml.in:229
#: data/com.jeffser.Alpaca.metainfo.xml.in:242
msgid "Pull and delete models from the app"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:16 src/window.ui:446
#: data/com.jeffser.Alpaca.metainfo.xml.in:16 src/window.ui:442
msgid "Disclaimer"
msgstr ""
@@ -73,595 +73,619 @@ msgid "Managing models"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:57
msgid "Huge Update"
msgid "Cool Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:59
msgid "Added Ollama as part of Alpaca, Ollama will run in a sandbox"
msgid "Better design for chat window"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:60
msgid "Added option to connect to remote instances (how it worked before)"
msgid "Better design for chat sidebar"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:61
msgid "Added option to import and export chats"
msgid "Fixed remote connections"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:62
msgid "Added option to run Alpaca with Ollama in the background"
msgid "Fixed Ollama restarting in loop"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:63
msgid "Added preferences dialog"
msgid "Other cool backend stuff"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:64
msgid "Changed the welcome dialog"
#: data/com.jeffser.Alpaca.metainfo.xml.in:70
msgid "Huge Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:66
#: data/com.jeffser.Alpaca.metainfo.xml.in:83
#: data/com.jeffser.Alpaca.metainfo.xml.in:95
#: data/com.jeffser.Alpaca.metainfo.xml.in:114
#: data/com.jeffser.Alpaca.metainfo.xml.in:135
#: data/com.jeffser.Alpaca.metainfo.xml.in:151
#: data/com.jeffser.Alpaca.metainfo.xml.in:167
#: data/com.jeffser.Alpaca.metainfo.xml.in:181
#: data/com.jeffser.Alpaca.metainfo.xml.in:191
#: data/com.jeffser.Alpaca.metainfo.xml.in:209
#: data/com.jeffser.Alpaca.metainfo.xml.in:231
msgid "Please report any errors to the issues page, thank you."
#: data/com.jeffser.Alpaca.metainfo.xml.in:72
msgid "Added Ollama as part of Alpaca, Ollama will run in a sandbox"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:73
msgid "Added option to connect to remote instances (how it worked before)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:74
msgid "Yet Another Daily Update"
msgid "Added option to import and export chats"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:75
msgid "Added option to run Alpaca with Ollama in the background"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:76
msgid "Added better UI for 'Manage Models' dialog"
msgid "Added preferences dialog"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:77
msgid "Changed the welcome dialog"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:79
#: data/com.jeffser.Alpaca.metainfo.xml.in:96
#: data/com.jeffser.Alpaca.metainfo.xml.in:108
#: data/com.jeffser.Alpaca.metainfo.xml.in:127
#: data/com.jeffser.Alpaca.metainfo.xml.in:148
#: data/com.jeffser.Alpaca.metainfo.xml.in:164
#: data/com.jeffser.Alpaca.metainfo.xml.in:180
#: data/com.jeffser.Alpaca.metainfo.xml.in:194
#: data/com.jeffser.Alpaca.metainfo.xml.in:204
#: data/com.jeffser.Alpaca.metainfo.xml.in:222
#: data/com.jeffser.Alpaca.metainfo.xml.in:244
msgid "Please report any errors to the issues page, thank you."
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:87
msgid "Yet Another Daily Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:89
msgid "Added better UI for 'Manage Models' dialog"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:90
msgid "Added better UI for the chat sidebar"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:78
#: data/com.jeffser.Alpaca.metainfo.xml.in:91
msgid ""
"Replaced model description with a button to open Ollama's website for the "
"model"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:79
#: data/com.jeffser.Alpaca.metainfo.xml.in:92
msgid "Added myself to the credits as the spanish translator"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:80
#: data/com.jeffser.Alpaca.metainfo.xml.in:93
msgid "Using XDG properly to get config folder"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:81
#: data/com.jeffser.Alpaca.metainfo.xml.in:94
msgid "Update for translations"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:91
#: data/com.jeffser.Alpaca.metainfo.xml.in:104
msgid "Quick Fix"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:93
#: data/com.jeffser.Alpaca.metainfo.xml.in:106
msgid "The last update had some mistakes in the description of the update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:103
#: data/com.jeffser.Alpaca.metainfo.xml.in:116
msgid "Another Daily Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:105
#: data/com.jeffser.Alpaca.metainfo.xml.in:118
msgid "Added full Spanish translation"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:106
#: data/com.jeffser.Alpaca.metainfo.xml.in:119
msgid "Added support for background pulling of multiple models"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:107
#: data/com.jeffser.Alpaca.metainfo.xml.in:120
msgid "Added interrupt button"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:108
#: data/com.jeffser.Alpaca.metainfo.xml.in:121
msgid "Added basic shortcuts"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:109
#: data/com.jeffser.Alpaca.metainfo.xml.in:122
msgid "Better translation support"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:110
#: data/com.jeffser.Alpaca.metainfo.xml.in:123
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:111
#: data/com.jeffser.Alpaca.metainfo.xml.in:124
msgid "Better scalling for different window sizes"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:112
#: data/com.jeffser.Alpaca.metainfo.xml.in:125
msgid "Fixed: Can't close app if first time setup fails"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:122
#: data/com.jeffser.Alpaca.metainfo.xml.in:135
msgid "Really Big Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:124
#: data/com.jeffser.Alpaca.metainfo.xml.in:137
msgid "Added multiple chats support!"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:125
#: data/com.jeffser.Alpaca.metainfo.xml.in:138
msgid "Added Pango Markup support (bold, list, title, subtitle, monospace)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:126
#: data/com.jeffser.Alpaca.metainfo.xml.in:139
msgid "Added autoscroll if the user is at the bottom of the chat"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:127
#: data/com.jeffser.Alpaca.metainfo.xml.in:140
msgid "Added support for multiple tags on a single model"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:128
#: data/com.jeffser.Alpaca.metainfo.xml.in:141
msgid "Added better model management dialog"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:129
#: data/com.jeffser.Alpaca.metainfo.xml.in:142
msgid "Added loading spinner when sending message"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:130
#: data/com.jeffser.Alpaca.metainfo.xml.in:143
msgid "Added notifications if app is not active and a model pull finishes"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:131
#: data/com.jeffser.Alpaca.metainfo.xml.in:144
msgid "Added new symbolic icon"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:132
#: data/com.jeffser.Alpaca.metainfo.xml.in:145
msgid "Added frame to message textview widget"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:133
#: data/com.jeffser.Alpaca.metainfo.xml.in:146
msgid "Fixed \"code blocks shouldn't be editable\""
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:143
#: data/com.jeffser.Alpaca.metainfo.xml.in:200
#: data/com.jeffser.Alpaca.metainfo.xml.in:156
#: data/com.jeffser.Alpaca.metainfo.xml.in:213
msgid "Big Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:145
#: data/com.jeffser.Alpaca.metainfo.xml.in:158
msgid "Added code highlighting"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:146
#: data/com.jeffser.Alpaca.metainfo.xml.in:159
msgid "Added image recognition (llava model)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:147
#: data/com.jeffser.Alpaca.metainfo.xml.in:160
msgid "Added multiline prompt"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:148
#: data/com.jeffser.Alpaca.metainfo.xml.in:161
msgid "Fixed some small bugs"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:149
#: data/com.jeffser.Alpaca.metainfo.xml.in:162
msgid "General optimization"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:159
#: data/com.jeffser.Alpaca.metainfo.xml.in:172
msgid "Fixes and features"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:161
#: data/com.jeffser.Alpaca.metainfo.xml.in:174
msgid "Russian translation (thanks github/alexkdeveloper)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:162
#: data/com.jeffser.Alpaca.metainfo.xml.in:175
msgid "Fixed: Cannot close app on first setup"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:163
#: data/com.jeffser.Alpaca.metainfo.xml.in:176
msgid "Fixed: Brand colors for Flathub"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:164
#: data/com.jeffser.Alpaca.metainfo.xml.in:177
msgid "Fixed: App description"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:165
#: data/com.jeffser.Alpaca.metainfo.xml.in:178
msgid "Fixed: Only show 'save changes dialog' when you actually change the url"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:175
#: data/com.jeffser.Alpaca.metainfo.xml.in:188
msgid "0.2.2 Bug fixes"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:177
#: data/com.jeffser.Alpaca.metainfo.xml.in:190
msgid "Toast messages appearing behind dialogs"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:178
#: data/com.jeffser.Alpaca.metainfo.xml.in:191
msgid "Local model list not updating when changing servers"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:179
#: data/com.jeffser.Alpaca.metainfo.xml.in:192
msgid "Closing the setup dialog closes the whole app"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:189
#: data/com.jeffser.Alpaca.metainfo.xml.in:202
msgid "0.2.1 Data saving fix"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:190
#: data/com.jeffser.Alpaca.metainfo.xml.in:203
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:199
#: data/com.jeffser.Alpaca.metainfo.xml.in:212
msgid "0.2.0"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:201
#: data/com.jeffser.Alpaca.metainfo.xml.in:214
msgid "New Features"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:203
#: data/com.jeffser.Alpaca.metainfo.xml.in:216
msgid "Restore chat after closing the app"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:204
#: data/com.jeffser.Alpaca.metainfo.xml.in:217
msgid "A button to clear the chat"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:205
#: data/com.jeffser.Alpaca.metainfo.xml.in:218
msgid "Fixed multiple bugs involving how messages are shown"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:206
#: data/com.jeffser.Alpaca.metainfo.xml.in:219
msgid "Added welcome dialog"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:207
#: data/com.jeffser.Alpaca.metainfo.xml.in:220
msgid "More stability"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:217
#: data/com.jeffser.Alpaca.metainfo.xml.in:230
msgid "0.1.2 Quick fixes"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:218
#: data/com.jeffser.Alpaca.metainfo.xml.in:231
msgid ""
"This release fixes some metadata needed to have a proper Flatpak application"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:224
#: data/com.jeffser.Alpaca.metainfo.xml.in:237
msgid "0.1.1 Stable Release"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:225
#: data/com.jeffser.Alpaca.metainfo.xml.in:238
msgid "This is the first public version of Alpaca"
msgstr ""
#: src/window.py:54 src/window.py:761
#: src/window.py:56 src/window.py:780
msgid "New Chat"
msgstr ""
#: src/window.py:100
#: src/window.py:102
msgid "An error occurred"
msgstr ""
#: src/window.py:101
#: src/window.py:103
msgid "Failed to connect to server"
msgstr ""
#: src/window.py:102
#: src/window.py:104
msgid "Could not list local models"
msgstr ""
#: src/window.py:103
#: src/window.py:105
msgid "Could not delete model"
msgstr ""
#: src/window.py:104
#: src/window.py:106
msgid "Could not pull model"
msgstr ""
#: src/window.py:105
#: src/window.py:107
msgid "Cannot open image"
msgstr ""
#: src/window.py:106
#: src/window.py:108
msgid "Cannot delete chat because it's the only one left"
msgstr ""
#: src/window.py:107
#: src/window.py:109
msgid "There was an error with the local Ollama instance, so it has been reset"
msgstr ""
#: src/window.py:110
#: src/window.py:112
msgid "Please select a model before chatting"
msgstr ""
#: src/window.py:111
#: src/window.py:113
msgid "Chat cannot be cleared while receiving a message"
msgstr ""
#: src/window.py:112
#: src/window.py:114
msgid "That tag is already being pulled"
msgstr ""
#: src/window.py:113
#: src/window.py:115
msgid "That tag has been pulled alreay"
msgstr ""
#: src/window.py:116
#: src/window.py:118
msgid "Model deleted successfully"
msgstr ""
#: src/window.py:117
#: src/window.py:119
msgid "Model pulled successfully"
msgstr ""
#: src/window.py:118
#: src/window.py:120
msgid "Chat exported successfully"
msgstr ""
#: src/window.py:119
#: src/window.py:121
msgid "Chat imported successfully"
msgstr ""
#: src/window.py:451
#: src/window.py:471
msgid "Task Complete"
msgstr ""
#: src/window.py:451
#: src/window.py:471
msgid "Model '{}' pulled successfully."
msgstr ""
#: src/window.py:456
#: src/window.py:476
msgid "Pull Model Error"
msgstr ""
#: src/window.py:456
#: src/window.py:476
msgid "Failed to pull model '{}' due to network error."
msgstr ""
#: src/window.py:472
#: src/window.py:492
msgid "Stop Model"
msgstr ""
#: src/window.py:473
#: src/window.py:493
msgid "Are you sure you want to stop pulling '{}'?"
msgstr ""
#: src/window.py:476 src/window.py:519 src/window.py:542 src/window.py:615
#: src/window.py:688 src/window.py:715 src/window.py:748 src/window.py:788
#: src/window.py:496 src/window.py:539 src/window.py:562 src/window.py:635
#: src/window.py:708 src/window.py:734 src/window.py:766 src/window.py:807
msgid "Cancel"
msgstr ""
#: src/window.py:477
#: src/window.py:497
msgid "Stop"
msgstr ""
#: src/window.py:515
#: src/window.py:535
msgid "Delete Model"
msgstr ""
#: src/window.py:516 src/window.py:712
#: src/window.py:536 src/window.py:731
msgid "Are you sure you want to delete '{}'?"
msgstr ""
#: src/window.py:520 src/window.py:716
#: src/window.py:540 src/window.py:735
msgid "Delete"
msgstr ""
#: src/window.py:537
#: src/window.py:557
msgid "Pull Model"
msgstr ""
#: src/window.py:538
#: src/window.py:558
msgid "Please select a tag to pull '{}'"
msgstr ""
#: src/window.py:543
#: src/window.py:563
msgid "Pull"
msgstr ""
#: src/window.py:611 src/window.ui:462
#: src/window.py:631 src/window.ui:458
msgid "Clear Chat"
msgstr ""
#: src/window.py:612
#: src/window.py:632
msgid "Are you sure you want to clear the chat?"
msgstr ""
#: src/window.py:616
#: src/window.py:636
msgid "Clear"
msgstr ""
#: src/window.py:684
#: src/window.py:704
msgid "Remove Image"
msgstr ""
#: src/window.py:685
#: src/window.py:705
msgid "Are you sure you want to remove image?"
msgstr ""
#: src/window.py:689
#: src/window.py:709 src/window.ui:478
msgid "Remove"
msgstr ""
#: src/window.py:711
#: src/window.py:730
msgid "Delete Chat"
msgstr ""
#: src/window.py:742
#: src/window.py:760
msgid "Rename Chat"
msgstr ""
#: src/window.py:749
#: src/window.py:767
msgid "Rename"
msgstr ""
#: src/window.py:769
#: src/window.py:788
msgid "The name '{}' is already in use"
msgstr ""
#: src/window.py:782
#: src/window.py:801
msgid "Create Chat"
msgstr ""
#: src/window.py:789
#: src/window.py:808
msgid "Create"
msgstr ""
#: src/window.ui:46
#: src/window.ui:45
msgid "Chats"
msgstr ""
#: src/window.ui:56
#: src/window.ui:55
msgid "Import chat"
msgstr ""
#: src/window.ui:69
#: src/window.ui:68
msgid "Export chat"
msgstr ""
#: src/window.ui:82
#: src/window.ui:81
msgid "New chat"
msgstr ""
#: src/window.ui:118
#: src/window.ui:117
msgid "Toggle Sidebar"
msgstr ""
#: src/window.ui:139 src/window.ui:315
#: src/window.ui:138 src/window.ui:311
msgid "Manage models"
msgstr ""
#: src/window.ui:153
#: src/window.ui:152
msgid "Menu"
msgstr ""
#: src/window.ui:231
#: src/window.ui:227
msgid "Send"
msgstr ""
#: src/window.ui:240
#: src/window.ui:236
msgid "Requires model 'llava' to be selected"
msgstr ""
#: src/window.ui:243
#: src/window.ui:239
msgid "Image"
msgstr ""
#: src/window.ui:266 src/window.ui:466 src/window.ui:517
#: src/window.ui:262 src/window.ui:462 src/window.ui:520
msgid "Preferences"
msgstr ""
#: src/window.ui:269 src/window.ui:501
#: src/window.ui:265 src/window.ui:504
msgid "General"
msgstr ""
#: src/window.ui:273
#: src/window.ui:269
msgid "Remote Connection"
msgstr ""
#: src/window.ui:274
#: src/window.ui:270
msgid "Manage a remote connection to Ollama"
msgstr ""
#: src/window.ui:277
#: src/window.ui:273
msgid "Use remote connection"
msgstr ""
#: src/window.ui:282
#: src/window.ui:278
msgid "URL of remote instance"
msgstr ""
#: src/window.ui:290
#: src/window.ui:286
msgid "Behavior"
msgstr ""
#: src/window.ui:291
#: src/window.ui:287
msgid "Manage Alpaca's Behavior"
msgstr ""
#: src/window.ui:294
#: src/window.ui:290
msgid "Run in background"
msgstr ""
#: src/window.ui:385
#: src/window.ui:381
msgid "Previous"
msgstr ""
#: src/window.ui:400
#: src/window.ui:396
msgid "Next"
msgstr ""
#: src/window.ui:426
#: src/window.ui:422
msgid "Welcome to Alpaca"
msgstr ""
#: src/window.ui:427
#: src/window.ui:423
msgid "Powered by Ollama"
msgstr ""
#: src/window.ui:430
#: src/window.ui:426
msgid "Ollama Website"
msgstr ""
#: src/window.ui:447
#: src/window.ui:443
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:470
#: src/window.ui:466
msgid "Keyboard Shortcuts"
msgstr ""
#: src/window.ui:474
#: src/window.ui:470
msgid "About Alpaca"
msgstr ""
#: src/window.ui:505
#: src/window.ui:508
msgid "Close application"
msgstr ""
#: src/window.ui:511
#: src/window.ui:514
msgid "Clear chat"
msgstr ""
#: src/window.ui:523
#: src/window.ui:526
msgid "Show shortcuts window"
msgstr ""
#: src/window.ui:530
#: src/window.ui:533
msgid "Editor"
msgstr ""
#: src/window.ui:534
#: src/window.ui:537
msgid "Copy"
msgstr ""
#: src/window.ui:540
#: src/window.ui:543
msgid "Paste"
msgstr ""
#: src/window.ui:546
#: src/window.ui:549
msgid "Send Message"
msgstr ""

350
po/es.po
View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-05-21 23:20-0600\n"
"POT-Creation-Date: 2024-05-22 19:52-0600\n"
"PO-Revision-Date: 2024-05-19 19:44-0600\n"
"Last-Translator: Jeffry Samuel Eduarte Rojas <jeffrysamuer@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
@@ -31,21 +31,21 @@ msgid "An Ollama client"
msgstr "Un cliente de Ollama"
#: data/com.jeffser.Alpaca.metainfo.xml.in:11
#: data/com.jeffser.Alpaca.metainfo.xml.in:226
#: data/com.jeffser.Alpaca.metainfo.xml.in:239
msgid "Features"
msgstr "Funcionalidades"
#: data/com.jeffser.Alpaca.metainfo.xml.in:13
#: data/com.jeffser.Alpaca.metainfo.xml.in:228
#: data/com.jeffser.Alpaca.metainfo.xml.in:241
msgid "Talk to multiple models in the same conversation"
msgstr "Habla con multiples modelos en la misma conversación"
#: data/com.jeffser.Alpaca.metainfo.xml.in:14
#: data/com.jeffser.Alpaca.metainfo.xml.in:229
#: data/com.jeffser.Alpaca.metainfo.xml.in:242
msgid "Pull and delete models from the app"
msgstr "Descarga y elimina modelos desde la app"
#: data/com.jeffser.Alpaca.metainfo.xml.in:16 src/window.ui:446
#: data/com.jeffser.Alpaca.metainfo.xml.in:16 src/window.ui:442
msgid "Disclaimer"
msgstr "Aviso Legal"
@@ -77,65 +77,93 @@ msgstr "Gestionando modelos"
#: data/com.jeffser.Alpaca.metainfo.xml.in:57
#, fuzzy
msgid "Cool Update"
msgstr "Actualización Potente"
#: data/com.jeffser.Alpaca.metainfo.xml.in:59
#, fuzzy
msgid "Better design for chat window"
msgstr "Mejor diseño para la ventana de chat"
#: data/com.jeffser.Alpaca.metainfo.xml.in:60
#, fuzzy
msgid "Better design for chat sidebar"
msgstr "Mejor interfaz para la barra de lado de chat"
#: data/com.jeffser.Alpaca.metainfo.xml.in:61
#, fuzzy
msgid "Fixed remote connections"
msgstr "Conexión remota arreglada"
#: data/com.jeffser.Alpaca.metainfo.xml.in:62
msgid "Fixed Ollama restarting in loop"
msgstr "Arreglado, Ollama reiniciandose en bucle"
#: data/com.jeffser.Alpaca.metainfo.xml.in:63
msgid "Other cool backend stuff"
msgstr "Otras cosas geniales en el backend"
#: data/com.jeffser.Alpaca.metainfo.xml.in:70
#, fuzzy
msgid "Huge Update"
msgstr "Gran Actualización"
#: data/com.jeffser.Alpaca.metainfo.xml.in:59
#: data/com.jeffser.Alpaca.metainfo.xml.in:72
msgid "Added Ollama as part of Alpaca, Ollama will run in a sandbox"
msgstr "Añadido Ollama como parte de Alpaca, Ollama se ejecutara en un sandbox"
#: data/com.jeffser.Alpaca.metainfo.xml.in:60
#: data/com.jeffser.Alpaca.metainfo.xml.in:73
msgid "Added option to connect to remote instances (how it worked before)"
msgstr "Añadida la opcion de conectarse a instancias remotas (como funcionaba) "
"antes"
msgstr ""
"Añadida la opcion de conectarse a instancias remotas (como funcionaba) antes"
#: data/com.jeffser.Alpaca.metainfo.xml.in:61
#: data/com.jeffser.Alpaca.metainfo.xml.in:74
msgid "Added option to import and export chats"
msgstr "Añadida la opcion de importar y exportar chats"
#: data/com.jeffser.Alpaca.metainfo.xml.in:62
#: data/com.jeffser.Alpaca.metainfo.xml.in:75
msgid "Added option to run Alpaca with Ollama in the background"
msgstr "Añadida la opcion de ejecutar Alpaca y Ollama en el fondo"
#: data/com.jeffser.Alpaca.metainfo.xml.in:63
#: data/com.jeffser.Alpaca.metainfo.xml.in:76
#, fuzzy
msgid "Added preferences dialog"
msgstr "Añadido dialogo de preferencias"
#: data/com.jeffser.Alpaca.metainfo.xml.in:64
#: data/com.jeffser.Alpaca.metainfo.xml.in:77
#, fuzzy
msgid "Changed the welcome dialog"
msgstr "Nuevo dialogo de bienvenida"
#: data/com.jeffser.Alpaca.metainfo.xml.in:66
#: data/com.jeffser.Alpaca.metainfo.xml.in:83
#: data/com.jeffser.Alpaca.metainfo.xml.in:95
#: data/com.jeffser.Alpaca.metainfo.xml.in:114
#: data/com.jeffser.Alpaca.metainfo.xml.in:135
#: data/com.jeffser.Alpaca.metainfo.xml.in:151
#: data/com.jeffser.Alpaca.metainfo.xml.in:167
#: data/com.jeffser.Alpaca.metainfo.xml.in:181
#: data/com.jeffser.Alpaca.metainfo.xml.in:191
#: data/com.jeffser.Alpaca.metainfo.xml.in:209
#: data/com.jeffser.Alpaca.metainfo.xml.in:231
#: data/com.jeffser.Alpaca.metainfo.xml.in:79
#: data/com.jeffser.Alpaca.metainfo.xml.in:96
#: data/com.jeffser.Alpaca.metainfo.xml.in:108
#: data/com.jeffser.Alpaca.metainfo.xml.in:127
#: data/com.jeffser.Alpaca.metainfo.xml.in:148
#: data/com.jeffser.Alpaca.metainfo.xml.in:164
#: data/com.jeffser.Alpaca.metainfo.xml.in:180
#: data/com.jeffser.Alpaca.metainfo.xml.in:194
#: data/com.jeffser.Alpaca.metainfo.xml.in:204
#: data/com.jeffser.Alpaca.metainfo.xml.in:222
#: data/com.jeffser.Alpaca.metainfo.xml.in:244
msgid "Please report any errors to the issues page, thank you."
msgstr "Por favor reporta cualquier error a la página de problemas, gracias."
#: data/com.jeffser.Alpaca.metainfo.xml.in:74
#: data/com.jeffser.Alpaca.metainfo.xml.in:87
#, fuzzy
msgid "Yet Another Daily Update"
msgstr "Otra Actulización Diaria"
#: data/com.jeffser.Alpaca.metainfo.xml.in:76
#: data/com.jeffser.Alpaca.metainfo.xml.in:89
#, fuzzy
msgid "Added better UI for 'Manage Models' dialog"
msgstr "Añadida mejor interfaz para el dialogo 'gestión de modelos'"
#: data/com.jeffser.Alpaca.metainfo.xml.in:77
#: data/com.jeffser.Alpaca.metainfo.xml.in:90
msgid "Added better UI for the chat sidebar"
msgstr "Añadida mejor interfaz para la barra de lado de chat"
#: data/com.jeffser.Alpaca.metainfo.xml.in:78
#: data/com.jeffser.Alpaca.metainfo.xml.in:91
msgid ""
"Replaced model description with a button to open Ollama's website for the "
"model"
@@ -143,57 +171,57 @@ msgstr ""
"Remplazada la descripción de modelo por un botón para abrir la página web de "
"Ollama para el modelo"
#: data/com.jeffser.Alpaca.metainfo.xml.in:79
#: data/com.jeffser.Alpaca.metainfo.xml.in:92
msgid "Added myself to the credits as the spanish translator"
msgstr "Agregue mi nombre en los creditos como el traductor a Español"
#: data/com.jeffser.Alpaca.metainfo.xml.in:80
#: data/com.jeffser.Alpaca.metainfo.xml.in:93
msgid "Using XDG properly to get config folder"
msgstr "Usando XDG apropiadamente para obtener el folder de configuración"
#: data/com.jeffser.Alpaca.metainfo.xml.in:81
#: data/com.jeffser.Alpaca.metainfo.xml.in:94
#, fuzzy
msgid "Update for translations"
msgstr "Mejor soporte para traducciones"
#: data/com.jeffser.Alpaca.metainfo.xml.in:91
#: data/com.jeffser.Alpaca.metainfo.xml.in:104
#, fuzzy
msgid "Quick Fix"
msgstr "0.1.2 Arreglos rápidos"
#: data/com.jeffser.Alpaca.metainfo.xml.in:93
#: data/com.jeffser.Alpaca.metainfo.xml.in:106
msgid "The last update had some mistakes in the description of the update"
msgstr ""
"La última actualización tenía unos errores en la descripción de la "
"actualización"
#: data/com.jeffser.Alpaca.metainfo.xml.in:103
#: data/com.jeffser.Alpaca.metainfo.xml.in:116
msgid "Another Daily Update"
msgstr "Otra Actulización Diaria"
#: data/com.jeffser.Alpaca.metainfo.xml.in:105
#: data/com.jeffser.Alpaca.metainfo.xml.in:118
msgid "Added full Spanish translation"
msgstr "Añadida traducción completa a Español"
#: data/com.jeffser.Alpaca.metainfo.xml.in:106
#: data/com.jeffser.Alpaca.metainfo.xml.in:119
#, fuzzy
msgid "Added support for background pulling of multiple models"
msgstr "Añadido soporte para multiples etiquetas con un solo modelo"
#: data/com.jeffser.Alpaca.metainfo.xml.in:107
#: data/com.jeffser.Alpaca.metainfo.xml.in:120
msgid "Added interrupt button"
msgstr "Añadido botón de interrupción"
#: data/com.jeffser.Alpaca.metainfo.xml.in:108
#: data/com.jeffser.Alpaca.metainfo.xml.in:121
#, fuzzy
msgid "Added basic shortcuts"
msgstr "Atajos de Teclado"
#: data/com.jeffser.Alpaca.metainfo.xml.in:109
#: data/com.jeffser.Alpaca.metainfo.xml.in:122
msgid "Better translation support"
msgstr "Mejor soporte para traducciones"
#: data/com.jeffser.Alpaca.metainfo.xml.in:110
#: data/com.jeffser.Alpaca.metainfo.xml.in:123
msgid ""
"User can now leave chat name empty when creating a new one, it will add a "
"placeholder name"
@@ -201,136 +229,136 @@ msgstr ""
"El usuario ahora puede dejar el nombre del chat vacio durante la creación, "
"la aplicación añadira un placeholder"
#: data/com.jeffser.Alpaca.metainfo.xml.in:111
#: data/com.jeffser.Alpaca.metainfo.xml.in:124
msgid "Better scalling for different window sizes"
msgstr "Mejor escalado para distintos tamaños de ventana"
#: data/com.jeffser.Alpaca.metainfo.xml.in:112
#: data/com.jeffser.Alpaca.metainfo.xml.in:125
#, fuzzy
msgid "Fixed: Can't close app if first time setup fails"
msgstr "Arreglado: No se puede cerrar la aplicación en el primer setup"
#: data/com.jeffser.Alpaca.metainfo.xml.in:122
#: data/com.jeffser.Alpaca.metainfo.xml.in:135
msgid "Really Big Update"
msgstr "Actualización Bastante Grande"
#: data/com.jeffser.Alpaca.metainfo.xml.in:124
#: data/com.jeffser.Alpaca.metainfo.xml.in:137
msgid "Added multiple chats support!"
msgstr "Añadido soporte para multiples chats!"
#: data/com.jeffser.Alpaca.metainfo.xml.in:125
#: data/com.jeffser.Alpaca.metainfo.xml.in:138
msgid "Added Pango Markup support (bold, list, title, subtitle, monospace)"
msgstr ""
"Añadido soporte para Pango Markup (negrita, lista, titulo, subtitulo, "
"monoespaciado)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:126
#: data/com.jeffser.Alpaca.metainfo.xml.in:139
msgid "Added autoscroll if the user is at the bottom of the chat"
msgstr ""
"Añadido autoscroll si el usuario se encuentra en la parte inferior del chat"
#: data/com.jeffser.Alpaca.metainfo.xml.in:127
#: data/com.jeffser.Alpaca.metainfo.xml.in:140
msgid "Added support for multiple tags on a single model"
msgstr "Añadido soporte para multiples etiquetas con un solo modelo"
#: data/com.jeffser.Alpaca.metainfo.xml.in:128
#: data/com.jeffser.Alpaca.metainfo.xml.in:141
msgid "Added better model management dialog"
msgstr "Añadido mejor gestión de modelos"
#: data/com.jeffser.Alpaca.metainfo.xml.in:129
#: data/com.jeffser.Alpaca.metainfo.xml.in:142
msgid "Added loading spinner when sending message"
msgstr "Añadido spinner de carga cuando se envia un mensaje"
#: data/com.jeffser.Alpaca.metainfo.xml.in:130
#: data/com.jeffser.Alpaca.metainfo.xml.in:143
msgid "Added notifications if app is not active and a model pull finishes"
msgstr ""
"Añadidas notificaciones si la aplicación no está activa y la descarga de un "
"modelo finaliza"
#: data/com.jeffser.Alpaca.metainfo.xml.in:131
#: data/com.jeffser.Alpaca.metainfo.xml.in:144
msgid "Added new symbolic icon"
msgstr "Añadido nuevo icono simbolico"
#: data/com.jeffser.Alpaca.metainfo.xml.in:132
#: data/com.jeffser.Alpaca.metainfo.xml.in:145
msgid "Added frame to message textview widget"
msgstr "Añadido borde al objeto textview del mensaje"
#: data/com.jeffser.Alpaca.metainfo.xml.in:133
#: data/com.jeffser.Alpaca.metainfo.xml.in:146
msgid "Fixed \"code blocks shouldn't be editable\""
msgstr "Arreglado \"bloques de codigo no deberían de ser editables\""
#: data/com.jeffser.Alpaca.metainfo.xml.in:143
#: data/com.jeffser.Alpaca.metainfo.xml.in:200
#: data/com.jeffser.Alpaca.metainfo.xml.in:156
#: data/com.jeffser.Alpaca.metainfo.xml.in:213
msgid "Big Update"
msgstr "Gran Actualización"
#: data/com.jeffser.Alpaca.metainfo.xml.in:145
#: data/com.jeffser.Alpaca.metainfo.xml.in:158
msgid "Added code highlighting"
msgstr "Añadido resaltado de código"
#: data/com.jeffser.Alpaca.metainfo.xml.in:146
#: data/com.jeffser.Alpaca.metainfo.xml.in:159
msgid "Added image recognition (llava model)"
msgstr "Añadido reconocimiento de imagenes (modelo llava)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:147
#: data/com.jeffser.Alpaca.metainfo.xml.in:160
msgid "Added multiline prompt"
msgstr "Añadido caja de texto de multiples lineas"
#: data/com.jeffser.Alpaca.metainfo.xml.in:148
#: data/com.jeffser.Alpaca.metainfo.xml.in:161
msgid "Fixed some small bugs"
msgstr "Arreglados unos pequeños errores"
#: data/com.jeffser.Alpaca.metainfo.xml.in:149
#: data/com.jeffser.Alpaca.metainfo.xml.in:162
msgid "General optimization"
msgstr "Optimización general"
#: data/com.jeffser.Alpaca.metainfo.xml.in:159
#: data/com.jeffser.Alpaca.metainfo.xml.in:172
msgid "Fixes and features"
msgstr "Arreglos y funcionalidades"
#: data/com.jeffser.Alpaca.metainfo.xml.in:161
#: data/com.jeffser.Alpaca.metainfo.xml.in:174
msgid "Russian translation (thanks github/alexkdeveloper)"
msgstr "Traducción a Ruso (gracias github/alexkdeveloper)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:162
#: data/com.jeffser.Alpaca.metainfo.xml.in:175
msgid "Fixed: Cannot close app on first setup"
msgstr "Arreglado: No se puede cerrar la aplicación en el primer setup"
#: data/com.jeffser.Alpaca.metainfo.xml.in:163
#: data/com.jeffser.Alpaca.metainfo.xml.in:176
msgid "Fixed: Brand colors for Flathub"
msgstr "Arreglado: Colores de marca para Flathub"
#: data/com.jeffser.Alpaca.metainfo.xml.in:164
#: data/com.jeffser.Alpaca.metainfo.xml.in:177
msgid "Fixed: App description"
msgstr "Arreglado: Descripción de aplicación"
#: data/com.jeffser.Alpaca.metainfo.xml.in:165
#: data/com.jeffser.Alpaca.metainfo.xml.in:178
msgid "Fixed: Only show 'save changes dialog' when you actually change the url"
msgstr ""
"Arreglado: Solo mostrar el dialogo 'guardar cambios' cuando se cambia el url"
#: data/com.jeffser.Alpaca.metainfo.xml.in:175
#: data/com.jeffser.Alpaca.metainfo.xml.in:188
msgid "0.2.2 Bug fixes"
msgstr "0.2.2 Arreglo de errores"
#: data/com.jeffser.Alpaca.metainfo.xml.in:177
#: data/com.jeffser.Alpaca.metainfo.xml.in:190
msgid "Toast messages appearing behind dialogs"
msgstr "Mensajes toast apareciendo detrás de dialogos"
#: data/com.jeffser.Alpaca.metainfo.xml.in:178
#: data/com.jeffser.Alpaca.metainfo.xml.in:191
msgid "Local model list not updating when changing servers"
msgstr ""
"Lista de modelos locales no es actualizada cuando se cambia el servidor"
#: data/com.jeffser.Alpaca.metainfo.xml.in:179
#: data/com.jeffser.Alpaca.metainfo.xml.in:192
msgid "Closing the setup dialog closes the whole app"
msgstr "Cerrar el dialogo de setup cierra toda la aplicación"
#: data/com.jeffser.Alpaca.metainfo.xml.in:189
#: data/com.jeffser.Alpaca.metainfo.xml.in:202
msgid "0.2.1 Data saving fix"
msgstr "0.2.1 Arreglo en el guardado de datos"
#: data/com.jeffser.Alpaca.metainfo.xml.in:190
#: data/com.jeffser.Alpaca.metainfo.xml.in:203
msgid ""
"The app didn't save the config files and chat history to the right "
"directory, this is now fixed"
@@ -338,326 +366,326 @@ msgstr ""
"La aplicación no guardaba los archivos de configuración o los chats en el "
"directorio correcto, esto ahora ha sido arreglado"
#: data/com.jeffser.Alpaca.metainfo.xml.in:199
#: data/com.jeffser.Alpaca.metainfo.xml.in:212
msgid "0.2.0"
msgstr "0.2.0"
#: data/com.jeffser.Alpaca.metainfo.xml.in:201
#: data/com.jeffser.Alpaca.metainfo.xml.in:214
msgid "New Features"
msgstr "Nuevas funcionalidades"
#: data/com.jeffser.Alpaca.metainfo.xml.in:203
#: data/com.jeffser.Alpaca.metainfo.xml.in:216
msgid "Restore chat after closing the app"
msgstr "Restaurar chat despues de cerrar la aplicación"
#: data/com.jeffser.Alpaca.metainfo.xml.in:204
#: data/com.jeffser.Alpaca.metainfo.xml.in:217
msgid "A button to clear the chat"
msgstr "Un botón para limpiar el chat"
#: data/com.jeffser.Alpaca.metainfo.xml.in:205
#: data/com.jeffser.Alpaca.metainfo.xml.in:218
msgid "Fixed multiple bugs involving how messages are shown"
msgstr "Arreglados multiples errores acerca de como los mensajes son mostrados"
#: data/com.jeffser.Alpaca.metainfo.xml.in:206
#: data/com.jeffser.Alpaca.metainfo.xml.in:219
msgid "Added welcome dialog"
msgstr "Añadido dialogo de bienvenida"
#: data/com.jeffser.Alpaca.metainfo.xml.in:207
#: data/com.jeffser.Alpaca.metainfo.xml.in:220
msgid "More stability"
msgstr "Más estabilidad"
#: data/com.jeffser.Alpaca.metainfo.xml.in:217
#: data/com.jeffser.Alpaca.metainfo.xml.in:230
msgid "0.1.2 Quick fixes"
msgstr "0.1.2 Arreglos rápidos"
#: data/com.jeffser.Alpaca.metainfo.xml.in:218
#: data/com.jeffser.Alpaca.metainfo.xml.in:231
msgid ""
"This release fixes some metadata needed to have a proper Flatpak application"
msgstr ""
"Esta versión arregla metadatos necesarios para tener un aplicación de "
"Flatpak justa"
#: data/com.jeffser.Alpaca.metainfo.xml.in:224
#: data/com.jeffser.Alpaca.metainfo.xml.in:237
msgid "0.1.1 Stable Release"
msgstr "0.1.1"
#: data/com.jeffser.Alpaca.metainfo.xml.in:225
#: data/com.jeffser.Alpaca.metainfo.xml.in:238
msgid "This is the first public version of Alpaca"
msgstr "Esta es la primera versión publica de Alpaca"
#: src/window.py:54 src/window.py:761
#: src/window.py:56 src/window.py:780
msgid "New Chat"
msgstr "Nuevo Chat"
#: src/window.py:100
#: src/window.py:102
msgid "An error occurred"
msgstr "Ocurrio un error"
#: src/window.py:101
#: src/window.py:103
msgid "Failed to connect to server"
msgstr "No se pudo conectar al servidor"
#: src/window.py:102
#: src/window.py:104
msgid "Could not list local models"
msgstr "No se pudieron listar los modelos locales"
#: src/window.py:103
#: src/window.py:105
msgid "Could not delete model"
msgstr "No se pudo eliminar el modelo"
#: src/window.py:104
#: src/window.py:106
msgid "Could not pull model"
msgstr "No se pudo descargar el modelo"
#: src/window.py:105
#: src/window.py:107
msgid "Cannot open image"
msgstr "No se pudo abrir la imagen"
#: src/window.py:106
#: src/window.py:108
msgid "Cannot delete chat because it's the only one left"
msgstr "No se pudo eliminar el chat por que es el único que queda"
#: src/window.py:107
#: src/window.py:109
msgid "There was an error with the local Ollama instance, so it has been reset"
msgstr ""
#: src/window.py:110
#: src/window.py:112
msgid "Please select a model before chatting"
msgstr "Por favor selecciona un modelo antes de enviar un mensaje"
#: src/window.py:111
#: src/window.py:113
msgid "Chat cannot be cleared while receiving a message"
msgstr "El chat no puede ser limpiado mientras se recibe un mensaje"
#: src/window.py:112
#: src/window.py:114
#, fuzzy
msgid "That tag is already being pulled"
msgstr "El nombre '{}' ya está en uso"
#: src/window.py:113
#: src/window.py:115
msgid "That tag has been pulled alreay"
msgstr ""
#: src/window.py:116
#: src/window.py:118
msgid "Model deleted successfully"
msgstr "Modelo eliminado exitosamente"
#: src/window.py:117
#: src/window.py:119
msgid "Model pulled successfully"
msgstr "Modelo descargado exitosamente"
#: src/window.py:118
#: src/window.py:120
#, fuzzy
msgid "Chat exported successfully"
msgstr "Modelo eliminado exitosamente"
#: src/window.py:119
#: src/window.py:121
#, fuzzy
msgid "Chat imported successfully"
msgstr "Modelo descargado exitosamente"
#: src/window.py:451
#: src/window.py:471
msgid "Task Complete"
msgstr "Tarea completada"
#: src/window.py:451
#: src/window.py:471
msgid "Model '{}' pulled successfully."
msgstr "El modelo '{}' fue descargado exitosamente"
#: src/window.py:456
#: src/window.py:476
msgid "Pull Model Error"
msgstr "Error Descargando Modelo"
#: src/window.py:456
#: src/window.py:476
msgid "Failed to pull model '{}' due to network error."
msgstr "No se pudo descargar el modelo '{}' debido a un error de red"
#: src/window.py:472
#: src/window.py:492
msgid "Stop Model"
msgstr "Parar Modelo"
#: src/window.py:473
#: src/window.py:493
msgid "Are you sure you want to stop pulling '{}'?"
msgstr "¿Estás seguro de que quieres parar la descarga de '{}'?"
#: src/window.py:476 src/window.py:519 src/window.py:542 src/window.py:615
#: src/window.py:688 src/window.py:715 src/window.py:748 src/window.py:788
#: src/window.py:496 src/window.py:539 src/window.py:562 src/window.py:635
#: src/window.py:708 src/window.py:734 src/window.py:766 src/window.py:807
msgid "Cancel"
msgstr "Cancelar"
#: src/window.py:477
#: src/window.py:497
msgid "Stop"
msgstr "Parar"
#: src/window.py:515
#: src/window.py:535
msgid "Delete Model"
msgstr "Eliminar Modelo"
#: src/window.py:516 src/window.py:712
#: src/window.py:536 src/window.py:731
msgid "Are you sure you want to delete '{}'?"
msgstr "¿Estás seguro de que quieres eliminar '{}'?"
#: src/window.py:520 src/window.py:716
#: src/window.py:540 src/window.py:735
msgid "Delete"
msgstr "Eliminar"
#: src/window.py:537
#: src/window.py:557
msgid "Pull Model"
msgstr "Descargar Modelo"
#: src/window.py:538
#: src/window.py:558
msgid "Please select a tag to pull '{}'"
msgstr "Por favor selecciona una etiqueta para descargar '{}'"
#: src/window.py:543
#: src/window.py:563
msgid "Pull"
msgstr "Descargar"
#: src/window.py:611 src/window.ui:462
#: src/window.py:631 src/window.ui:458
msgid "Clear Chat"
msgstr "Limpiar Chat"
#: src/window.py:612
#: src/window.py:632
msgid "Are you sure you want to clear the chat?"
msgstr "¿Estás seguro de que quieres limpiar el chat?"
#: src/window.py:616
#: src/window.py:636
msgid "Clear"
msgstr "Limpiar"
#: src/window.py:684
#: src/window.py:704
msgid "Remove Image"
msgstr "Remover Imagen"
#: src/window.py:685
#: src/window.py:705
msgid "Are you sure you want to remove image?"
msgstr "¿Estás seguro de que quieres eliminar la imagen?"
#: src/window.py:689
#: src/window.py:709 src/window.ui:478
msgid "Remove"
msgstr "Remover"
#: src/window.py:711
#: src/window.py:730
msgid "Delete Chat"
msgstr "Eliminar Chat"
#: src/window.py:742
#: src/window.py:760
msgid "Rename Chat"
msgstr "Renombrar Chat"
#: src/window.py:749
#: src/window.py:767
msgid "Rename"
msgstr "Renombrar"
#: src/window.py:769
#: src/window.py:788
msgid "The name '{}' is already in use"
msgstr "El nombre '{}' ya está en uso"
#: src/window.py:782
#: src/window.py:801
msgid "Create Chat"
msgstr "Crear Chat"
#: src/window.py:789
#: src/window.py:808
msgid "Create"
msgstr "Crear"
#: src/window.ui:46
#: src/window.ui:45
msgid "Chats"
msgstr "Chats"
#: src/window.ui:56
#: src/window.ui:55
msgid "Import chat"
msgstr "Importar chat"
#: src/window.ui:69
#: src/window.ui:68
msgid "Export chat"
msgstr "Exportar chat"
#: src/window.ui:82
#: src/window.ui:81
msgid "New chat"
msgstr "Nuevo chat"
#: src/window.ui:118
#: src/window.ui:117
msgid "Toggle Sidebar"
msgstr "Alternar barra de lado"
#: src/window.ui:139 src/window.ui:315
#: src/window.ui:138 src/window.ui:311
msgid "Manage models"
msgstr "Gestionar modelos"
#: src/window.ui:153
#: src/window.ui:152
msgid "Menu"
msgstr "Menu"
#: src/window.ui:231
#: src/window.ui:227
msgid "Send"
msgstr "Enviar"
#: src/window.ui:240
#: src/window.ui:236
msgid "Requires model 'llava' to be selected"
msgstr "Requiere que el modelo 'llava' sea seleccionado"
#: src/window.ui:243
#: src/window.ui:239
msgid "Image"
msgstr "Imagen"
#: src/window.ui:266 src/window.ui:466 src/window.ui:517
#: src/window.ui:262 src/window.ui:462 src/window.ui:520
msgid "Preferences"
msgstr "Preferencias"
#: src/window.ui:269 src/window.ui:501
#: src/window.ui:265 src/window.ui:504
msgid "General"
msgstr "General"
#: src/window.ui:273
#: src/window.ui:269
msgid "Remote Connection"
msgstr "Conexión Remota"
#: src/window.ui:274
#: src/window.ui:270
msgid "Manage a remote connection to Ollama"
msgstr "Gestiona una conección remota a Ollama"
#: src/window.ui:277
#: src/window.ui:273
msgid "Use remote connection"
msgstr "Usar conexión remota"
#: src/window.ui:282
#: src/window.ui:278
msgid "URL of remote instance"
msgstr "URL de la instancia remota"
#: src/window.ui:290
#: src/window.ui:286
msgid "Behavior"
msgstr "Comportamiento"
#: src/window.ui:291
#: src/window.ui:287
msgid "Manage Alpaca's Behavior"
msgstr "Gestiona el comportamiento de Alpaca"
#: src/window.ui:294
#: src/window.ui:290
msgid "Run in background"
msgstr "Ejecutar en el fondo"
#: src/window.ui:385
#: src/window.ui:381
msgid "Previous"
msgstr "Anterior"
#: src/window.ui:400
#: src/window.ui:396
msgid "Next"
msgstr "Siguiente"
#: src/window.ui:426
#: src/window.ui:422
msgid "Welcome to Alpaca"
msgstr "Bienvenido a Alpaca"
#: src/window.ui:427
#: src/window.ui:423
msgid "Powered by Ollama"
msgstr "Impulsado por Ollama"
#: src/window.ui:430
#: src/window.ui:426
msgid "Ollama Website"
msgstr "Sitio Web de Ollama"
#: src/window.ui:447
#: src/window.ui:443
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. "
@@ -668,39 +696,39 @@ msgstr ""
"un modelo de IA. Por favor sea precavido y revise el codigo cuidadosamente "
"antes de correrlo"
#: src/window.ui:470
#: src/window.ui:466
msgid "Keyboard Shortcuts"
msgstr "Atajos de Teclado"
#: src/window.ui:474
#: src/window.ui:470
msgid "About Alpaca"
msgstr "Sobre Alpaca"
#: src/window.ui:505
#: src/window.ui:508
msgid "Close application"
msgstr "Cerrar aplicación"
#: src/window.ui:511
#: src/window.ui:514
msgid "Clear chat"
msgstr "Limpiar chat"
#: src/window.ui:523
#: src/window.ui:526
msgid "Show shortcuts window"
msgstr "Mostrar ventana de atajos"
#: src/window.ui:530
#: src/window.ui:533
msgid "Editor"
msgstr "Editor"
#: src/window.ui:534
#: src/window.ui:537
msgid "Copy"
msgstr "Copiar"
#: src/window.ui:540
#: src/window.ui:543
msgid "Paste"
msgstr "Pegar"
#: src/window.ui:546
#: src/window.ui:549
msgid "Send Message"
msgstr "Enviar Mensaje"

355
po/es.po~
View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-05-21 22:07-0600\n"
"POT-Creation-Date: 2024-05-21 23:20-0600\n"
"PO-Revision-Date: 2024-05-19 19:44-0600\n"
"Last-Translator: Jeffry Samuel Eduarte Rojas <jeffrysamuer@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
@@ -31,21 +31,21 @@ msgid "An Ollama client"
msgstr "Un cliente de Ollama"
#: data/com.jeffser.Alpaca.metainfo.xml.in:11
#: data/com.jeffser.Alpaca.metainfo.xml.in:209
#: data/com.jeffser.Alpaca.metainfo.xml.in:226
msgid "Features"
msgstr "Funcionalidades"
#: data/com.jeffser.Alpaca.metainfo.xml.in:13
#: data/com.jeffser.Alpaca.metainfo.xml.in:211
#: data/com.jeffser.Alpaca.metainfo.xml.in:228
msgid "Talk to multiple models in the same conversation"
msgstr "Habla con multiples modelos en la misma conversación"
#: data/com.jeffser.Alpaca.metainfo.xml.in:14
#: data/com.jeffser.Alpaca.metainfo.xml.in:212
#: data/com.jeffser.Alpaca.metainfo.xml.in:229
msgid "Pull and delete models from the app"
msgstr "Descarga y elimina modelos desde la app"
#: data/com.jeffser.Alpaca.metainfo.xml.in:16 src/window.ui:436
#: data/com.jeffser.Alpaca.metainfo.xml.in:16 src/window.ui:446
msgid "Disclaimer"
msgstr "Aviso Legal"
@@ -77,19 +77,65 @@ msgstr "Gestionando modelos"
#: data/com.jeffser.Alpaca.metainfo.xml.in:57
#, fuzzy
msgid "Huge Update"
msgstr "Gran Actualización"
#: data/com.jeffser.Alpaca.metainfo.xml.in:59
msgid "Added Ollama as part of Alpaca, Ollama will run in a sandbox"
msgstr "Añadido Ollama como parte de Alpaca, Ollama se ejecutara en un sandbox"
#: data/com.jeffser.Alpaca.metainfo.xml.in:60
msgid "Added option to connect to remote instances (how it worked before)"
msgstr "Añadida la opcion de conectarse a instancias remotas (como funcionaba) "
"antes"
#: data/com.jeffser.Alpaca.metainfo.xml.in:61
msgid "Added option to import and export chats"
msgstr "Añadida la opcion de importar y exportar chats"
#: data/com.jeffser.Alpaca.metainfo.xml.in:62
msgid "Added option to run Alpaca with Ollama in the background"
msgstr "Añadida la opcion de ejecutar Alpaca y Ollama en el fondo"
#: data/com.jeffser.Alpaca.metainfo.xml.in:63
#, fuzzy
msgid "Added preferences dialog"
msgstr "Añadido dialogo de preferencias"
#: data/com.jeffser.Alpaca.metainfo.xml.in:64
#, fuzzy
msgid "Changed the welcome dialog"
msgstr "Nuevo dialogo de bienvenida"
#: data/com.jeffser.Alpaca.metainfo.xml.in:66
#: data/com.jeffser.Alpaca.metainfo.xml.in:83
#: data/com.jeffser.Alpaca.metainfo.xml.in:95
#: data/com.jeffser.Alpaca.metainfo.xml.in:114
#: data/com.jeffser.Alpaca.metainfo.xml.in:135
#: data/com.jeffser.Alpaca.metainfo.xml.in:151
#: data/com.jeffser.Alpaca.metainfo.xml.in:167
#: data/com.jeffser.Alpaca.metainfo.xml.in:181
#: data/com.jeffser.Alpaca.metainfo.xml.in:191
#: data/com.jeffser.Alpaca.metainfo.xml.in:209
#: data/com.jeffser.Alpaca.metainfo.xml.in:231
msgid "Please report any errors to the issues page, thank you."
msgstr "Por favor reporta cualquier error a la página de problemas, gracias."
#: data/com.jeffser.Alpaca.metainfo.xml.in:74
#, fuzzy
msgid "Yet Another Daily Update"
msgstr "Otra Actulización Diaria"
#: data/com.jeffser.Alpaca.metainfo.xml.in:59
#: data/com.jeffser.Alpaca.metainfo.xml.in:76
#, fuzzy
msgid "Added better UI for 'Manage Models' dialog"
msgstr "Añadida mejor interfaz para el dialogo 'gestión de modelos'"
#: data/com.jeffser.Alpaca.metainfo.xml.in:60
#: data/com.jeffser.Alpaca.metainfo.xml.in:77
msgid "Added better UI for the chat sidebar"
msgstr "Añadida mejor interfaz para la barra de lado de chat"
#: data/com.jeffser.Alpaca.metainfo.xml.in:61
#: data/com.jeffser.Alpaca.metainfo.xml.in:78
msgid ""
"Replaced model description with a button to open Ollama's website for the "
"model"
@@ -97,70 +143,57 @@ msgstr ""
"Remplazada la descripción de modelo por un botón para abrir la página web de "
"Ollama para el modelo"
#: data/com.jeffser.Alpaca.metainfo.xml.in:62
#: data/com.jeffser.Alpaca.metainfo.xml.in:79
msgid "Added myself to the credits as the spanish translator"
msgstr "Agregue mi nombre en los creditos como el traductor a Español"
#: data/com.jeffser.Alpaca.metainfo.xml.in:63
#: data/com.jeffser.Alpaca.metainfo.xml.in:80
msgid "Using XDG properly to get config folder"
msgstr "Usando XDG apropiadamente para obtener el folder de configuración"
#: data/com.jeffser.Alpaca.metainfo.xml.in:64
#: data/com.jeffser.Alpaca.metainfo.xml.in:81
#, fuzzy
msgid "Update for translations"
msgstr "Mejor soporte para traducciones"
#: data/com.jeffser.Alpaca.metainfo.xml.in:66
#: data/com.jeffser.Alpaca.metainfo.xml.in:78
#: data/com.jeffser.Alpaca.metainfo.xml.in:97
#: data/com.jeffser.Alpaca.metainfo.xml.in:118
#: data/com.jeffser.Alpaca.metainfo.xml.in:134
#: data/com.jeffser.Alpaca.metainfo.xml.in:150
#: data/com.jeffser.Alpaca.metainfo.xml.in:164
#: data/com.jeffser.Alpaca.metainfo.xml.in:174
#: data/com.jeffser.Alpaca.metainfo.xml.in:192
#: data/com.jeffser.Alpaca.metainfo.xml.in:214
msgid "Please report any errors to the issues page, thank you."
msgstr "Por favor reporta cualquier error a la página de problemas, gracias."
#: data/com.jeffser.Alpaca.metainfo.xml.in:74
#: data/com.jeffser.Alpaca.metainfo.xml.in:91
#, fuzzy
msgid "Quick Fix"
msgstr "0.1.2 Arreglos rápidos"
#: data/com.jeffser.Alpaca.metainfo.xml.in:76
#: data/com.jeffser.Alpaca.metainfo.xml.in:93
msgid "The last update had some mistakes in the description of the update"
msgstr ""
"La última actualización tenía unos errores en la descripción de la "
"actualización"
#: data/com.jeffser.Alpaca.metainfo.xml.in:86
#: data/com.jeffser.Alpaca.metainfo.xml.in:103
msgid "Another Daily Update"
msgstr "Otra Actulización Diaria"
#: data/com.jeffser.Alpaca.metainfo.xml.in:88
#: data/com.jeffser.Alpaca.metainfo.xml.in:105
msgid "Added full Spanish translation"
msgstr "Añadida traducción completa a Español"
#: data/com.jeffser.Alpaca.metainfo.xml.in:89
#: data/com.jeffser.Alpaca.metainfo.xml.in:106
#, fuzzy
msgid "Added support for background pulling of multiple models"
msgstr "Añadido soporte para multiples etiquetas con un solo modelo"
#: data/com.jeffser.Alpaca.metainfo.xml.in:90
#: data/com.jeffser.Alpaca.metainfo.xml.in:107
msgid "Added interrupt button"
msgstr "Añadido botón de interrupción"
#: data/com.jeffser.Alpaca.metainfo.xml.in:91
#: data/com.jeffser.Alpaca.metainfo.xml.in:108
#, fuzzy
msgid "Added basic shortcuts"
msgstr "Atajos de Teclado"
#: data/com.jeffser.Alpaca.metainfo.xml.in:92
#: data/com.jeffser.Alpaca.metainfo.xml.in:109
msgid "Better translation support"
msgstr "Mejor soporte para traducciones"
#: data/com.jeffser.Alpaca.metainfo.xml.in:93
#: data/com.jeffser.Alpaca.metainfo.xml.in:110
msgid ""
"User can now leave chat name empty when creating a new one, it will add a "
"placeholder name"
@@ -168,136 +201,136 @@ msgstr ""
"El usuario ahora puede dejar el nombre del chat vacio durante la creación, "
"la aplicación añadira un placeholder"
#: data/com.jeffser.Alpaca.metainfo.xml.in:94
#: data/com.jeffser.Alpaca.metainfo.xml.in:111
msgid "Better scalling for different window sizes"
msgstr "Mejor escalado para distintos tamaños de ventana"
#: data/com.jeffser.Alpaca.metainfo.xml.in:95
#: data/com.jeffser.Alpaca.metainfo.xml.in:112
#, fuzzy
msgid "Fixed: Can't close app if first time setup fails"
msgstr "Arreglado: No se puede cerrar la aplicación en el primer setup"
#: data/com.jeffser.Alpaca.metainfo.xml.in:105
#: data/com.jeffser.Alpaca.metainfo.xml.in:122
msgid "Really Big Update"
msgstr "Actualización Bastante Grande"
#: data/com.jeffser.Alpaca.metainfo.xml.in:107
#: data/com.jeffser.Alpaca.metainfo.xml.in:124
msgid "Added multiple chats support!"
msgstr "Añadido soporte para multiples chats!"
#: data/com.jeffser.Alpaca.metainfo.xml.in:108
#: data/com.jeffser.Alpaca.metainfo.xml.in:125
msgid "Added Pango Markup support (bold, list, title, subtitle, monospace)"
msgstr ""
"Añadido soporte para Pango Markup (negrita, lista, titulo, subtitulo, "
"monoespaciado)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:109
#: data/com.jeffser.Alpaca.metainfo.xml.in:126
msgid "Added autoscroll if the user is at the bottom of the chat"
msgstr ""
"Añadido autoscroll si el usuario se encuentra en la parte inferior del chat"
#: data/com.jeffser.Alpaca.metainfo.xml.in:110
#: data/com.jeffser.Alpaca.metainfo.xml.in:127
msgid "Added support for multiple tags on a single model"
msgstr "Añadido soporte para multiples etiquetas con un solo modelo"
#: data/com.jeffser.Alpaca.metainfo.xml.in:111
#: data/com.jeffser.Alpaca.metainfo.xml.in:128
msgid "Added better model management dialog"
msgstr "Añadido mejor gestión de modelos"
#: data/com.jeffser.Alpaca.metainfo.xml.in:112
#: data/com.jeffser.Alpaca.metainfo.xml.in:129
msgid "Added loading spinner when sending message"
msgstr "Añadido spinner de carga cuando se envia un mensaje"
#: data/com.jeffser.Alpaca.metainfo.xml.in:113
#: data/com.jeffser.Alpaca.metainfo.xml.in:130
msgid "Added notifications if app is not active and a model pull finishes"
msgstr ""
"Añadidas notificaciones si la aplicación no está activa y la descarga de un "
"modelo finaliza"
#: data/com.jeffser.Alpaca.metainfo.xml.in:114
#: data/com.jeffser.Alpaca.metainfo.xml.in:131
msgid "Added new symbolic icon"
msgstr "Añadido nuevo icono simbolico"
#: data/com.jeffser.Alpaca.metainfo.xml.in:115
#: data/com.jeffser.Alpaca.metainfo.xml.in:132
msgid "Added frame to message textview widget"
msgstr "Añadido borde al objeto textview del mensaje"
#: data/com.jeffser.Alpaca.metainfo.xml.in:116
#: data/com.jeffser.Alpaca.metainfo.xml.in:133
msgid "Fixed \"code blocks shouldn't be editable\""
msgstr "Arreglado \"bloques de codigo no deberían de ser editables\""
#: data/com.jeffser.Alpaca.metainfo.xml.in:126
#: data/com.jeffser.Alpaca.metainfo.xml.in:183
#: data/com.jeffser.Alpaca.metainfo.xml.in:143
#: data/com.jeffser.Alpaca.metainfo.xml.in:200
msgid "Big Update"
msgstr "Gran Actualización"
#: data/com.jeffser.Alpaca.metainfo.xml.in:128
#: data/com.jeffser.Alpaca.metainfo.xml.in:145
msgid "Added code highlighting"
msgstr "Añadido resaltado de código"
#: data/com.jeffser.Alpaca.metainfo.xml.in:129
#: data/com.jeffser.Alpaca.metainfo.xml.in:146
msgid "Added image recognition (llava model)"
msgstr "Añadido reconocimiento de imagenes (modelo llava)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:130
#: data/com.jeffser.Alpaca.metainfo.xml.in:147
msgid "Added multiline prompt"
msgstr "Añadido caja de texto de multiples lineas"
#: data/com.jeffser.Alpaca.metainfo.xml.in:131
#: data/com.jeffser.Alpaca.metainfo.xml.in:148
msgid "Fixed some small bugs"
msgstr "Arreglados unos pequeños errores"
#: data/com.jeffser.Alpaca.metainfo.xml.in:132
#: data/com.jeffser.Alpaca.metainfo.xml.in:149
msgid "General optimization"
msgstr "Optimización general"
#: data/com.jeffser.Alpaca.metainfo.xml.in:142
#: data/com.jeffser.Alpaca.metainfo.xml.in:159
msgid "Fixes and features"
msgstr "Arreglos y funcionalidades"
#: data/com.jeffser.Alpaca.metainfo.xml.in:144
#: data/com.jeffser.Alpaca.metainfo.xml.in:161
msgid "Russian translation (thanks github/alexkdeveloper)"
msgstr "Traducción a Ruso (gracias github/alexkdeveloper)"
#: data/com.jeffser.Alpaca.metainfo.xml.in:145
#: data/com.jeffser.Alpaca.metainfo.xml.in:162
msgid "Fixed: Cannot close app on first setup"
msgstr "Arreglado: No se puede cerrar la aplicación en el primer setup"
#: data/com.jeffser.Alpaca.metainfo.xml.in:146
#: data/com.jeffser.Alpaca.metainfo.xml.in:163
msgid "Fixed: Brand colors for Flathub"
msgstr "Arreglado: Colores de marca para Flathub"
#: data/com.jeffser.Alpaca.metainfo.xml.in:147
#: data/com.jeffser.Alpaca.metainfo.xml.in:164
msgid "Fixed: App description"
msgstr "Arreglado: Descripción de aplicación"
#: data/com.jeffser.Alpaca.metainfo.xml.in:148
#: data/com.jeffser.Alpaca.metainfo.xml.in:165
msgid "Fixed: Only show 'save changes dialog' when you actually change the url"
msgstr ""
"Arreglado: Solo mostrar el dialogo 'guardar cambios' cuando se cambia el url"
#: data/com.jeffser.Alpaca.metainfo.xml.in:158
#: data/com.jeffser.Alpaca.metainfo.xml.in:175
msgid "0.2.2 Bug fixes"
msgstr "0.2.2 Arreglo de errores"
#: data/com.jeffser.Alpaca.metainfo.xml.in:160
#: data/com.jeffser.Alpaca.metainfo.xml.in:177
msgid "Toast messages appearing behind dialogs"
msgstr "Mensajes toast apareciendo detrás de dialogos"
#: data/com.jeffser.Alpaca.metainfo.xml.in:161
#: data/com.jeffser.Alpaca.metainfo.xml.in:178
msgid "Local model list not updating when changing servers"
msgstr ""
"Lista de modelos locales no es actualizada cuando se cambia el servidor"
#: data/com.jeffser.Alpaca.metainfo.xml.in:162
#: data/com.jeffser.Alpaca.metainfo.xml.in:179
msgid "Closing the setup dialog closes the whole app"
msgstr "Cerrar el dialogo de setup cierra toda la aplicación"
#: data/com.jeffser.Alpaca.metainfo.xml.in:172
#: data/com.jeffser.Alpaca.metainfo.xml.in:189
msgid "0.2.1 Data saving fix"
msgstr "0.2.1 Arreglo en el guardado de datos"
#: data/com.jeffser.Alpaca.metainfo.xml.in:173
#: data/com.jeffser.Alpaca.metainfo.xml.in:190
msgid ""
"The app didn't save the config files and chat history to the right "
"directory, this is now fixed"
@@ -305,226 +338,226 @@ msgstr ""
"La aplicación no guardaba los archivos de configuración o los chats en el "
"directorio correcto, esto ahora ha sido arreglado"
#: data/com.jeffser.Alpaca.metainfo.xml.in:182
#: data/com.jeffser.Alpaca.metainfo.xml.in:199
msgid "0.2.0"
msgstr "0.2.0"
#: data/com.jeffser.Alpaca.metainfo.xml.in:184
#: data/com.jeffser.Alpaca.metainfo.xml.in:201
msgid "New Features"
msgstr "Nuevas funcionalidades"
#: data/com.jeffser.Alpaca.metainfo.xml.in:186
#: data/com.jeffser.Alpaca.metainfo.xml.in:203
msgid "Restore chat after closing the app"
msgstr "Restaurar chat despues de cerrar la aplicación"
#: data/com.jeffser.Alpaca.metainfo.xml.in:187
#: data/com.jeffser.Alpaca.metainfo.xml.in:204
msgid "A button to clear the chat"
msgstr "Un botón para limpiar el chat"
#: data/com.jeffser.Alpaca.metainfo.xml.in:188
#: data/com.jeffser.Alpaca.metainfo.xml.in:205
msgid "Fixed multiple bugs involving how messages are shown"
msgstr "Arreglados multiples errores acerca de como los mensajes son mostrados"
#: data/com.jeffser.Alpaca.metainfo.xml.in:189
#: data/com.jeffser.Alpaca.metainfo.xml.in:206
msgid "Added welcome dialog"
msgstr "Añadido dialogo de bienvenida"
#: data/com.jeffser.Alpaca.metainfo.xml.in:190
#: data/com.jeffser.Alpaca.metainfo.xml.in:207
msgid "More stability"
msgstr "Más estabilidad"
#: data/com.jeffser.Alpaca.metainfo.xml.in:200
#: data/com.jeffser.Alpaca.metainfo.xml.in:217
msgid "0.1.2 Quick fixes"
msgstr "0.1.2 Arreglos rápidos"
#: data/com.jeffser.Alpaca.metainfo.xml.in:201
#: data/com.jeffser.Alpaca.metainfo.xml.in:218
msgid ""
"This release fixes some metadata needed to have a proper Flatpak application"
msgstr ""
"Esta versión arregla metadatos necesarios para tener un aplicación de "
"Flatpak justa"
#: data/com.jeffser.Alpaca.metainfo.xml.in:207
#: data/com.jeffser.Alpaca.metainfo.xml.in:224
msgid "0.1.1 Stable Release"
msgstr "0.1.1"
#: data/com.jeffser.Alpaca.metainfo.xml.in:208
#: data/com.jeffser.Alpaca.metainfo.xml.in:225
msgid "This is the first public version of Alpaca"
msgstr "Esta es la primera versión publica de Alpaca"
#: src/window.py:53 src/window.py:753
#: src/window.py:54 src/window.py:761
msgid "New Chat"
msgstr "Nuevo Chat"
#: src/window.py:98
#: src/window.py:100
msgid "An error occurred"
msgstr "Ocurrio un error"
#: src/window.py:99
#: src/window.py:101
msgid "Failed to connect to server"
msgstr "No se pudo conectar al servidor"
#: src/window.py:100
#: src/window.py:102
msgid "Could not list local models"
msgstr "No se pudieron listar los modelos locales"
#: src/window.py:101
#: src/window.py:103
msgid "Could not delete model"
msgstr "No se pudo eliminar el modelo"
#: src/window.py:102
#: src/window.py:104
msgid "Could not pull model"
msgstr "No se pudo descargar el modelo"
#: src/window.py:103
#: src/window.py:105
msgid "Cannot open image"
msgstr "No se pudo abrir la imagen"
#: src/window.py:104
#: src/window.py:106
msgid "Cannot delete chat because it's the only one left"
msgstr "No se pudo eliminar el chat por que es el único que queda"
#: src/window.py:105
#: src/window.py:107
msgid "There was an error with the local Ollama instance, so it has been reset"
msgstr ""
#: src/window.py:108
#: src/window.py:110
msgid "Please select a model before chatting"
msgstr "Por favor selecciona un modelo antes de enviar un mensaje"
#: src/window.py:109
#: src/window.py:111
msgid "Chat cannot be cleared while receiving a message"
msgstr "El chat no puede ser limpiado mientras se recibe un mensaje"
#: src/window.py:110
#: src/window.py:112
#, fuzzy
msgid "That tag is already being pulled"
msgstr "El nombre '{}' ya está en uso"
#: src/window.py:111
#: src/window.py:113
msgid "That tag has been pulled alreay"
msgstr ""
#: src/window.py:114
#: src/window.py:116
msgid "Model deleted successfully"
msgstr "Modelo eliminado exitosamente"
#: src/window.py:115
#: src/window.py:117
msgid "Model pulled successfully"
msgstr "Modelo descargado exitosamente"
#: src/window.py:116
#: src/window.py:118
#, fuzzy
msgid "Chat exported successfully"
msgstr "Modelo eliminado exitosamente"
#: src/window.py:117
#: src/window.py:119
#, fuzzy
msgid "Chat imported successfully"
msgstr "Modelo descargado exitosamente"
#: src/window.py:443
#: src/window.py:451
msgid "Task Complete"
msgstr "Tarea completada"
#: src/window.py:443
#: src/window.py:451
msgid "Model '{}' pulled successfully."
msgstr "El modelo '{}' fue descargado exitosamente"
#: src/window.py:448
#: src/window.py:456
msgid "Pull Model Error"
msgstr "Error Descargando Modelo"
#: src/window.py:448
#: src/window.py:456
msgid "Failed to pull model '{}' due to network error."
msgstr "No se pudo descargar el modelo '{}' debido a un error de red"
#: src/window.py:464
#: src/window.py:472
msgid "Stop Model"
msgstr "Parar Modelo"
#: src/window.py:465
#: src/window.py:473
msgid "Are you sure you want to stop pulling '{}'?"
msgstr "¿Estás seguro de que quieres parar la descarga de '{}'?"
#: src/window.py:468 src/window.py:511 src/window.py:534 src/window.py:607
#: src/window.py:680 src/window.py:707 src/window.py:740 src/window.py:780
#: src/window.py:476 src/window.py:519 src/window.py:542 src/window.py:615
#: src/window.py:688 src/window.py:715 src/window.py:748 src/window.py:788
msgid "Cancel"
msgstr "Cancelar"
#: src/window.py:469
#: src/window.py:477
msgid "Stop"
msgstr "Parar"
#: src/window.py:507
#: src/window.py:515
msgid "Delete Model"
msgstr "Eliminar Modelo"
#: src/window.py:508 src/window.py:704
#: src/window.py:516 src/window.py:712
msgid "Are you sure you want to delete '{}'?"
msgstr "¿Estás seguro de que quieres eliminar '{}'?"
#: src/window.py:512 src/window.py:708
#: src/window.py:520 src/window.py:716
msgid "Delete"
msgstr "Eliminar"
#: src/window.py:529
#: src/window.py:537
msgid "Pull Model"
msgstr "Descargar Modelo"
#: src/window.py:530
#: src/window.py:538
msgid "Please select a tag to pull '{}'"
msgstr "Por favor selecciona una etiqueta para descargar '{}'"
#: src/window.py:535
#: src/window.py:543
msgid "Pull"
msgstr "Descargar"
#: src/window.py:603 src/window.ui:452
#: src/window.py:611 src/window.ui:462
msgid "Clear Chat"
msgstr "Limpiar Chat"
#: src/window.py:604
#: src/window.py:612
msgid "Are you sure you want to clear the chat?"
msgstr "¿Estás seguro de que quieres limpiar el chat?"
#: src/window.py:608
#: src/window.py:616
msgid "Clear"
msgstr "Limpiar"
#: src/window.py:676
#: src/window.py:684
msgid "Remove Image"
msgstr "Remover Imagen"
#: src/window.py:677
#: src/window.py:685
msgid "Are you sure you want to remove image?"
msgstr "¿Estás seguro de que quieres eliminar la imagen?"
#: src/window.py:681
#: src/window.py:689
msgid "Remove"
msgstr "Remover"
#: src/window.py:703
#: src/window.py:711
msgid "Delete Chat"
msgstr "Eliminar Chat"
#: src/window.py:734
#: src/window.py:742
msgid "Rename Chat"
msgstr "Renombrar Chat"
#: src/window.py:741
#: src/window.py:749
msgid "Rename"
msgstr "Renombrar"
#: src/window.py:761
#: src/window.py:769
msgid "The name '{}' is already in use"
msgstr "El nombre '{}' ya está en uso"
#: src/window.py:774
#: src/window.py:782
msgid "Create Chat"
msgstr "Crear Chat"
#: src/window.py:781
#: src/window.py:789
msgid "Create"
msgstr "Crear"
@@ -534,11 +567,11 @@ msgstr "Chats"
#: src/window.ui:56
msgid "Import chat"
msgstr ""
msgstr "Importar chat"
#: src/window.ui:69
msgid "Export chat"
msgstr ""
msgstr "Exportar chat"
#: src/window.ui:82
msgid "New chat"
@@ -548,7 +581,7 @@ msgstr "Nuevo chat"
msgid "Toggle Sidebar"
msgstr "Alternar barra de lado"
#: src/window.ui:139 src/window.ui:305
#: src/window.ui:139 src/window.ui:315
msgid "Manage models"
msgstr "Gestionar modelos"
@@ -568,51 +601,63 @@ msgstr "Requiere que el modelo 'llava' sea seleccionado"
msgid "Image"
msgstr "Imagen"
#: src/window.ui:267 src/window.ui:456 src/window.ui:507
#: src/window.ui:266 src/window.ui:466 src/window.ui:517
msgid "Preferences"
msgstr ""
msgstr "Preferencias"
#: src/window.ui:270
msgid "Connection"
msgstr ""
#: src/window.ui:269 src/window.ui:501
msgid "General"
msgstr "General"
#: src/window.ui:273
msgid "Remote Connection"
msgstr "Conexión Remota"
#: src/window.ui:274
msgid "Remote Connection"
msgstr ""
#: src/window.ui:275
msgid "Manage a remote connection to Ollama"
msgstr ""
msgstr "Gestiona una conección remota a Ollama"
#: src/window.ui:278
#: src/window.ui:277
msgid "Use remote connection"
msgstr ""
msgstr "Usar conexión remota"
#: src/window.ui:283
#: src/window.ui:282
msgid "URL of remote instance"
msgstr ""
msgstr "URL de la instancia remota"
#: src/window.ui:375
#: src/window.ui:290
msgid "Behavior"
msgstr "Comportamiento"
#: src/window.ui:291
msgid "Manage Alpaca's Behavior"
msgstr "Gestiona el comportamiento de Alpaca"
#: src/window.ui:294
msgid "Run in background"
msgstr "Ejecutar en el fondo"
#: src/window.ui:385
msgid "Previous"
msgstr "Anterior"
#: src/window.ui:390
#: src/window.ui:400
msgid "Next"
msgstr "Siguiente"
#: src/window.ui:416
#: src/window.ui:426
msgid "Welcome to Alpaca"
msgstr "Bienvenido a Alpaca"
#: src/window.ui:417
#: src/window.ui:427
msgid "Powered by Ollama"
msgstr ""
msgstr "Impulsado por Ollama"
#: src/window.ui:420
#: src/window.ui:430
msgid "Ollama Website"
msgstr "Sitio Web de Ollama"
#: src/window.ui:437
#: src/window.ui:447
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. "
@@ -623,43 +668,39 @@ msgstr ""
"un modelo de IA. Por favor sea precavido y revise el codigo cuidadosamente "
"antes de correrlo"
#: src/window.ui:460
#: src/window.ui:470
msgid "Keyboard Shortcuts"
msgstr "Atajos de Teclado"
#: src/window.ui:464
#: src/window.ui:474
msgid "About Alpaca"
msgstr "Sobre Alpaca"
#: src/window.ui:491
msgid "General"
msgstr "General"
#: src/window.ui:495
#: src/window.ui:505
msgid "Close application"
msgstr "Cerrar aplicación"
#: src/window.ui:501
#: src/window.ui:511
msgid "Clear chat"
msgstr "Limpiar chat"
#: src/window.ui:513
#: src/window.ui:523
msgid "Show shortcuts window"
msgstr "Mostrar ventana de atajos"
#: src/window.ui:520
#: src/window.ui:530
msgid "Editor"
msgstr "Editor"
#: src/window.ui:524
#: src/window.ui:534
msgid "Copy"
msgstr "Copiar"
#: src/window.ui:530
#: src/window.ui:540
msgid "Paste"
msgstr "Pegar"
#: src/window.ui:536
#: src/window.ui:546
msgid "Send Message"
msgstr "Enviar Mensaje"

879
po/ru.po
View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-05-21 23:20-0600\n"
"PO-Revision-Date: 2024-05-20 16:59+0800\n"
"POT-Creation-Date: 2024-05-22 19:17+0800\n"
"PO-Revision-Date: 2024-05-22 19:33+0800\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: ru_RU\n"
@@ -14,617 +14,296 @@ msgstr ""
"X-Poedit-Basepath: ../src\n"
"X-Poedit-SearchPath-0: .\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 multiple 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:226
msgid "Features"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:13
#: data/com.jeffser.Alpaca.metainfo.xml.in:228
msgid "Talk to multiple models in the same conversation"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:14
#: data/com.jeffser.Alpaca.metainfo.xml.in:229
msgid "Pull and delete models from the app"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:16 src/window.ui:446
msgid "Disclaimer"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:17
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:20
msgid "Jeffry Samuel Eduarte Rojas"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:38
msgid "Welcome dialog"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:42
msgid "A conversation involving multiple models"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:46
msgid "Managing models"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:57
msgid "Huge Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:59
msgid "Added Ollama as part of Alpaca, Ollama will run in a sandbox"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:60
msgid "Added option to connect to remote instances (how it worked before)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:61
msgid "Added option to import and export chats"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:62
msgid "Added option to run Alpaca with Ollama in the background"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:63
msgid "Added preferences dialog"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:64
msgid "Changed the welcome dialog"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:66
#: data/com.jeffser.Alpaca.metainfo.xml.in:83
#: data/com.jeffser.Alpaca.metainfo.xml.in:95
#: data/com.jeffser.Alpaca.metainfo.xml.in:114
#: data/com.jeffser.Alpaca.metainfo.xml.in:135
#: data/com.jeffser.Alpaca.metainfo.xml.in:151
#: data/com.jeffser.Alpaca.metainfo.xml.in:167
#: data/com.jeffser.Alpaca.metainfo.xml.in:181
#: data/com.jeffser.Alpaca.metainfo.xml.in:191
#: data/com.jeffser.Alpaca.metainfo.xml.in:209
#: data/com.jeffser.Alpaca.metainfo.xml.in:231
msgid "Please report any errors to the issues page, thank you."
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:74
msgid "Yet Another Daily Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:76
msgid "Added better UI for 'Manage Models' dialog"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:77
msgid "Added better UI for the chat sidebar"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:78
msgid ""
"Replaced model description with a button to open Ollama's website for the "
"model"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:79
msgid "Added myself to the credits as the spanish translator"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:80
msgid "Using XDG properly to get config folder"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:81
msgid "Update for translations"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:91
msgid "Quick Fix"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:93
msgid "The last update had some mistakes in the description of the update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:103
msgid "Another Daily Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:105
msgid "Added full Spanish translation"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:106
msgid "Added support for background pulling of multiple models"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:107
msgid "Added interrupt button"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:108
#, fuzzy
msgid "Added basic shortcuts"
msgstr "Показывать ярлыки"
#: data/com.jeffser.Alpaca.metainfo.xml.in:109
msgid "Better translation support"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:110
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:111
msgid "Better scalling for different window sizes"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:112
msgid "Fixed: Can't close app if first time setup fails"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:122
msgid "Really Big Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:124
msgid "Added multiple chats support!"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:125
msgid "Added Pango Markup support (bold, list, title, subtitle, monospace)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:126
msgid "Added autoscroll if the user is at the bottom of the chat"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:127
msgid "Added support for multiple tags on a single model"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:128
msgid "Added better model management dialog"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:129
msgid "Added loading spinner when sending message"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:130
msgid "Added notifications if app is not active and a model pull finishes"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:131
msgid "Added new symbolic icon"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:132
msgid "Added frame to message textview widget"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:133
msgid "Fixed \"code blocks shouldn't be editable\""
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:143
#: data/com.jeffser.Alpaca.metainfo.xml.in:200
msgid "Big Update"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:145
msgid "Added code highlighting"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:146
msgid "Added image recognition (llava model)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:147
msgid "Added multiline prompt"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:148
msgid "Fixed some small bugs"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:149
msgid "General optimization"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:159
msgid "Fixes and features"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:161
msgid "Russian translation (thanks github/alexkdeveloper)"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:162
msgid "Fixed: Cannot close app on first setup"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:163
msgid "Fixed: Brand colors for Flathub"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:164
msgid "Fixed: App description"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:165
msgid "Fixed: Only show 'save changes dialog' when you actually change the url"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:175
msgid "0.2.2 Bug fixes"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:177
msgid "Toast messages appearing behind dialogs"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:178
msgid "Local model list not updating when changing servers"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:179
msgid "Closing the setup dialog closes the whole app"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:189
msgid "0.2.1 Data saving fix"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:190
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:199
msgid "0.2.0"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:201
msgid "New Features"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:203
msgid "Restore chat after closing the app"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:204
msgid "A button to clear the chat"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:205
msgid "Fixed multiple bugs involving how messages are shown"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:206
msgid "Added welcome dialog"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:207
msgid "More stability"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:217
msgid "0.1.2 Quick fixes"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:218
msgid ""
"This release fixes some metadata needed to have a proper Flatpak application"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:224
msgid "0.1.1 Stable Release"
msgstr ""
#: data/com.jeffser.Alpaca.metainfo.xml.in:225
msgid "This is the first public version of Alpaca"
msgstr ""
#: src/window.py:54 src/window.py:761
msgid "New Chat"
msgstr "Новый Чат"
#: src/window.py:100
msgid "An error occurred"
msgstr "Произошла ошибка"
#: src/window.py:101
msgid "Failed to connect to server"
msgstr "Не удалось подключиться к серверу"
#: src/window.py:102
msgid "Could not list local models"
msgstr "Не удалось перечислить локальные модели"
#: src/window.py:103
msgid "Could not delete model"
msgstr "Не удалось удалить модель"
#: src/window.py:104
msgid "Could not pull model"
msgstr "Не удалось извлечь модель"
#: src/window.py:105
msgid "Cannot open image"
msgstr "Не удается открыть изображение"
#: src/window.py:106
msgid "Cannot delete chat because it's the only one left"
msgstr "Не удается удалить чат, потому что он единственный оставшийся"
#: src/window.py:107
msgid "There was an error with the local Ollama instance, so it has been reset"
msgstr ""
#: src/window.py:110
msgid "Please select a model before chatting"
msgstr "Пожалуйста, выберите модель перед началом общения"
#: src/window.py:111
msgid "Chat cannot be cleared while receiving a message"
msgstr "Чат не может быть удален при получении сообщения"
#: src/window.py:112
#, fuzzy
msgid "That tag is already being pulled"
msgstr "Имя '{}' уже используется"
#: src/window.py:113
msgid "That tag has been pulled alreay"
msgstr ""
#: src/window.py:116
msgid "Model deleted successfully"
msgstr "Модель успешно удалена"
#: src/window.py:117
msgid "Model pulled successfully"
msgstr "Модель успешно извлечена"
#: src/window.py:118
#, fuzzy
msgid "Chat exported successfully"
msgstr "Модель успешно удалена"
#: src/window.py:119
#, fuzzy
msgid "Chat imported successfully"
msgstr "Модель успешно извлечена"
#: src/window.py:451
msgid "Task Complete"
msgstr "Задача выполнена"
#: src/window.py:451
msgid "Model '{}' pulled successfully."
msgstr "Модель '{}' успешно извлечена."
#: src/window.py:456
msgid "Pull Model Error"
msgstr "Ошибка Извлечения Модели"
#: src/window.py:456
msgid "Failed to pull model '{}' due to network error."
msgstr "Не удалось извлечь модель '{}' из-за сетевой ошибки."
#: src/window.py:472
msgid "Stop Model"
msgstr "Остановить Модель"
#: src/window.py:473
msgid "Are you sure you want to stop pulling '{}'?"
msgstr "Вы уверены, что хотите прекратить извлечение '{}'?"
#: src/window.py:476 src/window.py:519 src/window.py:542 src/window.py:615
#: src/window.py:688 src/window.py:715 src/window.py:748 src/window.py:788
msgid "Cancel"
msgstr "Отмена"
#: src/window.py:477
msgid "Stop"
msgstr "Стоп"
#: src/window.py:515
msgid "Delete Model"
msgstr "Удалить Модель"
#: src/window.py:516 src/window.py:712
msgid "Are you sure you want to delete '{}'?"
msgstr "Вы уверены, что хотите удалить '{}'?"
#: src/window.py:520 src/window.py:716
msgid "Delete"
msgstr "Удалить"
#: src/window.py:537
msgid "Pull Model"
msgstr "Извлечение модели"
#: src/window.py:538
msgid "Please select a tag to pull '{}'"
msgstr "Пожалуйста, выберите тег для извлечения '{}'"
#: src/window.py:543
msgid "Pull"
msgstr "Извлечение"
#: src/window.py:611 src/window.ui:462
msgid "Clear Chat"
msgstr "Очистить Чат"
#: src/window.py:612
msgid "Are you sure you want to clear the chat?"
msgstr "Вы уверены, что хотите очистить чат?"
#: src/window.py:616
msgid "Clear"
msgstr "Очистить"
#: src/window.py:684
msgid "Remove Image"
msgstr "Удалить Изображение"
#: src/window.py:685
msgid "Are you sure you want to remove image?"
msgstr "Вы уверены, что хотите удалить изображение?"
#: src/window.py:689
msgid "Remove"
msgstr "Удалить"
#: src/window.py:711
msgid "Delete Chat"
msgstr "Удалить Чат"
#: src/window.py:742
msgid "Rename Chat"
msgstr "Переименовать Чат"
#: src/window.py:749
msgid "Rename"
msgstr "Переименовать"
#: src/window.py:769
msgid "The name '{}' is already in use"
msgstr "Имя '{}' уже используется"
#: src/window.py:782
msgid "Create Chat"
msgstr "Создать Чат"
#: src/window.py:789
msgid "Create"
msgstr "Создать"
#: src/window.ui:46
msgid "Chats"
msgstr "Чаты"
#: src/window.ui:56
msgid "Import chat"
msgstr ""
#: src/window.ui:69
msgid "Export chat"
msgstr ""
#: src/window.ui:82
msgid "New chat"
msgstr "Новый чат"
#: src/window.ui:118
msgid "Toggle Sidebar"
msgstr "Переключение боковой панели"
#: src/window.ui:139 src/window.ui:315
msgid "Manage models"
msgstr "Управление моделями"
#: src/window.ui:153
msgid "Menu"
msgstr "Меню"
#: src/window.ui:231
msgid "Send"
msgstr "Отправить"
#: src/window.ui:240
msgid "Requires model 'llava' to be selected"
msgstr "Требуется выбрать модель \"llava\""
#: src/window.ui:243
msgid "Image"
msgstr "Изображение"
#: src/window.ui:266 src/window.ui:466 src/window.ui:517
msgid "Preferences"
msgstr ""
#: src/window.ui:269 src/window.ui:501
#: gtk/help-overlay.ui:11
msgctxt "shortcut window"
msgid "General"
msgstr "Общие"
#: src/window.ui:273
#: 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:54 window.py:761
msgid "New Chat"
msgstr "Новый Чат"
#: window.py:100
msgid "An error occurred"
msgstr "Произошла ошибка"
#: window.py:101
msgid "Failed to connect to server"
msgstr "Не удалось подключиться к серверу"
#: window.py:102
msgid "Could not list local models"
msgstr "Не удалось перечислить локальные модели"
#: window.py:103
msgid "Could not delete model"
msgstr "Не удалось удалить модель"
#: window.py:104
msgid "Could not pull model"
msgstr "Не удалось извлечь модель"
#: window.py:105
msgid "Cannot open image"
msgstr "Не удается открыть изображение"
#: window.py:106
msgid "Cannot delete chat because it's the only one left"
msgstr "Не удается удалить чат, потому что он единственный оставшийся"
#: window.py:107
msgid "There was an error with the local Ollama instance, so it has been reset"
msgstr ""
"Произошла ошибка с локальным экземпляром Ollama, поэтому он был сброшен"
#: window.py:110
msgid "Please select a model before chatting"
msgstr "Пожалуйста, выберите модель перед началом общения"
#: window.py:111
msgid "Chat cannot be cleared while receiving a message"
msgstr "Чат не может быть удален при получении сообщения"
#: window.py:112
msgid "That tag is already being pulled"
msgstr "Этот тег уже удален"
#: window.py:113
msgid "That tag has been pulled alreay"
msgstr "Этот тег уже был удален"
#: window.py:116
msgid "Model deleted successfully"
msgstr "Модель успешно удалена"
#: window.py:117
msgid "Model pulled successfully"
msgstr "Модель успешно извлечена"
#: window.py:118
msgid "Chat exported successfully"
msgstr "Чат успешно экспортирован"
#: window.py:119
msgid "Chat imported successfully"
msgstr "Чат успешно импортирован"
#: window.py:451
msgid "Task Complete"
msgstr "Задача выполнена"
#: window.py:451
msgid "Model '{}' pulled successfully."
msgstr "Модель '{}' успешно извлечена."
#: window.py:456
msgid "Pull Model Error"
msgstr "Ошибка Извлечения Модели"
#: window.py:456
msgid "Failed to pull model '{}' due to network error."
msgstr "Не удалось извлечь модель '{}' из-за сетевой ошибки."
#: window.py:472
msgid "Stop Model"
msgstr "Остановить Модель"
#: window.py:473
msgid "Are you sure you want to stop pulling '{}'?"
msgstr "Вы уверены, что хотите прекратить извлечение '{}'?"
#: window.py:476 window.py:519 window.py:542 window.py:615 window.py:688
#: window.py:715 window.py:748 window.py:788
msgid "Cancel"
msgstr "Отмена"
#: window.py:477
msgid "Stop"
msgstr "Стоп"
#: window.py:515
msgid "Delete Model"
msgstr "Удалить Модель"
#: window.py:516 window.py:712
msgid "Are you sure you want to delete '{}'?"
msgstr "Вы уверены, что хотите удалить '{}'?"
#: window.py:520 window.py:716
msgid "Delete"
msgstr "Удалить"
#: window.py:537
msgid "Pull Model"
msgstr "Извлечение модели"
#: window.py:538
msgid "Please select a tag to pull '{}'"
msgstr "Пожалуйста, выберите тег для извлечения '{}'"
#: window.py:543
msgid "Pull"
msgstr "Извлечение"
#: window.py:611 window.ui:462
msgid "Clear Chat"
msgstr "Очистить Чат"
#: window.py:612
msgid "Are you sure you want to clear the chat?"
msgstr "Вы уверены, что хотите очистить чат?"
#: window.py:616
msgid "Clear"
msgstr "Очистить"
#: window.py:684
msgid "Remove Image"
msgstr "Удалить Изображение"
#: window.py:685
msgid "Are you sure you want to remove image?"
msgstr "Вы уверены, что хотите удалить изображение?"
#: window.py:689
msgid "Remove"
msgstr "Удалить"
#: window.py:711
msgid "Delete Chat"
msgstr "Удалить Чат"
#: window.py:742
msgid "Rename Chat"
msgstr "Переименовать Чат"
#: window.py:749
msgid "Rename"
msgstr "Переименовать"
#: window.py:769
msgid "The name '{}' is already in use"
msgstr "Имя '{}' уже используется"
#: window.py:782
msgid "Create Chat"
msgstr "Создать Чат"
#: window.py:789
msgid "Create"
msgstr "Создать"
#: window.ui:46
msgid "Chats"
msgstr "Чаты"
#: window.ui:56
msgid "Import chat"
msgstr "Импорт чата"
#: window.ui:69
msgid "Export chat"
msgstr "Экспорт чата"
#: window.ui:82
msgid "New chat"
msgstr "Новый чат"
#: window.ui:118
msgid "Toggle Sidebar"
msgstr "Переключение боковой панели"
#: window.ui:139 window.ui:315
msgid "Manage models"
msgstr "Управление моделями"
#: window.ui:153
msgid "Menu"
msgstr "Меню"
#: window.ui:231
msgid "Send"
msgstr "Отправить"
#: window.ui:240
msgid "Requires model 'llava' to be selected"
msgstr "Требуется выбрать модель \"llava\""
#: window.ui:243
msgid "Image"
msgstr "Изображение"
#: window.ui:266 window.ui:466 window.ui:517
msgid "Preferences"
msgstr "Настройки"
#: window.ui:269 window.ui:501
msgid "General"
msgstr "Общие"
#: window.ui:273
msgid "Remote Connection"
msgstr ""
msgstr "Удаленное подключение"
#: src/window.ui:274
#: window.ui:274
msgid "Manage a remote connection to Ollama"
msgstr ""
msgstr "Управление удаленным подключением к Ollama"
#: src/window.ui:277
#: window.ui:277
msgid "Use remote connection"
msgstr ""
msgstr "Использовать удаленное подключение"
#: src/window.ui:282
#: window.ui:282
msgid "URL of remote instance"
msgstr ""
msgstr "URL-адрес удаленного экземпляра"
#: src/window.ui:290
#: window.ui:290
msgid "Behavior"
msgstr ""
msgstr "Поведение"
#: src/window.ui:291
#: window.ui:291
msgid "Manage Alpaca's Behavior"
msgstr ""
msgstr "Управление поведением Alpaca"
#: src/window.ui:294
#: window.ui:294
msgid "Run in background"
msgstr ""
msgstr "Запуск в фоновом режиме"
#: src/window.ui:385
#: window.ui:385
msgid "Previous"
msgstr "Предыдущий"
#: src/window.ui:400
#: window.ui:400
msgid "Next"
msgstr "Следующий"
#: src/window.ui:426
#: window.ui:426
msgid "Welcome to Alpaca"
msgstr "Добро пожаловать в Alpaca"
#: src/window.ui:427
#: window.ui:427
msgid "Powered by Ollama"
msgstr ""
msgstr "При поддержке Ollama"
#: src/window.ui:430
#: window.ui:430
msgid "Ollama Website"
msgstr "Веб-сайт Ollama"
#: src/window.ui:447
#: window.ui:446
msgid "Disclaimer"
msgstr "Отказ от ответственности"
#: window.ui:447
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. "
@@ -636,41 +315,45 @@ msgstr ""
"Пожалуйста, будьте осторожны и внимательно ознакомьтесь с кодом перед его "
"запуском."
#: src/window.ui:470
#: window.ui:470
msgid "Keyboard Shortcuts"
msgstr "Комбинации Клавиш"
#: src/window.ui:474
#: window.ui:474
msgid "About Alpaca"
msgstr "О Программе"
#: src/window.ui:505
#: window.ui:505
msgid "Close application"
msgstr "Закрыть приложение"
#: src/window.ui:511
#: window.ui:511
msgid "Clear chat"
msgstr "Очистить чат"
#: src/window.ui:523
#: window.ui:523
msgid "Show shortcuts window"
msgstr "Показать окно комбинаций клавиш"
#: src/window.ui:530
#: window.ui:530
msgid "Editor"
msgstr "Редактор"
#: src/window.ui:534
#: window.ui:534
msgid "Copy"
msgstr "Копировать"
#: src/window.ui:540
#: window.ui:540
msgid "Paste"
msgstr "Вставить"
#: src/window.ui:546
#: window.ui:546
msgid "Send Message"
msgstr ""
msgstr "Отправить Сообщение"
#, fuzzy
#~ msgid "Added basic shortcuts"
#~ msgstr "Показывать ярлыки"
#~ msgid "Save Changes"
#~ msgstr "Сохранить Изменения"
@@ -709,15 +392,3 @@ msgstr ""
#~ msgid "Change server"
#~ msgstr "Изменить Сервер"
#~ msgctxt "shortcut window"
#~ msgid "General"
#~ msgstr "Общие"
#~ msgctxt "shortcut window"
#~ msgid "Show Shortcuts"
#~ msgstr "Показывать комбинации клавиш"
#~ msgctxt "shortcut window"
#~ msgid "Quit"
#~ msgstr "Выйти"

View File

@@ -48,7 +48,7 @@ class AlpacaApplication(Adw.Application):
application_name='Alpaca',
application_icon='com.jeffser.Alpaca',
developer_name='Jeffry Samuel Eduarte Rojas',
version='0.6.0',
version='0.7.0',
developers=['Jeffser https://jeffser.com'],
designers=['Jeffser https://jeffser.com'],
translator_credits='Alex K (Russian) https://github.com/alexkdeveloper\nJeffser (Spanish) https://jeffser.com',

View File

@@ -32,6 +32,7 @@ alpaca_sources = [
'window.py',
'connection_handler.py',
'available_models.py',
'style.css'
]
install_data(alpaca_sources, install_dir: moduledir)

19
src/style.css Normal file
View File

@@ -0,0 +1,19 @@
.chat_row:not(:selected) {
}
.chat_row:not(:selected):hover {
}
.chat_row box.header {
font-size: 14px;
}
.chat_row box {
margin: 0;
}
.chat_row button {
opacity: 0;
transition: opacity .05s;
}
.chat_row:hover button, .chat_row:selected button {
opacity: 1;
}

View File

@@ -33,6 +33,8 @@ from .available_models import available_models
class AlpacaWindow(Adw.ApplicationWindow):
config_dir = os.getenv("XDG_CONFIG_HOME")
data_dir = os.getenv("XDG_DATA_HOME")
app_dir = os.getenv("FLATPAK_DEST")
__gtype_name__ = 'AlpacaWindow'
localedir = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'locale')
@@ -147,18 +149,27 @@ class AlpacaWindow(Adw.ApplicationWindow):
margin_start=12,
margin_end=12,
hexpand=True,
css_classes=["flat"]
css_classes=["flat"],
)
message_buffer = message_text.get_buffer()
message_buffer.insert(message_buffer.get_end_iter(), msg)
if footer is not None: message_buffer.insert_markup(message_buffer.get_end_iter(), footer, len(footer))
delete_button = Gtk.Button(
icon_name = "user-trash-symbolic",
css_classes = ["flat", "circular"],
valign="end",
halign="end",
margin_bottom=6,
margin_end=6
)
message_box = Gtk.Box(
orientation=1,
halign='fill',
css_classes=[None if bot else "card"]
)
message_text.set_valign(Gtk.Align.CENTER)
self.chat_container.append(message_box)
if image_base64 is not None:
image_data = base64.b64decode(image_base64)
@@ -179,6 +190,11 @@ class AlpacaWindow(Adw.ApplicationWindow):
message_box.append(image)
message_box.append(message_text)
message_overlay = Gtk.Overlay()
message_overlay.set_child(message_box)
#message_overlay.add_overlay(delete_button)
# I don't have the energy right now to do this :)
self.chat_container.append(message_overlay)
if bot:
self.bot_message = message_buffer
@@ -330,7 +346,7 @@ class AlpacaWindow(Adw.ApplicationWindow):
self.save_history()
sys.exit()
vadjustment = self.chat_window.get_vadjustment()
if vadjustment.get_value() + 50 >= vadjustment.get_upper() - vadjustment.get_page_size():
if self.chats["chats"][self.chats["selected_chat"]]["messages"][-1]['role'] == "user" or vadjustment.get_value() + 50 >= vadjustment.get_upper() - vadjustment.get_page_size():
GLib.idle_add(vadjustment.set_value, vadjustment.get_upper())
if data['done']:
formated_datetime = datetime.now().strftime("%Y/%m/%d %H:%M")
@@ -415,11 +431,15 @@ class AlpacaWindow(Adw.ApplicationWindow):
self.export_chat_button.set_sensitive(False)
self.import_chat_button.set_sensitive(False)
self.image_button.set_sensitive(False)
self.show_message(self.message_text_view.get_buffer().get_text(self.message_text_view.get_buffer().get_start_iter(), self.message_text_view.get_buffer().get_end_iter(), False), False, f"\n\n<small>{formated_datetime}</small>", self.attached_image["base64"])
self.message_text_view.get_buffer().set_text("", 0)
self.show_message("", True)
self.loading_spinner = Gtk.Spinner(spinning=True, margin_top=12, margin_bottom=12, hexpand=True)
self.chat_container.append(self.loading_spinner)
self.show_message("", True)
vadjustment = self.chat_window.get_vadjustment()
vadjustment.set_value(vadjustment.get_upper())
thread = threading.Thread(target=self.run_message, args=(data['messages'], data['model']))
thread.start()
@@ -642,9 +662,9 @@ class AlpacaWindow(Adw.ApplicationWindow):
with open(os.path.join(self.config_dir, "chats.json"), "r") as f:
self.chats = json.load(f)
if "selected_chat" not in self.chats or self.chats["selected_chat"] not in self.chats["chats"]: self.chats["selected_chat"] = list(self.chats["chats"].keys())[0]
if len(list(self.chats["chats"].keys())) == 0: self.chats["chats"]["New chat"] = {"messages": []}
if len(list(self.chats["chats"].keys())) == 0: self.chats["chats"]["New Chat"] = {"messages": []}
except Exception as e:
self.chats = {"chats": {"New chat": {"messages": []}}, "selected_chat": "New chat"}
self.chats = {"chats": {"New Chat": {"messages": []}}, "selected_chat": "New Chat"}
self.load_history_into_chat()
def load_image(self, file_dialog, result):
@@ -702,11 +722,10 @@ class AlpacaWindow(Adw.ApplicationWindow):
del self.chats['chats'][chat_name]
self.save_history()
self.update_chat_list()
if len(self.chats['chats'])==0:
self.chat_new()
def chat_delete_dialog(self, chat_name):
if len(self.chats['chats'])==1:
self.show_toast("error", 6, self.main_overlay)
return
dialog = Adw.AlertDialog(
heading=_("Delete Chat"),
body=_("Are you sure you want to delete '{}'?").format(chat_name),
@@ -733,7 +752,6 @@ class AlpacaWindow(Adw.ApplicationWindow):
self.save_history()
self.update_chat_list()
def chat_rename_dialog(self, chat_name:str, body:str, error:bool=False):
entry = Gtk.Entry(
css_classes = ["error"] if error else None
@@ -755,8 +773,9 @@ class AlpacaWindow(Adw.ApplicationWindow):
)
def chat_new(self, dialog=None, task=None, entry=None):
if not entry: return
chat_name = entry.get_text()
#if not entry: return
chat_name = None
if entry is not None: chat_name = entry.get_text()
if not chat_name:
chat_name=_("New Chat")
if chat_name in self.chats["chats"]:
@@ -765,7 +784,7 @@ class AlpacaWindow(Adw.ApplicationWindow):
chat_name += f" {i+1}"
break
if not task or dialog.choose_finish(task) == "create":
dialog.force_close()
if dialog is not None: dialog.force_close()
if chat_name in self.chats["chats"]: self.chat_new_dialog(_("The name '{}' is already in use").format(chat_name), True)
else:
self.chats["chats"][chat_name] = {"messages": []}
@@ -797,12 +816,19 @@ class AlpacaWindow(Adw.ApplicationWindow):
def update_chat_list(self):
self.chat_list_box.remove_all()
for name, content in self.chats['chats'].items():
chat = Adw.ActionRow(
title = name,
margin_top = 6,
margin_start = 6,
margin_end = 6,
css_classes = ["background"]
chat_content = Gtk.Box(
spacing = 6,
)
chat_row = Gtk.ListBoxRow(
css_classes = ["chat_row"],
height_request = 45,
child=chat_content,
name = name
)
chat_label = Gtk.Label(
label=name,
hexpand=True,
halign=1
)
button_delete = Gtk.Button(
icon_name = "user-trash-symbolic",
@@ -819,14 +845,15 @@ class AlpacaWindow(Adw.ApplicationWindow):
)
button_rename.connect("clicked", lambda button, chat_name=name: self.chat_rename_dialog(chat_name=chat_name, body=f"Renaming '{chat_name}'", error=False))
chat.add_suffix(button_delete)
chat.add_suffix(button_rename)
self.chat_list_box.append(chat)
if name==self.chats["selected_chat"]: self.chat_list_box.select_row(chat)
chat_content.append(chat_label)
chat_content.append(button_delete)
chat_content.append(button_rename)
self.chat_list_box.append(chat_row)
if name==self.chats["selected_chat"]: self.chat_list_box.select_row(chat_row)
def chat_changed(self, listbox, row):
if row and row.get_title() != self.chats["selected_chat"]:
self.chats["selected_chat"] = row.get_title()
if row and row.get_name() != self.chats["selected_chat"]:
self.chats["selected_chat"] = row.get_name()
self.load_history_into_chat()
if len(self.chats["chats"][self.chats["selected_chat"]]["messages"]) > 0:
for i in range(self.model_string_list.get_n_items()):
@@ -838,7 +865,8 @@ class AlpacaWindow(Adw.ApplicationWindow):
self.preferences_dialog.present(self)
def start_instance(self):
self.ollama_instance = subprocess.Popen(["/app/bin/ollama", "serve"], env={**os.environ, 'OLLAMA_HOST': f"127.0.0.1:{self.local_ollama_port}", "HOME": self.data_dir}, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
self.ollama_instance = subprocess.Popen(["/app/bin/ollama", "serve"], env={**os.environ, 'OLLAMA_HOST': f"127.0.0.1:{self.local_ollama_port}", "HOME": self.data_dir}, stderr=subprocess.PIPE, text=True)
print("Starting Alpaca's Ollama instance...")
sleep(1)
while True:
err = self.ollama_instance.stderr.readline()
@@ -846,19 +874,56 @@ class AlpacaWindow(Adw.ApplicationWindow):
break
if 'msg="inference compute"' in err: #Ollama outputs a line with this when it finishes loading, yeah
break
print("Started Alpaca's Ollama instance")
def stop_instance(self):
self.ollama_instance.kill()
print("Stopped Alpaca's Ollama instance")
def restart_instance(self):
if self.ollama_instance is not None: self.stop_instance()
start_instance(self)
def reconnect_remote(self, dialog, task=None, entry=None):
response = dialog.choose_finish(task)
if not task or response == "connect":
self.ollama_url = entry.get_text()
self.remote_url = self.ollama_url
if self.verify_connection() == False: self.connection_error()
else:
dialog.force_close()
elif response == "local":
self.run_remote = False
self.ollama_url = f"http://127.0.0.1:{self.local_ollama_port}"
self.start_instance()
if self.verify_connection() == False: self.connection_error()
else:
self.remote_connection_switch.set_active(False)
dialog.force_close()
elif response == "close":
self.destroy()
def connection_error(self):
if self.run_remote:
self.preferences_dialog.present(self)
self.remote_connection_entry.set_css_classes(["error"])
self.show_toast("error", 1, self.preferences_dialog)
entry = Gtk.Entry(
css_classes = ["error"],
text = self.ollama_url
)
dialog = Adw.AlertDialog(
heading=_("Connection Error"),
body=_("The remote instance has disconnected"),
extra_child=entry
)
entry.connect("activate", lambda entry, dialog=dialog: self.reconnect_remote(dialog=dialog, entry=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: self.reconnect_remote(dialog=dialog, task=task, entry=entry)
)
else:
self.restart_instance()
self.show_toast("error", 7, self.main_overlay)
@@ -868,9 +933,11 @@ class AlpacaWindow(Adw.ApplicationWindow):
if new_value != self.run_remote:
self.run_remote = new_value
if self.run_remote:
self.stop_instance()
self.ollama_url = self.remote_url
if self.verify_connection() == False: self.connection_error()
else: self.stop_instance()
else:
self.ollama_url = f"http://127.0.0.1:{self.local_ollama_port}"
self.start_instance()
if self.verify_connection() == False: self.connection_error()
self.update_list_available_models()
@@ -929,6 +996,15 @@ class AlpacaWindow(Adw.ApplicationWindow):
def __init__(self, **kwargs):
super().__init__(**kwargs)
GtkSource.init()
#CSS
css_provider = Gtk.CssProvider()
css_provider.load_from_path(os.path.join(self.app_dir, "share/Alpaca/alpaca/style.css"))
display = Gdk.Display.get_default()
Gtk.StyleContext.add_provider_for_display(
display, css_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
)
self.set_help_overlay(self.shortcut_window)
self.get_application().set_accels_for_action("win.show-help-overlay", ['<primary>slash'])
self.get_application().create_action('send', lambda *_: self.send_message(self), ['<primary>Return'])
@@ -961,8 +1037,8 @@ class AlpacaWindow(Adw.ApplicationWindow):
self.set_hide_on_close(self.run_on_background)
self.remote_connection_entry.set_text(self.remote_url)
if self.run_remote:
self.remote_connection_switch.set_active(True)
self.ollama_url = data['remote_url']
self.remote_connection_switch.set_active(True)
else:
self.remote_connection_switch.set_active(False)
self.ollama_url = f"http://127.0.0.1:{self.local_ollama_port}"
@@ -972,7 +1048,7 @@ class AlpacaWindow(Adw.ApplicationWindow):
self.ollama_url = f"http://127.0.0.1:{self.local_ollama_port}"
self.first_time_setup = True
self.welcome_dialog.present(self)
if self.verify_connection() is False: self.connection_error()
if self.verify_connection() is False and self.run_remote == False: self.connection_error()
self.update_list_available_models()
self.load_history()
self.update_chat_list()

View File

@@ -4,7 +4,7 @@
<requires lib="Adw" version="1.0"/>
<template class="AlpacaWindow" parent="AdwApplicationWindow">
<property name="resizable">True</property>
<property name="width-request">350</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>
@@ -20,10 +20,9 @@
<object class="AdwBreakpoint">
<condition>max-width: 500sp</condition>
<setter object="split_view_overlay" property="collapsed">true</setter>
<setter object="welcome_dialog" property="width-request">300</setter>
<setter object="welcome_dialog" property="height-request">300</setter>
<setter object="manage_models_dialog" property="width-request">300</setter>
<setter object="preferences_dialog" property="width-request">300</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">
@@ -169,16 +168,13 @@
<object class="GtkScrolledWindow" id="chat_window">
<property name="margin-bottom">12</property>
<property name="propagate-natural-height">true</property>
<property name="kinetic-scrolling">1</property>
<property name="kinetic-scrolling">true</property>
<property name="vexpand">true</property>
<style>
<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="hexpand">true</property>
<property name="vexpand">true</property>
<property name="spacing">12</property>
<property name="margin-top">12</property>
@@ -204,10 +200,10 @@
<child>
<object class="GtkTextView" id="message_text_view">
<property name="wrap-mode">word</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="margin-start">6</property>
<property name="margin-end">6</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>
<property name="hexpand">true</property>
<style>
<class name="view"/>
@@ -476,6 +472,13 @@
</item>
</section>
</menu>
<menu id="chat_context_menu">
<section>
<item>
<attribute name="label" translatable="yes">Remove</attribute>
</item>
</section>
</menu>
<object class="GtkFileFilter" id="file_filter_image">
<mime-types>
<mime-type>image/svg+xml</mime-type>

View File

@@ -4,5 +4,5 @@ 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 Russian..."
#msgmerge -U po/ru.po po/alpaca.pot