29 Commits
0.6.0 ... 0.7.1

Author SHA1 Message Date
jeffser
dac4c36caa Preparing for 0.7.1 2024-05-23 12:02:18 -06:00
jeffser
96bdf360df Better sidebar 2024-05-23 12:01:25 -06:00
jeffser
54fbe3b505 Preparing for 0.7.1 2024-05-23 11:53:06 -06:00
jeffser
3f76dfdbe9 Changed CSS so that chat controls only appearing while hovering 2024-05-23 09:43:16 -06:00
jeffser
763cb98b33 Quick fix to remote connection 2024-05-23 09:41:43 -06:00
jeffser
eb2379585a Removed reference to CSS 2024-05-23 09:40:29 -06:00
jeffser
541b5e032f Replaced CSS file for string 2024-05-23 09:38:03 -06:00
jeffser
43c24c9150 Minor spelling mistake :( 2024-05-22 23:54:50 -06:00
jeffser
ada2893069 Quick fix on 'connection_error' dialog 2024-05-22 23:43:57 -06:00
jeffser
9707bdc2bb Added Mobile as an available form factor 2024-05-22 23:29:38 -06:00
Jeffry Samuel
157c43e969 Better README 2024-05-22 21:51:31 -06:00
jeffser
1a04082564 Better handling of remote connection lost 2024-05-22 21:10:16 -06:00
jeffser
f2e6f1aac8 Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-22 20:28:32 -06:00
jeffser
672a28c620 Last minute fix 2024-05-22 20:28:25 -06:00
Jeffry Samuel
a7c8170ba4 Thanks 2024-05-22 20:06:14 -06:00
jeffser
3ee402b297 Preparing for 0.7.0 2024-05-22 19:54:02 -06:00
jeffser
9080e84089 Autohide chat control buttons 2024-05-22 19:48:06 -06:00
jeffser
e8f4f8aa89 Preparing to add delete button to messages 2024-05-22 19:43:33 -06:00
jeffser
d8138a80de User can now delete last chat, this would create a 'New Chat' chat 2024-05-22 19:21:55 -06:00
jeffser
208e24b17e Added instance status messages (terminal) 2024-05-22 19:13:13 -06:00
jeffser
77904b3dd2 Fixed, remote connection switch 2024-05-22 19:08:17 -06:00
jeffser
831e47fe15 Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-22 18:01:22 -06:00
jeffser
21f0c9dafd New design for chat sidebar thing 2024-05-22 18:01:16 -06:00
Alex K
83ea27f736 Add files via upload (#19) 2024-05-22 13:56:29 -06:00
jeffser
a62d193edf Scroll to bottom when message is sent (kinda) 2024-05-22 13:22:46 -06:00
jeffser
ef280c8836 Increased margin (padding) on message field 2024-05-22 12:05:48 -06:00
jeffser
7bbbe54d6c Merge branch 'main' of github.com-jeffser:Jeffser/Alpaca 2024-05-22 12:04:16 -06:00
jeffser
0c6d34bd30 Removed background from chat window 2024-05-22 11:57:24 -06:00
Jeffry Samuel
d7987fa4a5 Update README.md 2024-05-22 00:03:42 -06:00
13 changed files with 1049 additions and 1168 deletions

View File

@@ -1,20 +1,15 @@
<img src="https://jeffser.com/images/alpaca/logo.svg">
<p align="center"><img src="https://jeffser.com/images/alpaca/logo.svg"></p>
# Alpaca
An [Ollama](https://github.com/ollama/ollama) client made with GTK4 and Adwaita.
<a href='https://flathub.org/apps/com.jeffser.Alpaca'><img width='240' alt='Download on Flathub' src='https://flathub.org/api/badge?locale=en'/></a>
Alpaca is an [Ollama](https://github.com/ollama/ollama) client where you can manage and chat with multiple models, Alpaca provides an easy and begginer friendly way of interacting with local AI, everything is open source and powered by Ollama.
---
> [!WARNING]
> This project is not affiliated at all with Ollama, I'm not responsible for any damages to your device or software caused by running code given by any models.
> [!important]
> This is my first GTK4 / Adwaita / Python app, so it might crash and some features are still under development, please report any errors if you can, thank you!
> This project is not affiliated at all with Ollama, I'm not responsible for any damages to your device or software caused by running code given by any AI models.
## Features!
- Talk to multiple models in the same conversation
@@ -35,6 +30,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 +42,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

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

View File

@@ -51,6 +51,32 @@
<url type="homepage">https://github.com/Jeffser/Alpaca</url>
<url type="donation">https://github.com/sponsors/Jeffser</url>
<releases>
<release version="0.7.1" date="2024-05-23">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.7.1</url>
<description>
<p>Bug Fixes</p>
<ul>
<li>Fixed: Minor spelling mistake</li>
<li>Added 'mobile' as a supported form factor</li>
<li>Fixed: 'Connection Error' dialog not working properly</li>
<li>Fixed: App might freeze randomly on startup</li>
<li>Changed 'chats' label on sidebar for 'Alpaca'</li>
</ul>
</description>
</release>
<release version="0.7.0" date="2024-05-22">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.7.0</url>
<description>
<p>Cool Update</p>
<ul>
<li>Better design for chat window</li>
<li>Better design for chat sidebar</li>
<li>Fixed remote connections</li>
<li>Fixed Ollama restarting in loop</li>
<li>Other cool backend stuff</li>
</ul>
</description>
</release>
<release version="0.6.0" date="2024-05-21">
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.6.0</url>
<description>

View File

@@ -1,5 +1,5 @@
project('Alpaca',
version: '0.6.0',
version: '0.7.1',
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.1',
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

@@ -31,7 +31,7 @@ alpaca_sources = [
'main.py',
'window.py',
'connection_handler.py',
'available_models.py',
'available_models.py'
]
install_data(alpaca_sources, install_dir: moduledir)

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')
@@ -110,7 +112,7 @@ class AlpacaWindow(Adw.ApplicationWindow):
_("Please select a model before chatting"),
_("Chat cannot be cleared while receiving a message"),
_("That tag is already being pulled"),
_("That tag has been pulled alreay")
_("That tag has been pulled already")
],
"good": [
_("Model deleted successfully"),
@@ -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,12 @@ 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 :)
## TODO IDEA: I could count which message it is I'm trying to delete, that way I could get the position on the list, this is probably the best approach, good luck me from the future.
self.chat_container.append(message_overlay)
if bot:
self.bot_message = message_buffer
@@ -330,7 +347,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 +432,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 +663,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 +723,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 +753,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 +774,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 +785,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 +817,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 +846,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 +866,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 +875,54 @@ 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)
dialog.force_close()
if not task or response == "remote":
self.ollama_url = entry.get_text()
self.remote_url = self.ollama_url
self.remote_connection_entry.set_text(self.remote_url)
if self.verify_connection() == False: self.connection_error()
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)
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 +932,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 +995,35 @@ class AlpacaWindow(Adw.ApplicationWindow):
def __init__(self, **kwargs):
super().__init__(**kwargs)
GtkSource.init()
#CSS
css_provider = Gtk.CssProvider()
css_provider.load_from_data(b"""
.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 {
opacity: 1;
}
""")
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 +1056,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 +1067,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">
@@ -42,12 +41,25 @@
<property name="margin-end">12</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Chats</property>
<property name="hexpand">true</property>
<property name="halign">1</property>
<object class="GtkButton" id="add_chat_button">
<property name="tooltip-text" translatable="yes">New chat</property>
<style>
<class name="title-1"/>
<class name="flat"/>
</style>
<child>
<object class="AdwButtonContent">
<property name="icon-name">tab-new-symbolic</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="no">Alpaca</property>
<property name="hexpand">true</property>
<property name="halign">3</property>
<style>
<class name="title-4"/>
</style>
</object>
</child>
@@ -77,19 +89,6 @@
</child>
</object>
</child>
<child>
<object class="GtkButton" id="add_chat_button">
<property name="tooltip-text" translatable="yes">New chat</property>
<style>
<class name="flat"/>
</style>
<child>
<object class="AdwButtonContent">
<property name="icon-name">tab-new-symbolic</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
@@ -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