Compare commits
68 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6e330448e6 | ||
|
|
31802da0e3 | ||
|
|
9fae5b2cf2 | ||
|
|
cde62c3511 | ||
|
|
2b6256ff25 | ||
|
|
0c9fd6685b | ||
|
|
999f7a7151 | ||
|
|
a1397ef09e | ||
|
|
a43aac0c66 | ||
|
|
06747abcb9 | ||
|
|
8bce45cf71 | ||
|
|
084654582a | ||
|
|
29d5023cf4 | ||
|
|
a0c50c4b50 | ||
|
|
45a8d23347 | ||
|
|
6d87f4c52b | ||
|
|
8352d016cc | ||
|
|
2dd9623ea9 | ||
|
|
9e6fba0e7f | ||
|
|
e89ef2aa37 | ||
|
|
8ed8c6d04b | ||
|
|
913a7a0b39 | ||
|
|
8dabb27689 | ||
|
|
db0daa1f41 | ||
|
|
748406b2c0 | ||
|
|
46b43ca670 | ||
|
|
471159417c | ||
|
|
5b92186930 | ||
|
|
cde081acb5 | ||
|
|
4af0f718bc | ||
|
|
dac4c36caa | ||
|
|
96bdf360df | ||
|
|
54fbe3b505 | ||
|
|
3f76dfdbe9 | ||
|
|
763cb98b33 | ||
|
|
eb2379585a | ||
|
|
541b5e032f | ||
|
|
43c24c9150 | ||
|
|
ada2893069 | ||
|
|
9707bdc2bb | ||
|
|
157c43e969 | ||
|
|
1a04082564 | ||
|
|
f2e6f1aac8 | ||
|
|
672a28c620 | ||
|
|
a7c8170ba4 | ||
|
|
3ee402b297 | ||
|
|
9080e84089 | ||
|
|
e8f4f8aa89 | ||
|
|
d8138a80de | ||
|
|
208e24b17e | ||
|
|
77904b3dd2 | ||
|
|
831e47fe15 | ||
|
|
21f0c9dafd | ||
|
|
83ea27f736 | ||
|
|
a62d193edf | ||
|
|
ef280c8836 | ||
|
|
7bbbe54d6c | ||
|
|
0c6d34bd30 | ||
|
|
d7987fa4a5 | ||
|
|
f7a777f26c | ||
|
|
e507ef891b | ||
|
|
e488b9bddc | ||
|
|
c9c990df58 | ||
|
|
d4a7576432 | ||
|
|
fd86bc828d | ||
|
|
766eeff097 | ||
|
|
69567d1c6c | ||
|
|
6d22182e03 |
31
README.md
31
README.md
@@ -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
|
# 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]
|
> [!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.
|
> 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.
|
||||||
|
|
||||||
> [!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!
|
|
||||||
|
|
||||||
## Features!
|
## Features!
|
||||||
- Talk to multiple models in the same conversation
|
- Talk to multiple models in the same conversation
|
||||||
@@ -23,11 +18,12 @@ An [Ollama](https://github.com/ollama/ollama) client made with GTK4 and Adwaita.
|
|||||||
- Code highlighting
|
- Code highlighting
|
||||||
- Multiple conversations
|
- Multiple conversations
|
||||||
- Notifications
|
- Notifications
|
||||||
|
- Import / Export chats
|
||||||
|
- Delete messages
|
||||||
|
|
||||||
## Future features!
|
## Future features!
|
||||||
- Document recognition
|
- Document recognition
|
||||||
- Import / Export chats
|
- Edit messages
|
||||||
- Delete / Edit messages
|
|
||||||
- Snap Package (maybe)
|
- Snap Package (maybe)
|
||||||
|
|
||||||
## Screenies
|
## Screenies
|
||||||
@@ -44,11 +40,14 @@ Login to Ollama instance | Chatting with models | Managing
|
|||||||
2. Download the latest flatpak package
|
2. Download the latest flatpak package
|
||||||
3. Open it
|
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.
|
## Thanks
|
||||||
- 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).
|
- [not-a-dev-stein](https://github.com/not-a-dev-stein) for their help with requesting a new icon, bug reports and the translation to Brazilian Portuguese
|
||||||
- Then just start talking! you can mix different models, they all share the same conversation, it's really cool in my opinion.
|
- [TylerLaBree](https://github.com/TylerLaBree) for their requests and ideas
|
||||||
|
- [Alexkdeveloper](https://github.com/alexkdeveloper) for their help translating the app to Russian
|
||||||
|
- [Imbev](https://github.com/imbev) for their reports and suggestions
|
||||||
|
- [Nokse](https://github.com/Nokse22) for their contributions to the UI
|
||||||
|
|
||||||
## About forks
|
## 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)
|
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)
|
||||||
|
|||||||
@@ -71,6 +71,31 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "ollama",
|
||||||
|
"buildsystem": "simple",
|
||||||
|
"build-commands": [
|
||||||
|
"install -Dm0755 ollama* ${FLATPAK_DEST}/bin/ollama"
|
||||||
|
],
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"type": "file",
|
||||||
|
"url": "https://github.com/ollama/ollama/releases/download/v0.1.38/ollama-linux-amd64",
|
||||||
|
"sha256": "c3360812503a9756a507ebb9d78667e2b21800a760b45046bc48a8f3b81972f4",
|
||||||
|
"only-arches": [
|
||||||
|
"x86_64"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "file",
|
||||||
|
"url": "https://github.com/ollama/ollama/releases/download/v0.1.38/ollama-linux-arm64",
|
||||||
|
"sha256": "f2d091afe665b2d5ba8b68e2473d36cdfaf80c61c7d2844a0a8f533c4e62f547",
|
||||||
|
"only-arches": [
|
||||||
|
"aarch64"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name" : "alpaca",
|
"name" : "alpaca",
|
||||||
"builddir" : true,
|
"builddir" : true,
|
||||||
|
|||||||
@@ -6,3 +6,4 @@ Terminal=false
|
|||||||
Type=Application
|
Type=Application
|
||||||
Categories=Utility;Development;Chat;
|
Categories=Utility;Development;Chat;
|
||||||
StartupNotify=true
|
StartupNotify=true
|
||||||
|
X-Purism-FormFactor=Workstation;Mobile;
|
||||||
@@ -5,13 +5,16 @@
|
|||||||
<project_license>GPL-3.0-or-later</project_license>
|
<project_license>GPL-3.0-or-later</project_license>
|
||||||
<launchable type="desktop-id">com.jeffser.Alpaca.desktop</launchable>
|
<launchable type="desktop-id">com.jeffser.Alpaca.desktop</launchable>
|
||||||
<name>Alpaca</name>
|
<name>Alpaca</name>
|
||||||
<summary>Chat with multiple AI models</summary>
|
<summary>Chat with local AI models</summary>
|
||||||
<description>
|
<description>
|
||||||
<p>An Ollama client</p>
|
<p>An Ollama client</p>
|
||||||
<p>Features</p>
|
<p>Features</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Talk to multiple models in the same conversation</li>
|
<li>Talk to multiple models in the same conversation</li>
|
||||||
<li>Pull and delete models from the app</li>
|
<li>Pull and delete models from the app</li>
|
||||||
|
<li>Have multiple conversations</li>
|
||||||
|
<li>Image recognition (Only available with LLaVA Model)</li>
|
||||||
|
<li>Import and export chats</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>Disclaimer</p>
|
<p>Disclaimer</p>
|
||||||
<p>This project is not affiliated at all with Ollama, I'm not responsible for any damages to your device or software caused by running code given by any models.</p>
|
<p>This project is not affiliated at all with Ollama, I'm not responsible for any damages to your device or software caused by running code given by any models.</p>
|
||||||
@@ -28,6 +31,12 @@
|
|||||||
<category>Development</category>
|
<category>Development</category>
|
||||||
<category>Chat</category>
|
<category>Chat</category>
|
||||||
</categories>
|
</categories>
|
||||||
|
<requires>
|
||||||
|
<display_length compare="ge">360</display_length>
|
||||||
|
</requires>
|
||||||
|
<recommends>
|
||||||
|
<control>keyboard</control>
|
||||||
|
</recommends>
|
||||||
<branding>
|
<branding>
|
||||||
<color type="primary" scheme_preference="light">#8cdef5</color>
|
<color type="primary" scheme_preference="light">#8cdef5</color>
|
||||||
<color type="primary" scheme_preference="dark">#0f2b78</color>
|
<color type="primary" scheme_preference="dark">#0f2b78</color>
|
||||||
@@ -35,7 +44,7 @@
|
|||||||
<screenshots>
|
<screenshots>
|
||||||
<screenshot type="default">
|
<screenshot type="default">
|
||||||
<image>https://jeffser.com/images/alpaca/screenie1.png</image>
|
<image>https://jeffser.com/images/alpaca/screenie1.png</image>
|
||||||
<caption>Welcome dialog</caption>
|
<caption>A conversation showing code highlight</caption>
|
||||||
</screenshot>
|
</screenshot>
|
||||||
<screenshot>
|
<screenshot>
|
||||||
<image>https://jeffser.com/images/alpaca/screenie2.png</image>
|
<image>https://jeffser.com/images/alpaca/screenie2.png</image>
|
||||||
@@ -51,6 +60,74 @@
|
|||||||
<url type="homepage">https://github.com/Jeffser/Alpaca</url>
|
<url type="homepage">https://github.com/Jeffser/Alpaca</url>
|
||||||
<url type="donation">https://github.com/sponsors/Jeffser</url>
|
<url type="donation">https://github.com/sponsors/Jeffser</url>
|
||||||
<releases>
|
<releases>
|
||||||
|
<release version="0.8.1" date="2024-05-24">
|
||||||
|
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.8.1</url>
|
||||||
|
<description>
|
||||||
|
<p>Quick fix</p>
|
||||||
|
<ul>
|
||||||
|
<li>Updated Spanish translation</li>
|
||||||
|
<li>Added compatibility for PNG</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="0.8.0" date="2024-05-24">
|
||||||
|
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.8.0</url>
|
||||||
|
<description>
|
||||||
|
<p>New Update</p>
|
||||||
|
<ul>
|
||||||
|
<li>Updated model list</li>
|
||||||
|
<li>Added image recognition to more models</li>
|
||||||
|
<li>Added Brazilian Portuguese translation (Thanks Daimaar Stein)</li>
|
||||||
|
<li>Refined the general UI (Thanks Nokse22)</li>
|
||||||
|
<li>Added 'delete message' feature</li>
|
||||||
|
<li>Added metadata so that software distributors know that the app is compatible with mobile</li>
|
||||||
|
<li>Changed 'send' shortcut to just the return/enter key (to add a new line use shift+return)</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="0.7.1" date="2024-05-23">
|
||||||
|
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.7.1</url>
|
||||||
|
<description>
|
||||||
|
<p>Bug Fixes</p>
|
||||||
|
<ul>
|
||||||
|
<li>Fixed: Minor spelling mistake</li>
|
||||||
|
<li>Added 'mobile' as a supported form factor</li>
|
||||||
|
<li>Fixed: 'Connection Error' dialog not working properly</li>
|
||||||
|
<li>Fixed: App might freeze randomly on startup</li>
|
||||||
|
<li>Changed 'chats' label on sidebar for 'Alpaca'</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="0.7.0" date="2024-05-22">
|
||||||
|
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.7.0</url>
|
||||||
|
<description>
|
||||||
|
<p>Cool Update</p>
|
||||||
|
<ul>
|
||||||
|
<li>Better design for chat window</li>
|
||||||
|
<li>Better design for chat sidebar</li>
|
||||||
|
<li>Fixed remote connections</li>
|
||||||
|
<li>Fixed Ollama restarting in loop</li>
|
||||||
|
<li>Other cool backend stuff</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="0.6.0" date="2024-05-21">
|
||||||
|
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.6.0</url>
|
||||||
|
<description>
|
||||||
|
<p>Huge Update</p>
|
||||||
|
<ul>
|
||||||
|
<li>Added Ollama as part of Alpaca, Ollama will run in a sandbox</li>
|
||||||
|
<li>Added option to connect to remote instances (how it worked before)</li>
|
||||||
|
<li>Added option to import and export chats</li>
|
||||||
|
<li>Added option to run Alpaca with Ollama in the background</li>
|
||||||
|
<li>Added preferences dialog</li>
|
||||||
|
<li>Changed the welcome dialog</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
Please report any errors to the issues page, thank you.
|
||||||
|
</p>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
<release version="0.5.5" date="2024-05-20">
|
<release version="0.5.5" date="2024-05-20">
|
||||||
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.5.5</url>
|
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.5.5</url>
|
||||||
<description>
|
<description>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
project('Alpaca',
|
project('Alpaca',
|
||||||
version: '0.5.5',
|
version: '0.8.1',
|
||||||
meson_version: '>= 0.62.0',
|
meson_version: '>= 0.62.0',
|
||||||
default_options: [ 'warning_level=2', 'werror=false', ],
|
default_options: [ 'warning_level=2', 'werror=false', ],
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
ru
|
ru
|
||||||
es
|
es
|
||||||
|
pt_BR
|
||||||
|
|||||||
561
po/alpaca.pot
561
po/alpaca.pot
@@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2024-05-20 19:15-0600\n"
|
"POT-Creation-Date: 2024-05-24 18:50-0600\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@@ -23,7 +23,7 @@ msgid "Alpaca"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:8
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:8
|
||||||
msgid "Chat with multiple AI models"
|
msgid "Chat with local AI models"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:10
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:10
|
||||||
@@ -31,586 +31,765 @@ msgid "An Ollama client"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:11
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:11
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:209
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:286
|
||||||
msgid "Features"
|
msgid "Features"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:13
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:13
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:211
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:288
|
||||||
msgid "Talk to multiple models in the same conversation"
|
msgid "Talk to multiple models in the same conversation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:14
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:14
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:212
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:289
|
||||||
msgid "Pull and delete models from the app"
|
msgid "Pull and delete models from the app"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:16 src/window.ui:392
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:15
|
||||||
msgid "Disclaimer"
|
msgid "Have multiple conversations"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:16
|
||||||
|
msgid "Image recognition (Only available with LLaVA Model)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:17
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:17
|
||||||
|
msgid "Import and export chats"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:19 src/window.ui:432
|
||||||
|
msgid "Disclaimer"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:20
|
||||||
msgid ""
|
msgid ""
|
||||||
"This project is not affiliated at all with Ollama, I'm not responsible for "
|
"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 "
|
"any damages to your device or software caused by running code given by any "
|
||||||
"models."
|
"models."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:20
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:23
|
||||||
msgid "Jeffry Samuel Eduarte Rojas"
|
msgid "Jeffry Samuel Eduarte Rojas"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:38
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:47
|
||||||
msgid "Welcome dialog"
|
msgid "A conversation showing code highlight"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:42
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:51
|
||||||
msgid "A conversation involving multiple models"
|
msgid "A conversation involving multiple models"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:46
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:55
|
||||||
msgid "Managing models"
|
msgid "Managing models"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:57
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:66
|
||||||
|
msgid "Quick fix"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:68
|
||||||
|
msgid "Updated Spanish translation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:69
|
||||||
|
msgid "Added compatibility for PNG"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:76
|
||||||
|
msgid "New Update"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:78
|
||||||
|
msgid "Updated model list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:79
|
||||||
|
msgid "Added image recognition to more models"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:80
|
||||||
|
msgid "Added Brazilian Portuguese translation (Thanks Daimaar Stein)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:81
|
||||||
|
msgid "Refined the general UI (Thanks Nokse22)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:82
|
||||||
|
msgid "Added 'delete message' feature"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:83
|
||||||
|
msgid ""
|
||||||
|
"Added metadata so that software distributors know that the app is compatible "
|
||||||
|
"with mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:84
|
||||||
|
msgid ""
|
||||||
|
"Changed 'send' shortcut to just the return/enter key (to add a new line use "
|
||||||
|
"shift+return)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:91
|
||||||
|
msgid "Bug Fixes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:93
|
||||||
|
msgid "Fixed: Minor spelling mistake"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:94
|
||||||
|
msgid "Added 'mobile' as a supported form factor"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:95
|
||||||
|
msgid "Fixed: 'Connection Error' dialog not working properly"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:96
|
||||||
|
msgid "Fixed: App might freeze randomly on startup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:97
|
||||||
|
msgid "Changed 'chats' label on sidebar for 'Alpaca'"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:104
|
||||||
|
msgid "Cool Update"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:106
|
||||||
|
msgid "Better design for chat window"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:107
|
||||||
|
msgid "Better design for chat sidebar"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:108
|
||||||
|
msgid "Fixed remote connections"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:109
|
||||||
|
msgid "Fixed Ollama restarting in loop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:110
|
||||||
|
msgid "Other cool backend stuff"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:117
|
||||||
|
msgid "Huge Update"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:119
|
||||||
|
msgid "Added Ollama as part of Alpaca, Ollama will run in a sandbox"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:120
|
||||||
|
msgid "Added option to connect to remote instances (how it worked before)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:121
|
||||||
|
msgid "Added option to import and export chats"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:122
|
||||||
|
msgid "Added option to run Alpaca with Ollama in the background"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:123
|
||||||
|
msgid "Added preferences dialog"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:124
|
||||||
|
msgid "Changed the welcome dialog"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:126
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:143
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:155
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:174
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:195
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:211
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:227
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:241
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:251
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:269
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:291
|
||||||
|
msgid "Please report any errors to the issues page, thank you."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:134
|
||||||
msgid "Yet Another Daily Update"
|
msgid "Yet Another Daily Update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:59
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:136
|
||||||
msgid "Added better UI for 'Manage Models' dialog"
|
msgid "Added better UI for 'Manage Models' dialog"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:60
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:137
|
||||||
msgid "Added better UI for the chat sidebar"
|
msgid "Added better UI for the chat sidebar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:61
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:138
|
||||||
msgid ""
|
msgid ""
|
||||||
"Replaced model description with a button to open Ollama's website for the "
|
"Replaced model description with a button to open Ollama's website for the "
|
||||||
"model"
|
"model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:62
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:139
|
||||||
msgid "Added myself to the credits as the spanish translator"
|
msgid "Added myself to the credits as the spanish translator"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:63
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:140
|
||||||
msgid "Using XDG properly to get config folder"
|
msgid "Using XDG properly to get config folder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:64
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:141
|
||||||
msgid "Update for translations"
|
msgid "Update for translations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:66
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:151
|
||||||
#: 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 ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:74
|
|
||||||
msgid "Quick Fix"
|
msgid "Quick Fix"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:76
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:153
|
||||||
msgid "The last update had some mistakes in the description of the update"
|
msgid "The last update had some mistakes in the description of the update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:86
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:163
|
||||||
msgid "Another Daily Update"
|
msgid "Another Daily Update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:88
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:165
|
||||||
msgid "Added full Spanish translation"
|
msgid "Added full Spanish translation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:89
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:166
|
||||||
msgid "Added support for background pulling of multiple models"
|
msgid "Added support for background pulling of multiple models"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:90
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:167
|
||||||
msgid "Added interrupt button"
|
msgid "Added interrupt button"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:91
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:168
|
||||||
msgid "Added basic shortcuts"
|
msgid "Added basic shortcuts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:92
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:169
|
||||||
msgid "Better translation support"
|
msgid "Better translation support"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:93
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:170
|
||||||
msgid ""
|
msgid ""
|
||||||
"User can now leave chat name empty when creating a new one, it will add a "
|
"User can now leave chat name empty when creating a new one, it will add a "
|
||||||
"placeholder name"
|
"placeholder name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:94
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:171
|
||||||
msgid "Better scalling for different window sizes"
|
msgid "Better scalling for different window sizes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:95
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:172
|
||||||
msgid "Fixed: Can't close app if first time setup fails"
|
msgid "Fixed: Can't close app if first time setup fails"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:105
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:182
|
||||||
msgid "Really Big Update"
|
msgid "Really Big Update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:107
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:184
|
||||||
msgid "Added multiple chats support!"
|
msgid "Added multiple chats support!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:108
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:185
|
||||||
msgid "Added Pango Markup support (bold, list, title, subtitle, monospace)"
|
msgid "Added Pango Markup support (bold, list, title, subtitle, monospace)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:109
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:186
|
||||||
msgid "Added autoscroll if the user is at the bottom of the chat"
|
msgid "Added autoscroll if the user is at the bottom of the chat"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:110
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:187
|
||||||
msgid "Added support for multiple tags on a single model"
|
msgid "Added support for multiple tags on a single model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:111
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:188
|
||||||
msgid "Added better model management dialog"
|
msgid "Added better model management dialog"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:112
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:189
|
||||||
msgid "Added loading spinner when sending message"
|
msgid "Added loading spinner when sending message"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:113
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:190
|
||||||
msgid "Added notifications if app is not active and a model pull finishes"
|
msgid "Added notifications if app is not active and a model pull finishes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:114
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:191
|
||||||
msgid "Added new symbolic icon"
|
msgid "Added new symbolic icon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:115
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:192
|
||||||
msgid "Added frame to message textview widget"
|
msgid "Added frame to message textview widget"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:116
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:193
|
||||||
msgid "Fixed \"code blocks shouldn't be editable\""
|
msgid "Fixed \"code blocks shouldn't be editable\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:126
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:203
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:183
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:260
|
||||||
msgid "Big Update"
|
msgid "Big Update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:128
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:205
|
||||||
msgid "Added code highlighting"
|
msgid "Added code highlighting"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:129
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:206
|
||||||
msgid "Added image recognition (llava model)"
|
msgid "Added image recognition (llava model)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:130
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:207
|
||||||
msgid "Added multiline prompt"
|
msgid "Added multiline prompt"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:131
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:208
|
||||||
msgid "Fixed some small bugs"
|
msgid "Fixed some small bugs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:132
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:209
|
||||||
msgid "General optimization"
|
msgid "General optimization"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:142
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:219
|
||||||
msgid "Fixes and features"
|
msgid "Fixes and features"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:144
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:221
|
||||||
msgid "Russian translation (thanks github/alexkdeveloper)"
|
msgid "Russian translation (thanks github/alexkdeveloper)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:145
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:222
|
||||||
msgid "Fixed: Cannot close app on first setup"
|
msgid "Fixed: Cannot close app on first setup"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:146
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:223
|
||||||
msgid "Fixed: Brand colors for Flathub"
|
msgid "Fixed: Brand colors for Flathub"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:147
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:224
|
||||||
msgid "Fixed: App description"
|
msgid "Fixed: App description"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:148
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:225
|
||||||
msgid "Fixed: Only show 'save changes dialog' when you actually change the url"
|
msgid "Fixed: Only show 'save changes dialog' when you actually change the url"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:158
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:235
|
||||||
msgid "0.2.2 Bug fixes"
|
msgid "0.2.2 Bug fixes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:160
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:237
|
||||||
msgid "Toast messages appearing behind dialogs"
|
msgid "Toast messages appearing behind dialogs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:161
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:238
|
||||||
msgid "Local model list not updating when changing servers"
|
msgid "Local model list not updating when changing servers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:162
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:239
|
||||||
msgid "Closing the setup dialog closes the whole app"
|
msgid "Closing the setup dialog closes the whole app"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:172
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:249
|
||||||
msgid "0.2.1 Data saving fix"
|
msgid "0.2.1 Data saving fix"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:173
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:250
|
||||||
msgid ""
|
msgid ""
|
||||||
"The app didn't save the config files and chat history to the right "
|
"The app didn't save the config files and chat history to the right "
|
||||||
"directory, this is now fixed"
|
"directory, this is now fixed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:182
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:259
|
||||||
msgid "0.2.0"
|
msgid "0.2.0"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:184
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:261
|
||||||
msgid "New Features"
|
msgid "New Features"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:186
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:263
|
||||||
msgid "Restore chat after closing the app"
|
msgid "Restore chat after closing the app"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:187
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:264
|
||||||
msgid "A button to clear the chat"
|
msgid "A button to clear the chat"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:188
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:265
|
||||||
msgid "Fixed multiple bugs involving how messages are shown"
|
msgid "Fixed multiple bugs involving how messages are shown"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:189
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:266
|
||||||
msgid "Added welcome dialog"
|
msgid "Added welcome dialog"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:190
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:267
|
||||||
msgid "More stability"
|
msgid "More stability"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:200
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:277
|
||||||
msgid "0.1.2 Quick fixes"
|
msgid "0.1.2 Quick fixes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:201
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:278
|
||||||
msgid ""
|
msgid ""
|
||||||
"This release fixes some metadata needed to have a proper Flatpak application"
|
"This release fixes some metadata needed to have a proper Flatpak application"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:207
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:284
|
||||||
msgid "0.1.1 Stable Release"
|
msgid "0.1.1 Stable Release"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:208
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:285
|
||||||
msgid "This is the first public version of Alpaca"
|
msgid "This is the first public version of Alpaca"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:47 src/window.py:776
|
#: src/window.py:57 src/window.py:783
|
||||||
msgid "New Chat"
|
msgid "New Chat"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:86
|
#: src/window.py:102
|
||||||
msgid "An error occurred"
|
msgid "An error occurred"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:87
|
#: src/window.py:103
|
||||||
msgid "Failed to connect to server"
|
msgid "Failed to connect to server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:88
|
#: src/window.py:104
|
||||||
msgid "Could not list local models"
|
msgid "Could not list local models"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:89
|
#: src/window.py:105
|
||||||
msgid "Could not delete model"
|
msgid "Could not delete model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:90
|
#: src/window.py:106
|
||||||
msgid "Could not pull model"
|
msgid "Could not pull model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:91
|
#: src/window.py:107
|
||||||
msgid "Cannot open image"
|
msgid "Cannot open image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:92
|
#: src/window.py:108
|
||||||
msgid "Cannot delete chat because it's the only one left"
|
msgid "Cannot delete chat because it's the only one left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:95
|
#: src/window.py:109
|
||||||
|
msgid "There was an error with the local Ollama instance, so it has been reset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.py:112
|
||||||
msgid "Please select a model before chatting"
|
msgid "Please select a model before chatting"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:96
|
#: src/window.py:113
|
||||||
msgid "Chat cannot be cleared while receiving a message"
|
msgid "Chat cannot be cleared while receiving a message"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:99
|
#: src/window.py:114
|
||||||
|
msgid "That tag is already being pulled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.py:115
|
||||||
|
msgid "That tag has been pulled already"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.py:118
|
||||||
msgid "Model deleted successfully"
|
msgid "Model deleted successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:100
|
#: src/window.py:119
|
||||||
msgid "Model pulled successfully"
|
msgid "Model pulled successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:425
|
#: src/window.py:120
|
||||||
|
msgid "Chat exported successfully"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.py:121
|
||||||
|
msgid "Chat imported successfully"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.py:476
|
||||||
msgid "Task Complete"
|
msgid "Task Complete"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:425
|
#: src/window.py:476
|
||||||
msgid "Model '{}' pulled successfully."
|
msgid "Model '{}' pulled successfully."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:430
|
#: src/window.py:481
|
||||||
msgid "Pull Model Error"
|
msgid "Pull Model Error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:430
|
#: src/window.py:481
|
||||||
msgid "Failed to pull model '{}' due to network error."
|
msgid "Failed to pull model '{}' due to network error."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:446
|
#: src/window.py:496
|
||||||
msgid "Stop Model"
|
msgid "Stop Model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:447
|
#: src/window.py:497
|
||||||
msgid "Are you sure you want to stop pulling '{}'?"
|
msgid "Are you sure you want to stop pulling '{}'?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:450 src/window.py:489 src/window.py:512 src/window.py:593
|
#: src/window.py:500 src/window.py:543 src/window.py:566 src/window.py:638
|
||||||
#: src/window.py:654 src/window.py:703 src/window.py:730 src/window.py:763
|
#: src/window.py:711 src/window.py:737 src/window.py:769 src/window.py:810
|
||||||
#: src/window.py:803
|
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:451
|
#: src/window.py:501
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:485
|
#: src/window.py:539
|
||||||
msgid "Delete Model"
|
msgid "Delete Model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:486 src/window.py:727
|
#: src/window.py:540 src/window.py:734
|
||||||
msgid "Are you sure you want to delete '{}'?"
|
msgid "Are you sure you want to delete '{}'?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:490 src/window.py:731
|
#: src/window.py:544 src/window.py:738
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:507
|
#: src/window.py:561
|
||||||
msgid "Pull Model"
|
msgid "Pull Model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:508
|
#: src/window.py:562
|
||||||
msgid "Please select a tag to pull '{}'"
|
msgid "Please select a tag to pull '{}'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:513
|
#: src/window.py:567
|
||||||
msgid "Pull"
|
msgid "Pull"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:589 src/window.ui:426
|
#: src/window.py:634 src/window.ui:446
|
||||||
msgid "Clear Chat"
|
msgid "Clear Chat"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:590
|
#: src/window.py:635
|
||||||
msgid "Are you sure you want to clear the chat?"
|
msgid "Are you sure you want to clear the chat?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:594
|
#: src/window.py:639
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:650
|
#: src/window.py:707
|
||||||
msgid "Save Changes"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/window.py:651
|
|
||||||
msgid "Do you want to save the URL change?"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/window.py:655
|
|
||||||
msgid "Discard"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/window.py:656
|
|
||||||
msgid "Save"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/window.py:699
|
|
||||||
msgid "Remove Image"
|
msgid "Remove Image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:700
|
#: src/window.py:708
|
||||||
msgid "Are you sure you want to remove image?"
|
msgid "Are you sure you want to remove image?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:704
|
#: src/window.py:712 src/window.ui:466
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:726
|
#: src/window.py:733
|
||||||
msgid "Delete Chat"
|
msgid "Delete Chat"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:757
|
#: src/window.py:763
|
||||||
msgid "Rename Chat"
|
msgid "Rename Chat"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:764
|
#: src/window.py:770
|
||||||
msgid "Rename"
|
msgid "Rename"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:784
|
#: src/window.py:791
|
||||||
msgid "The name '{}' is already in use"
|
msgid "The name '{}' is already in use"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:797
|
#: src/window.py:804
|
||||||
msgid "Create Chat"
|
msgid "Create Chat"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.py:804
|
#: src/window.py:811
|
||||||
msgid "Create"
|
msgid "Create"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:54
|
#: src/window.py:914
|
||||||
msgid "Chats"
|
msgid "Connection Error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:64
|
#: src/window.py:915
|
||||||
|
msgid "The remote instance has disconnected"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.py:919
|
||||||
|
msgid "Close Alpaca"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.py:920
|
||||||
|
msgid "Use local instance"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.py:921
|
||||||
|
msgid "Connect"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.ui:40
|
||||||
msgid "New chat"
|
msgid "New chat"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:100
|
#: src/window.ui:49
|
||||||
|
msgid "Import chat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.ui:58
|
||||||
|
msgid "Export chat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.ui:90
|
||||||
msgid "Toggle Sidebar"
|
msgid "Toggle Sidebar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:121 src/window.ui:257
|
#: src/window.ui:111 src/window.ui:303
|
||||||
msgid "Manage models"
|
msgid "Manage models"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:135
|
#: src/window.ui:125
|
||||||
msgid "Menu"
|
msgid "Menu"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:213
|
#: src/window.ui:216
|
||||||
msgid "Send"
|
msgid "Send"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:222
|
#: src/window.ui:225
|
||||||
msgid "Requires model 'llava' to be selected"
|
msgid "Only available on selected models"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:225
|
#: src/window.ui:228
|
||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:331
|
#: src/window.ui:254 src/window.ui:450 src/window.ui:508
|
||||||
|
msgid "Preferences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.ui:257 src/window.ui:492
|
||||||
|
msgid "General"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.ui:261
|
||||||
|
msgid "Remote Connection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.ui:262
|
||||||
|
msgid "Manage a remote connection to Ollama"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.ui:265
|
||||||
|
msgid "Use remote connection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.ui:270
|
||||||
|
msgid "URL of remote instance"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.ui:278
|
||||||
|
msgid "Behavior"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.ui:279
|
||||||
|
msgid "Manage Alpaca's Behavior"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.ui:282
|
||||||
|
msgid "Run in background"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.ui:371
|
||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:346
|
#: src/window.ui:386
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:372
|
#: src/window.ui:412
|
||||||
msgid "Welcome to Alpaca"
|
msgid "Welcome to Alpaca"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:373
|
#: src/window.ui:413
|
||||||
msgid ""
|
msgid "Powered by Ollama"
|
||||||
"To get started, please ensure you have an Ollama instance set up. You can "
|
|
||||||
"either run Ollama locally on your machine or connect to a remote instance."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:376
|
#: src/window.ui:416
|
||||||
msgid "Ollama Website"
|
msgid "Ollama Website"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:393
|
#: src/window.ui:433
|
||||||
msgid ""
|
msgid ""
|
||||||
"Alpaca and its developers are not liable for any damages to devices or "
|
"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. "
|
"software resulting from the execution of code generated by an AI model. "
|
||||||
"Please exercise caution and review the code carefully before running it."
|
"Please exercise caution and review the code carefully before running it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:405
|
#: src/window.ui:454
|
||||||
msgid "Setup"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/window.ui:406
|
|
||||||
msgid ""
|
|
||||||
"If you are running an Ollama instance locally and haven't modified the "
|
|
||||||
"default ports, you can use the default URL. Otherwise, please enter the URL "
|
|
||||||
"of your Ollama instance."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/window.ui:430
|
|
||||||
msgid "Change Server"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/window.ui:434
|
|
||||||
msgid "Keyboard Shortcuts"
|
msgid "Keyboard Shortcuts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:438
|
#: src/window.ui:458
|
||||||
msgid "About Alpaca"
|
msgid "About Alpaca"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:460
|
#: src/window.ui:496
|
||||||
msgid "General"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/window.ui:464
|
|
||||||
msgid "Close application"
|
msgid "Close application"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:470
|
#: src/window.ui:502
|
||||||
msgid "Clear chat"
|
msgid "Clear chat"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:476
|
#: src/window.ui:514
|
||||||
msgid "Change server"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/window.ui:482
|
|
||||||
msgid "Show shortcuts window"
|
msgid "Show shortcuts window"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:489
|
#: src/window.ui:521
|
||||||
msgid "Editor"
|
msgid "Editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:493
|
#: src/window.ui:525
|
||||||
msgid "Copy"
|
msgid "Copy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:499
|
#: src/window.ui:531
|
||||||
msgid "Paste"
|
msgid "Paste"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/window.ui:505
|
#: src/window.ui:537
|
||||||
|
msgid "Insert new line"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.ui:543
|
||||||
msgid "Send Message"
|
msgid "Send Message"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
544
po/es.po~
544
po/es.po~
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2024-05-19 21:53-0600\n"
|
"POT-Creation-Date: 2024-05-22 19:52-0600\n"
|
||||||
"PO-Revision-Date: 2024-05-19 19:44-0600\n"
|
"PO-Revision-Date: 2024-05-19 19:44-0600\n"
|
||||||
"Last-Translator: Jeffry Samuel Eduarte Rojas <jeffrysamuer@gmail.com>\n"
|
"Last-Translator: Jeffry Samuel Eduarte Rojas <jeffrysamuer@gmail.com>\n"
|
||||||
"Language-Team: Spanish <es@tp.org.es>\n"
|
"Language-Team: Spanish <es@tp.org.es>\n"
|
||||||
@@ -23,34 +23,33 @@ msgid "Alpaca"
|
|||||||
msgstr "Alpaca"
|
msgstr "Alpaca"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:8
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:8
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:11
|
|
||||||
msgid "An Ollama client"
|
|
||||||
msgstr "Un cliente de Ollama"
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:10
|
|
||||||
msgid "Chat with multiple AI models"
|
msgid "Chat with multiple AI models"
|
||||||
msgstr "Chatea con multiples modelos de IA"
|
msgstr "Chatea con multiples modelos de IA"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:12
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:10
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:193
|
msgid "An Ollama client"
|
||||||
|
msgstr "Un cliente de Ollama"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:11
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:239
|
||||||
msgid "Features"
|
msgid "Features"
|
||||||
msgstr "Funcionalidades"
|
msgstr "Funcionalidades"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:14
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:13
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:195
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:241
|
||||||
msgid "Talk to multiple models in the same conversation"
|
msgid "Talk to multiple models in the same conversation"
|
||||||
msgstr "Habla con multiples modelos en la misma conversación"
|
msgstr "Habla con multiples modelos en la misma conversación"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:15
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:14
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:196
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:242
|
||||||
msgid "Pull and delete models from the app"
|
msgid "Pull and delete models from the app"
|
||||||
msgstr "Descarga y elimina modelos desde la app"
|
msgstr "Descarga y elimina modelos desde la app"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:17 src/window.ui:405
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:16 src/window.ui:442
|
||||||
msgid "Disclaimer"
|
msgid "Disclaimer"
|
||||||
msgstr "Aviso Legal"
|
msgstr "Aviso Legal"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:18
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:17
|
||||||
msgid ""
|
msgid ""
|
||||||
"This project is not affiliated at all with Ollama, I'm not responsible for "
|
"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 "
|
"any damages to your device or software caused by running code given by any "
|
||||||
@@ -60,71 +59,169 @@ msgstr ""
|
|||||||
"cualquier daño a tu dispositivo o software causado por correr codigo "
|
"cualquier daño a tu dispositivo o software causado por correr codigo "
|
||||||
"proveido por cualquier modelo."
|
"proveido por cualquier modelo."
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:21
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:20
|
||||||
msgid "Jeffry Samuel Eduarte Rojas"
|
msgid "Jeffry Samuel Eduarte Rojas"
|
||||||
msgstr "Jeffry Samuel Eduarte Rojas"
|
msgstr "Jeffry Samuel Eduarte Rojas"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:39
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:38
|
||||||
msgid "Welcome dialog"
|
msgid "Welcome dialog"
|
||||||
msgstr "Dialogo de Bienvenida"
|
msgstr "Dialogo de Bienvenida"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:43
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:42
|
||||||
msgid "A conversation involving multiple models"
|
msgid "A conversation involving multiple models"
|
||||||
msgstr "Una conversación incluyendo multiples modelos"
|
msgstr "Una conversación incluyendo multiples modelos"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:47
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:46
|
||||||
msgid "Managing models"
|
msgid "Managing models"
|
||||||
msgstr "Gestionando modelos"
|
msgstr "Gestionando modelos"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:58
|
#: 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: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: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"
|
||||||
|
|
||||||
|
#: 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: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:76
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Added preferences dialog"
|
||||||
|
msgstr "Añadido dialogo de preferencias"
|
||||||
|
|
||||||
|
#: 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: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:87
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Yet Another Daily Update"
|
||||||
|
msgstr "Otra Actulización Diaria"
|
||||||
|
|
||||||
|
#: 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: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:91
|
||||||
|
msgid ""
|
||||||
|
"Replaced model description with a button to open Ollama's website for the "
|
||||||
|
"model"
|
||||||
|
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: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: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:94
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Update for translations"
|
||||||
|
msgstr "Mejor soporte para traducciones"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:104
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Quick Fix"
|
msgid "Quick Fix"
|
||||||
msgstr "0.1.2 Arreglos rápidos"
|
msgstr "0.1.2 Arreglos rápidos"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:60
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:106
|
||||||
msgid "The last update had some mistakes in the description of the update"
|
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 "
|
msgstr ""
|
||||||
|
"La última actualización tenía unos errores en la descripción de la "
|
||||||
"actualización"
|
"actualización"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:62
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:116
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:81
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:102
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:118
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:134
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:148
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:158
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:176
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:198
|
|
||||||
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:70
|
|
||||||
msgid "Another Daily Update"
|
msgid "Another Daily Update"
|
||||||
msgstr "Otra Actulización Diaria"
|
msgstr "Otra Actulización Diaria"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:72
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:118
|
||||||
msgid "Added full Spanish translation"
|
msgid "Added full Spanish translation"
|
||||||
msgstr "Añadida traducción completa a Español"
|
msgstr "Añadida traducción completa a Español"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:73
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:119
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Added support for background pulling of multiple models"
|
msgid "Added support for background pulling of multiple models"
|
||||||
msgstr "Añadido soporte para multiples etiquetas con un solo modelo"
|
msgstr "Añadido soporte para multiples etiquetas con un solo modelo"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:74
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:120
|
||||||
msgid "Added interrupt button"
|
msgid "Added interrupt button"
|
||||||
msgstr "Añadido botón de interrupción"
|
msgstr "Añadido botón de interrupción"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:75
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:121
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Added basic shortcuts"
|
msgid "Added basic shortcuts"
|
||||||
msgstr "Atajos de Teclado"
|
msgstr "Atajos de Teclado"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:76
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:122
|
||||||
msgid "Better translation support"
|
msgid "Better translation support"
|
||||||
msgstr "Mejor soporte para traducciones"
|
msgstr "Mejor soporte para traducciones"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:77
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:123
|
||||||
msgid ""
|
msgid ""
|
||||||
"User can now leave chat name empty when creating a new one, it will add a "
|
"User can now leave chat name empty when creating a new one, it will add a "
|
||||||
"placeholder name"
|
"placeholder name"
|
||||||
@@ -132,136 +229,136 @@ msgstr ""
|
|||||||
"El usuario ahora puede dejar el nombre del chat vacio durante la creación, "
|
"El usuario ahora puede dejar el nombre del chat vacio durante la creación, "
|
||||||
"la aplicación añadira un placeholder"
|
"la aplicación añadira un placeholder"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:78
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:124
|
||||||
msgid "Better scalling for different window sizes"
|
msgid "Better scalling for different window sizes"
|
||||||
msgstr "Mejor escalado para distintos tamaños de ventana"
|
msgstr "Mejor escalado para distintos tamaños de ventana"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:79
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:125
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Fixed: Can't close app if first time setup fails"
|
msgid "Fixed: Can't close app if first time setup fails"
|
||||||
msgstr "Arreglado: No se puede cerrar la aplicación en el primer setup"
|
msgstr "Arreglado: No se puede cerrar la aplicación en el primer setup"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:89
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:135
|
||||||
msgid "Really Big Update"
|
msgid "Really Big Update"
|
||||||
msgstr "Actualización Bastante Grande"
|
msgstr "Actualización Bastante Grande"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:91
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:137
|
||||||
msgid "Added multiple chats support!"
|
msgid "Added multiple chats support!"
|
||||||
msgstr "Añadido soporte para multiples chats!"
|
msgstr "Añadido soporte para multiples chats!"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:92
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:138
|
||||||
msgid "Added Pango Markup support (bold, list, title, subtitle, monospace)"
|
msgid "Added Pango Markup support (bold, list, title, subtitle, monospace)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Añadido soporte para Pango Markup (negrita, lista, titulo, subtitulo, "
|
"Añadido soporte para Pango Markup (negrita, lista, titulo, subtitulo, "
|
||||||
"monoespaciado)"
|
"monoespaciado)"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:93
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:139
|
||||||
msgid "Added autoscroll if the user is at the bottom of the chat"
|
msgid "Added autoscroll if the user is at the bottom of the chat"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Añadido autoscroll si el usuario se encuentra en la parte inferior del chat"
|
"Añadido autoscroll si el usuario se encuentra en la parte inferior del chat"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:94
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:140
|
||||||
msgid "Added support for multiple tags on a single model"
|
msgid "Added support for multiple tags on a single model"
|
||||||
msgstr "Añadido soporte para multiples etiquetas con un solo modelo"
|
msgstr "Añadido soporte para multiples etiquetas con un solo modelo"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:95
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:141
|
||||||
msgid "Added better model management dialog"
|
msgid "Added better model management dialog"
|
||||||
msgstr "Añadido mejor gestión de modelos"
|
msgstr "Añadido mejor gestión de modelos"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:96
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:142
|
||||||
msgid "Added loading spinner when sending message"
|
msgid "Added loading spinner when sending message"
|
||||||
msgstr "Añadido spinner de carga cuando se envia un mensaje"
|
msgstr "Añadido spinner de carga cuando se envia un mensaje"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:97
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:143
|
||||||
msgid "Added notifications if app is not active and a model pull finishes"
|
msgid "Added notifications if app is not active and a model pull finishes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Añadidas notificaciones si la aplicación no está activa y la descarga de un "
|
"Añadidas notificaciones si la aplicación no está activa y la descarga de un "
|
||||||
"modelo finaliza"
|
"modelo finaliza"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:98
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:144
|
||||||
msgid "Added new symbolic icon"
|
msgid "Added new symbolic icon"
|
||||||
msgstr "Añadido nuevo icono simbolico"
|
msgstr "Añadido nuevo icono simbolico"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:99
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:145
|
||||||
msgid "Added frame to message textview widget"
|
msgid "Added frame to message textview widget"
|
||||||
msgstr "Añadido borde al objeto textview del mensaje"
|
msgstr "Añadido borde al objeto textview del mensaje"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:100
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:146
|
||||||
msgid "Fixed \"code blocks shouldn't be editable\""
|
msgid "Fixed \"code blocks shouldn't be editable\""
|
||||||
msgstr "Arreglado \"bloques de codigo no deberían de ser editables\""
|
msgstr "Arreglado \"bloques de codigo no deberían de ser editables\""
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:110
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:156
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:167
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:213
|
||||||
msgid "Big Update"
|
msgid "Big Update"
|
||||||
msgstr "Gran Actualización"
|
msgstr "Gran Actualización"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:112
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:158
|
||||||
msgid "Added code highlighting"
|
msgid "Added code highlighting"
|
||||||
msgstr "Añadido resaltado de código"
|
msgstr "Añadido resaltado de código"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:113
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:159
|
||||||
msgid "Added image recognition (llava model)"
|
msgid "Added image recognition (llava model)"
|
||||||
msgstr "Añadido reconocimiento de imagenes (modelo llava)"
|
msgstr "Añadido reconocimiento de imagenes (modelo llava)"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:114
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:160
|
||||||
msgid "Added multiline prompt"
|
msgid "Added multiline prompt"
|
||||||
msgstr "Añadido caja de texto de multiples lineas"
|
msgstr "Añadido caja de texto de multiples lineas"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:115
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:161
|
||||||
msgid "Fixed some small bugs"
|
msgid "Fixed some small bugs"
|
||||||
msgstr "Arreglados unos pequeños errores"
|
msgstr "Arreglados unos pequeños errores"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:116
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:162
|
||||||
msgid "General optimization"
|
msgid "General optimization"
|
||||||
msgstr "Optimización general"
|
msgstr "Optimización general"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:126
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:172
|
||||||
msgid "Fixes and features"
|
msgid "Fixes and features"
|
||||||
msgstr "Arreglos y funcionalidades"
|
msgstr "Arreglos y funcionalidades"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:128
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:174
|
||||||
msgid "Russian translation (thanks github/alexkdeveloper)"
|
msgid "Russian translation (thanks github/alexkdeveloper)"
|
||||||
msgstr "Traducción a Ruso (gracias github/alexkdeveloper)"
|
msgstr "Traducción a Ruso (gracias github/alexkdeveloper)"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:129
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:175
|
||||||
msgid "Fixed: Cannot close app on first setup"
|
msgid "Fixed: Cannot close app on first setup"
|
||||||
msgstr "Arreglado: No se puede cerrar la aplicación en el primer setup"
|
msgstr "Arreglado: No se puede cerrar la aplicación en el primer setup"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:130
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:176
|
||||||
msgid "Fixed: Brand colors for Flathub"
|
msgid "Fixed: Brand colors for Flathub"
|
||||||
msgstr "Arreglado: Colores de marca para Flathub"
|
msgstr "Arreglado: Colores de marca para Flathub"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:131
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:177
|
||||||
msgid "Fixed: App description"
|
msgid "Fixed: App description"
|
||||||
msgstr "Arreglado: Descripción de aplicación"
|
msgstr "Arreglado: Descripción de aplicación"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:132
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:178
|
||||||
msgid "Fixed: Only show 'save changes dialog' when you actually change the url"
|
msgid "Fixed: Only show 'save changes dialog' when you actually change the url"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Arreglado: Solo mostrar el dialogo 'guardar cambios' cuando se cambia el url"
|
"Arreglado: Solo mostrar el dialogo 'guardar cambios' cuando se cambia el url"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:142
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:188
|
||||||
msgid "0.2.2 Bug fixes"
|
msgid "0.2.2 Bug fixes"
|
||||||
msgstr "0.2.2 Arreglo de errores"
|
msgstr "0.2.2 Arreglo de errores"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:144
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:190
|
||||||
msgid "Toast messages appearing behind dialogs"
|
msgid "Toast messages appearing behind dialogs"
|
||||||
msgstr "Mensajes toast apareciendo detrás de dialogos"
|
msgstr "Mensajes toast apareciendo detrás de dialogos"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:145
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:191
|
||||||
msgid "Local model list not updating when changing servers"
|
msgid "Local model list not updating when changing servers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Lista de modelos locales no es actualizada cuando se cambia el servidor"
|
"Lista de modelos locales no es actualizada cuando se cambia el servidor"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:146
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:192
|
||||||
msgid "Closing the setup dialog closes the whole app"
|
msgid "Closing the setup dialog closes the whole app"
|
||||||
msgstr "Cerrar el dialogo de setup cierra toda la aplicación"
|
msgstr "Cerrar el dialogo de setup cierra toda la aplicación"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:156
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:202
|
||||||
msgid "0.2.1 Data saving fix"
|
msgid "0.2.1 Data saving fix"
|
||||||
msgstr "0.2.1 Arreglo en el guardado de datos"
|
msgstr "0.2.1 Arreglo en el guardado de datos"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:157
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:203
|
||||||
msgid ""
|
msgid ""
|
||||||
"The app didn't save the config files and chat history to the right "
|
"The app didn't save the config files and chat history to the right "
|
||||||
"directory, this is now fixed"
|
"directory, this is now fixed"
|
||||||
@@ -269,281 +366,326 @@ msgstr ""
|
|||||||
"La aplicación no guardaba los archivos de configuración o los chats en el "
|
"La aplicación no guardaba los archivos de configuración o los chats en el "
|
||||||
"directorio correcto, esto ahora ha sido arreglado"
|
"directorio correcto, esto ahora ha sido arreglado"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:166
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:212
|
||||||
msgid "0.2.0"
|
msgid "0.2.0"
|
||||||
msgstr "0.2.0"
|
msgstr "0.2.0"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:168
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:214
|
||||||
msgid "New Features"
|
msgid "New Features"
|
||||||
msgstr "Nuevas funcionalidades"
|
msgstr "Nuevas funcionalidades"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:170
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:216
|
||||||
msgid "Restore chat after closing the app"
|
msgid "Restore chat after closing the app"
|
||||||
msgstr "Restaurar chat despues de cerrar la aplicación"
|
msgstr "Restaurar chat despues de cerrar la aplicación"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:171
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:217
|
||||||
msgid "A button to clear the chat"
|
msgid "A button to clear the chat"
|
||||||
msgstr "Un botón para limpiar el chat"
|
msgstr "Un botón para limpiar el chat"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:172
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:218
|
||||||
msgid "Fixed multiple bugs involving how messages are shown"
|
msgid "Fixed multiple bugs involving how messages are shown"
|
||||||
msgstr "Arreglados multiples errores acerca de como los mensajes son mostrados"
|
msgstr "Arreglados multiples errores acerca de como los mensajes son mostrados"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:173
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:219
|
||||||
msgid "Added welcome dialog"
|
msgid "Added welcome dialog"
|
||||||
msgstr "Añadido dialogo de bienvenida"
|
msgstr "Añadido dialogo de bienvenida"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:174
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:220
|
||||||
msgid "More stability"
|
msgid "More stability"
|
||||||
msgstr "Más estabilidad"
|
msgstr "Más estabilidad"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:184
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:230
|
||||||
msgid "0.1.2 Quick fixes"
|
msgid "0.1.2 Quick fixes"
|
||||||
msgstr "0.1.2 Arreglos rápidos"
|
msgstr "0.1.2 Arreglos rápidos"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:185
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:231
|
||||||
msgid ""
|
msgid ""
|
||||||
"This release fixes some metadata needed to have a proper Flatpak application"
|
"This release fixes some metadata needed to have a proper Flatpak application"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Esta versión arregla metadatos necesarios para tener un aplicación de "
|
"Esta versión arregla metadatos necesarios para tener un aplicación de "
|
||||||
"Flatpak justa"
|
"Flatpak justa"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:191
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:237
|
||||||
msgid "0.1.1 Stable Release"
|
msgid "0.1.1 Stable Release"
|
||||||
msgstr "0.1.1"
|
msgstr "0.1.1"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:192
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:238
|
||||||
msgid "This is the first public version of Alpaca"
|
msgid "This is the first public version of Alpaca"
|
||||||
msgstr "Esta es la primera versión publica de Alpaca"
|
msgstr "Esta es la primera versión publica de Alpaca"
|
||||||
|
|
||||||
#: src/window.py:47 src/window.py:758
|
#: src/window.py:56 src/window.py:780
|
||||||
msgid "New Chat"
|
msgid "New Chat"
|
||||||
msgstr "Nuevo Chat"
|
msgstr "Nuevo Chat"
|
||||||
|
|
||||||
#: src/window.py:86
|
#: src/window.py:102
|
||||||
msgid "An error occurred"
|
msgid "An error occurred"
|
||||||
msgstr "Ocurrio un error"
|
msgstr "Ocurrio un error"
|
||||||
|
|
||||||
#: src/window.py:87
|
#: src/window.py:103
|
||||||
msgid "Failed to connect to server"
|
msgid "Failed to connect to server"
|
||||||
msgstr "No se pudo conectar al servidor"
|
msgstr "No se pudo conectar al servidor"
|
||||||
|
|
||||||
#: src/window.py:88
|
#: src/window.py:104
|
||||||
msgid "Could not list local models"
|
msgid "Could not list local models"
|
||||||
msgstr "No se pudieron listar los modelos locales"
|
msgstr "No se pudieron listar los modelos locales"
|
||||||
|
|
||||||
#: src/window.py:89
|
#: src/window.py:105
|
||||||
msgid "Could not delete model"
|
msgid "Could not delete model"
|
||||||
msgstr "No se pudo eliminar el modelo"
|
msgstr "No se pudo eliminar el modelo"
|
||||||
|
|
||||||
#: src/window.py:90
|
#: src/window.py:106
|
||||||
msgid "Could not pull model"
|
msgid "Could not pull model"
|
||||||
msgstr "No se pudo descargar el modelo"
|
msgstr "No se pudo descargar el modelo"
|
||||||
|
|
||||||
#: src/window.py:91
|
#: src/window.py:107
|
||||||
msgid "Cannot open image"
|
msgid "Cannot open image"
|
||||||
msgstr "No se pudo abrir la imagen"
|
msgstr "No se pudo abrir la imagen"
|
||||||
|
|
||||||
#: src/window.py:92
|
#: src/window.py:108
|
||||||
msgid "Cannot delete chat because it's the only one left"
|
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"
|
msgstr "No se pudo eliminar el chat por que es el único que queda"
|
||||||
|
|
||||||
#: src/window.py:95
|
#: src/window.py:109
|
||||||
|
msgid "There was an error with the local Ollama instance, so it has been reset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.py:112
|
||||||
msgid "Please select a model before chatting"
|
msgid "Please select a model before chatting"
|
||||||
msgstr "Por favor selecciona un modelo antes de enviar un mensaje"
|
msgstr "Por favor selecciona un modelo antes de enviar un mensaje"
|
||||||
|
|
||||||
#: src/window.py:96
|
#: src/window.py:113
|
||||||
msgid "Chat cannot be cleared while receiving a message"
|
msgid "Chat cannot be cleared while receiving a message"
|
||||||
msgstr "El chat no puede ser limpiado mientras se recibe un mensaje"
|
msgstr "El chat no puede ser limpiado mientras se recibe un mensaje"
|
||||||
|
|
||||||
#: src/window.py:99
|
#: src/window.py:114
|
||||||
|
#, fuzzy
|
||||||
|
msgid "That tag is already being pulled"
|
||||||
|
msgstr "El nombre '{}' ya está en uso"
|
||||||
|
|
||||||
|
#: src/window.py:115
|
||||||
|
msgid "That tag has been pulled alreay"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.py:118
|
||||||
msgid "Model deleted successfully"
|
msgid "Model deleted successfully"
|
||||||
msgstr "Modelo eliminado exitosamente"
|
msgstr "Modelo eliminado exitosamente"
|
||||||
|
|
||||||
#: src/window.py:100
|
#: src/window.py:119
|
||||||
msgid "Model pulled successfully"
|
msgid "Model pulled successfully"
|
||||||
msgstr "Modelo descargado exitosamente"
|
msgstr "Modelo descargado exitosamente"
|
||||||
|
|
||||||
#: src/window.py:418
|
#: src/window.py:120
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Chat exported successfully"
|
||||||
|
msgstr "Modelo eliminado exitosamente"
|
||||||
|
|
||||||
|
#: src/window.py:121
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Chat imported successfully"
|
||||||
|
msgstr "Modelo descargado exitosamente"
|
||||||
|
|
||||||
|
#: src/window.py:471
|
||||||
msgid "Task Complete"
|
msgid "Task Complete"
|
||||||
msgstr "Tarea completada"
|
msgstr "Tarea completada"
|
||||||
|
|
||||||
#: src/window.py:418
|
#: src/window.py:471
|
||||||
msgid "Model '{}' pulled successfully."
|
msgid "Model '{}' pulled successfully."
|
||||||
msgstr "El modelo '{}' fue descargado exitosamente"
|
msgstr "El modelo '{}' fue descargado exitosamente"
|
||||||
|
|
||||||
#: src/window.py:424
|
#: src/window.py:476
|
||||||
msgid "Pull Model Error"
|
msgid "Pull Model Error"
|
||||||
msgstr "Error Descargando Modelo"
|
msgstr "Error Descargando Modelo"
|
||||||
|
|
||||||
#: src/window.py:424
|
#: src/window.py:476
|
||||||
msgid "Failed to pull model '{}' due to network error."
|
msgid "Failed to pull model '{}' due to network error."
|
||||||
msgstr "No se pudo descargar el modelo '{}' debido a un error de red"
|
msgstr "No se pudo descargar el modelo '{}' debido a un error de red"
|
||||||
|
|
||||||
#: src/window.py:436
|
#: src/window.py:492
|
||||||
msgid "Stop Model"
|
msgid "Stop Model"
|
||||||
msgstr "Parar Modelo"
|
msgstr "Parar Modelo"
|
||||||
|
|
||||||
#: src/window.py:437
|
#: src/window.py:493
|
||||||
msgid "Are you sure you want to stop pulling '{}'?"
|
msgid "Are you sure you want to stop pulling '{}'?"
|
||||||
msgstr "¿Estás seguro de que quieres parar la descarga de '{}'?"
|
msgstr "¿Estás seguro de que quieres parar la descarga de '{}'?"
|
||||||
|
|
||||||
#: src/window.py:440 src/window.py:478 src/window.py:501 src/window.py:575
|
#: src/window.py:496 src/window.py:539 src/window.py:562 src/window.py:635
|
||||||
#: src/window.py:636 src/window.py:685 src/window.py:712 src/window.py:745
|
#: src/window.py:708 src/window.py:734 src/window.py:766 src/window.py:807
|
||||||
#: src/window.py:785
|
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancelar"
|
msgstr "Cancelar"
|
||||||
|
|
||||||
#: src/window.py:441
|
#: src/window.py:497
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "Parar"
|
msgstr "Parar"
|
||||||
|
|
||||||
#: src/window.py:474
|
#: src/window.py:535
|
||||||
msgid "Delete Model"
|
msgid "Delete Model"
|
||||||
msgstr "Eliminar Modelo"
|
msgstr "Eliminar Modelo"
|
||||||
|
|
||||||
#: src/window.py:475 src/window.py:709
|
#: src/window.py:536 src/window.py:731
|
||||||
msgid "Are you sure you want to delete '{}'?"
|
msgid "Are you sure you want to delete '{}'?"
|
||||||
msgstr "¿Estás seguro de que quieres eliminar '{}'?"
|
msgstr "¿Estás seguro de que quieres eliminar '{}'?"
|
||||||
|
|
||||||
#: src/window.py:479 src/window.py:713
|
#: src/window.py:540 src/window.py:735
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Eliminar"
|
msgstr "Eliminar"
|
||||||
|
|
||||||
#: src/window.py:496
|
#: src/window.py:557
|
||||||
msgid "Pull Model"
|
msgid "Pull Model"
|
||||||
msgstr "Descargar Modelo"
|
msgstr "Descargar Modelo"
|
||||||
|
|
||||||
#: src/window.py:497
|
#: src/window.py:558
|
||||||
msgid "Please select a tag to pull '{}'"
|
msgid "Please select a tag to pull '{}'"
|
||||||
msgstr "Por favor selecciona una etiqueta para descargar '{}'"
|
msgstr "Por favor selecciona una etiqueta para descargar '{}'"
|
||||||
|
|
||||||
#: src/window.py:502
|
#: src/window.py:563
|
||||||
msgid "Pull"
|
msgid "Pull"
|
||||||
msgstr "Descargar"
|
msgstr "Descargar"
|
||||||
|
|
||||||
#: src/window.py:571 src/window.ui:439
|
#: src/window.py:631 src/window.ui:458
|
||||||
msgid "Clear Chat"
|
msgid "Clear Chat"
|
||||||
msgstr "Limpiar Chat"
|
msgstr "Limpiar Chat"
|
||||||
|
|
||||||
#: src/window.py:572
|
#: src/window.py:632
|
||||||
msgid "Are you sure you want to clear the chat?"
|
msgid "Are you sure you want to clear the chat?"
|
||||||
msgstr "¿Estás seguro de que quieres limpiar el chat?"
|
msgstr "¿Estás seguro de que quieres limpiar el chat?"
|
||||||
|
|
||||||
#: src/window.py:576
|
#: src/window.py:636
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr "Limpiar"
|
msgstr "Limpiar"
|
||||||
|
|
||||||
#: src/window.py:632
|
#: src/window.py:704
|
||||||
msgid "Save Changes"
|
|
||||||
msgstr "Guardar Cambios"
|
|
||||||
|
|
||||||
#: src/window.py:633
|
|
||||||
msgid "Do you want to save the URL change?"
|
|
||||||
msgstr "¿Deseas guardar el cambio de URL?"
|
|
||||||
|
|
||||||
#: src/window.py:637
|
|
||||||
msgid "Discard"
|
|
||||||
msgstr "Descartar"
|
|
||||||
|
|
||||||
#: src/window.py:638
|
|
||||||
msgid "Save"
|
|
||||||
msgstr "Guardar"
|
|
||||||
|
|
||||||
#: src/window.py:681
|
|
||||||
msgid "Remove Image"
|
msgid "Remove Image"
|
||||||
msgstr "Remover Imagen"
|
msgstr "Remover Imagen"
|
||||||
|
|
||||||
#: src/window.py:682
|
#: src/window.py:705
|
||||||
msgid "Are you sure you want to remove image?"
|
msgid "Are you sure you want to remove image?"
|
||||||
msgstr "¿Estás seguro de que quieres eliminar la imagen?"
|
msgstr "¿Estás seguro de que quieres eliminar la imagen?"
|
||||||
|
|
||||||
#: src/window.py:686
|
#: src/window.py:709 src/window.ui:478
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Remover"
|
msgstr "Remover"
|
||||||
|
|
||||||
#: src/window.py:708
|
#: src/window.py:730
|
||||||
msgid "Delete Chat"
|
msgid "Delete Chat"
|
||||||
msgstr "Eliminar Chat"
|
msgstr "Eliminar Chat"
|
||||||
|
|
||||||
#: src/window.py:739
|
#: src/window.py:760
|
||||||
msgid "Rename Chat"
|
msgid "Rename Chat"
|
||||||
msgstr "Renombrar Chat"
|
msgstr "Renombrar Chat"
|
||||||
|
|
||||||
#: src/window.py:746
|
#: src/window.py:767
|
||||||
msgid "Rename"
|
msgid "Rename"
|
||||||
msgstr "Renombrar"
|
msgstr "Renombrar"
|
||||||
|
|
||||||
#: src/window.py:766
|
#: src/window.py:788
|
||||||
msgid "The name '{}' is already in use"
|
msgid "The name '{}' is already in use"
|
||||||
msgstr "El nombre '{}' ya está en uso"
|
msgstr "El nombre '{}' ya está en uso"
|
||||||
|
|
||||||
#: src/window.py:779
|
#: src/window.py:801
|
||||||
msgid "Create Chat"
|
msgid "Create Chat"
|
||||||
msgstr "Crear Chat"
|
msgstr "Crear Chat"
|
||||||
|
|
||||||
#: src/window.py:786
|
#: src/window.py:808
|
||||||
msgid "Create"
|
msgid "Create"
|
||||||
msgstr "Crear"
|
msgstr "Crear"
|
||||||
|
|
||||||
#: src/window.ui:55
|
#: src/window.ui:45
|
||||||
msgid "Chats"
|
msgid "Chats"
|
||||||
msgstr "Chats"
|
msgstr "Chats"
|
||||||
|
|
||||||
#: src/window.ui:65
|
#: src/window.ui:55
|
||||||
|
msgid "Import chat"
|
||||||
|
msgstr "Importar chat"
|
||||||
|
|
||||||
|
#: src/window.ui:68
|
||||||
|
msgid "Export chat"
|
||||||
|
msgstr "Exportar chat"
|
||||||
|
|
||||||
|
#: src/window.ui:81
|
||||||
msgid "New chat"
|
msgid "New chat"
|
||||||
msgstr "Nuevo chat"
|
msgstr "Nuevo chat"
|
||||||
|
|
||||||
#: src/window.ui:101
|
#: src/window.ui:117
|
||||||
msgid "Toggle Sidebar"
|
msgid "Toggle Sidebar"
|
||||||
msgstr "Alternar barra de lado"
|
msgstr "Alternar barra de lado"
|
||||||
|
|
||||||
#: src/window.ui:122 src/window.ui:259
|
#: src/window.ui:138 src/window.ui:311
|
||||||
msgid "Manage models"
|
msgid "Manage models"
|
||||||
msgstr "Gestionar modelos"
|
msgstr "Gestionar modelos"
|
||||||
|
|
||||||
#: src/window.ui:136
|
#: src/window.ui:152
|
||||||
msgid "Menu"
|
msgid "Menu"
|
||||||
msgstr "Menu"
|
msgstr "Menu"
|
||||||
|
|
||||||
#: src/window.ui:215
|
#: src/window.ui:227
|
||||||
msgid "Send"
|
msgid "Send"
|
||||||
msgstr "Enviar"
|
msgstr "Enviar"
|
||||||
|
|
||||||
#: src/window.ui:224
|
#: src/window.ui:236
|
||||||
msgid "Requires model 'llava' to be selected"
|
msgid "Requires model 'llava' to be selected"
|
||||||
msgstr "Requiere que el modelo 'llava' sea seleccionado"
|
msgstr "Requiere que el modelo 'llava' sea seleccionado"
|
||||||
|
|
||||||
#: src/window.ui:227
|
#: src/window.ui:239
|
||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "Imagen"
|
msgstr "Imagen"
|
||||||
|
|
||||||
#: src/window.ui:344
|
#: src/window.ui:262 src/window.ui:462 src/window.ui:520
|
||||||
|
msgid "Preferences"
|
||||||
|
msgstr "Preferencias"
|
||||||
|
|
||||||
|
#: src/window.ui:265 src/window.ui:504
|
||||||
|
msgid "General"
|
||||||
|
msgstr "General"
|
||||||
|
|
||||||
|
#: src/window.ui:269
|
||||||
|
msgid "Remote Connection"
|
||||||
|
msgstr "Conexión Remota"
|
||||||
|
|
||||||
|
#: src/window.ui:270
|
||||||
|
msgid "Manage a remote connection to Ollama"
|
||||||
|
msgstr "Gestiona una conección remota a Ollama"
|
||||||
|
|
||||||
|
#: src/window.ui:273
|
||||||
|
msgid "Use remote connection"
|
||||||
|
msgstr "Usar conexión remota"
|
||||||
|
|
||||||
|
#: src/window.ui:278
|
||||||
|
msgid "URL of remote instance"
|
||||||
|
msgstr "URL de la instancia remota"
|
||||||
|
|
||||||
|
#: src/window.ui:286
|
||||||
|
msgid "Behavior"
|
||||||
|
msgstr "Comportamiento"
|
||||||
|
|
||||||
|
#: src/window.ui:287
|
||||||
|
msgid "Manage Alpaca's Behavior"
|
||||||
|
msgstr "Gestiona el comportamiento de Alpaca"
|
||||||
|
|
||||||
|
#: src/window.ui:290
|
||||||
|
msgid "Run in background"
|
||||||
|
msgstr "Ejecutar en el fondo"
|
||||||
|
|
||||||
|
#: src/window.ui:381
|
||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr "Anterior"
|
msgstr "Anterior"
|
||||||
|
|
||||||
#: src/window.ui:359
|
#: src/window.ui:396
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Siguiente"
|
msgstr "Siguiente"
|
||||||
|
|
||||||
#: src/window.ui:385
|
#: src/window.ui:422
|
||||||
msgid "Welcome to Alpaca"
|
msgid "Welcome to Alpaca"
|
||||||
msgstr "Bienvenido a Alpaca"
|
msgstr "Bienvenido a Alpaca"
|
||||||
|
|
||||||
#: src/window.ui:386
|
#: src/window.ui:423
|
||||||
msgid ""
|
msgid "Powered by Ollama"
|
||||||
"To get started, please ensure you have an Ollama instance set up. You can "
|
msgstr "Impulsado por Ollama"
|
||||||
"either run Ollama locally on your machine or connect to a remote instance."
|
|
||||||
msgstr ""
|
|
||||||
"Para iniciar, por favor asegurate de tener una instancia de Ollama "
|
|
||||||
"funcional. Puedes correr Ollama localmente o conectarte a una instancia "
|
|
||||||
"remota."
|
|
||||||
|
|
||||||
#: src/window.ui:389
|
#: src/window.ui:426
|
||||||
msgid "Ollama Website"
|
msgid "Ollama Website"
|
||||||
msgstr "Sitio Web de Ollama"
|
msgstr "Sitio Web de Ollama"
|
||||||
|
|
||||||
#: src/window.ui:406
|
#: src/window.ui:443
|
||||||
msgid ""
|
msgid ""
|
||||||
"Alpaca and its developers are not liable for any damages to devices or "
|
"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. "
|
"software resulting from the execution of code generated by an AI model. "
|
||||||
@@ -554,64 +696,76 @@ msgstr ""
|
|||||||
"un modelo de IA. Por favor sea precavido y revise el codigo cuidadosamente "
|
"un modelo de IA. Por favor sea precavido y revise el codigo cuidadosamente "
|
||||||
"antes de correrlo"
|
"antes de correrlo"
|
||||||
|
|
||||||
#: src/window.ui:418
|
#: src/window.ui:466
|
||||||
msgid "Setup"
|
|
||||||
msgstr "Setup"
|
|
||||||
|
|
||||||
#: src/window.ui:419
|
|
||||||
msgid ""
|
|
||||||
"If you are running an Ollama instance locally and haven't modified the "
|
|
||||||
"default ports, you can use the default URL. Otherwise, please enter the URL "
|
|
||||||
"of your Ollama instance."
|
|
||||||
msgstr ""
|
|
||||||
"Si estás corriendo una instancia local de Ollama y no modificaste los "
|
|
||||||
"puertos por defecto, puedes usar la URL por defecto. De otra forma, por "
|
|
||||||
"favor ingresa la URL de tu instancia de Ollama"
|
|
||||||
|
|
||||||
#: src/window.ui:443
|
|
||||||
msgid "Change Server"
|
|
||||||
msgstr "Cambiar Servidor"
|
|
||||||
|
|
||||||
#: src/window.ui:447
|
|
||||||
msgid "Keyboard Shortcuts"
|
msgid "Keyboard Shortcuts"
|
||||||
msgstr "Atajos de Teclado"
|
msgstr "Atajos de Teclado"
|
||||||
|
|
||||||
#: src/window.ui:451
|
#: src/window.ui:470
|
||||||
msgid "About Alpaca"
|
msgid "About Alpaca"
|
||||||
msgstr "Sobre Alpaca"
|
msgstr "Sobre Alpaca"
|
||||||
|
|
||||||
#: src/window.ui:473
|
#: src/window.ui:508
|
||||||
msgid "General"
|
|
||||||
msgstr "General"
|
|
||||||
|
|
||||||
#: src/window.ui:477
|
|
||||||
msgid "Close application"
|
msgid "Close application"
|
||||||
msgstr "Cerrar aplicación"
|
msgstr "Cerrar aplicación"
|
||||||
|
|
||||||
#: src/window.ui:483
|
#: src/window.ui:514
|
||||||
msgid "Clear chat"
|
msgid "Clear chat"
|
||||||
msgstr "Limpiar chat"
|
msgstr "Limpiar chat"
|
||||||
|
|
||||||
#: src/window.ui:489
|
#: src/window.ui:526
|
||||||
msgid "Change server"
|
|
||||||
msgstr "Cambiar servidor"
|
|
||||||
|
|
||||||
#: src/window.ui:495
|
|
||||||
msgid "Show shortcuts window"
|
msgid "Show shortcuts window"
|
||||||
msgstr "Mostrar ventana de atajos"
|
msgstr "Mostrar ventana de atajos"
|
||||||
|
|
||||||
#: src/window.ui:502
|
#: src/window.ui:533
|
||||||
msgid "Editor"
|
msgid "Editor"
|
||||||
msgstr "Editor"
|
msgstr "Editor"
|
||||||
|
|
||||||
#: src/window.ui:506
|
#: src/window.ui:537
|
||||||
msgid "Copy"
|
msgid "Copy"
|
||||||
msgstr "Copiar"
|
msgstr "Copiar"
|
||||||
|
|
||||||
#: src/window.ui:512
|
#: src/window.ui:543
|
||||||
msgid "Paste"
|
msgid "Paste"
|
||||||
msgstr "Pegar"
|
msgstr "Pegar"
|
||||||
|
|
||||||
#: src/window.ui:518
|
#: src/window.ui:549
|
||||||
msgid "Send Message"
|
msgid "Send Message"
|
||||||
msgstr "Enviar Mensaje"
|
msgstr "Enviar Mensaje"
|
||||||
|
|
||||||
|
#~ msgid "Save Changes"
|
||||||
|
#~ msgstr "Guardar Cambios"
|
||||||
|
|
||||||
|
#~ msgid "Do you want to save the URL change?"
|
||||||
|
#~ msgstr "¿Deseas guardar el cambio de URL?"
|
||||||
|
|
||||||
|
#~ msgid "Discard"
|
||||||
|
#~ msgstr "Descartar"
|
||||||
|
|
||||||
|
#~ msgid "Save"
|
||||||
|
#~ msgstr "Guardar"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "To get started, please ensure you have an Ollama instance set up. You can "
|
||||||
|
#~ "either run Ollama locally on your machine or connect to a remote instance."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Para iniciar, por favor asegurate de tener una instancia de Ollama "
|
||||||
|
#~ "funcional. Puedes correr Ollama localmente o conectarte a una instancia "
|
||||||
|
#~ "remota."
|
||||||
|
|
||||||
|
#~ msgid "Setup"
|
||||||
|
#~ msgstr "Setup"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "If you are running an Ollama instance locally and haven't modified the "
|
||||||
|
#~ "default ports, you can use the default URL. Otherwise, please enter the "
|
||||||
|
#~ "URL of your Ollama instance."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Si estás corriendo una instancia local de Ollama y no modificaste los "
|
||||||
|
#~ "puertos por defecto, puedes usar la URL por defecto. De otra forma, por "
|
||||||
|
#~ "favor ingresa la URL de tu instancia de Ollama"
|
||||||
|
|
||||||
|
#~ msgid "Change Server"
|
||||||
|
#~ msgstr "Cambiar Servidor"
|
||||||
|
|
||||||
|
#~ msgid "Change server"
|
||||||
|
#~ msgstr "Cambiar servidor"
|
||||||
|
|||||||
899
po/pt_BR.po
Normal file
899
po/pt_BR.po
Normal file
@@ -0,0 +1,899 @@
|
|||||||
|
# Brazilian Portuguese translations for Alpaca.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2024-05-24 18:50-0600\n"
|
||||||
|
"PO-Revision-Date: 2024-05-23 23:29-0600\n"
|
||||||
|
"Last-Translator: Daimar Stein <daimarstein@pm.me>\n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"Language: pt_BR\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.desktop.in:3
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:7
|
||||||
|
msgid "Alpaca"
|
||||||
|
msgstr "Alpaca"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:8
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Chat with local AI models"
|
||||||
|
msgstr "Converse com vários modelos de IA"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:10
|
||||||
|
msgid "An Ollama client"
|
||||||
|
msgstr "Um cliente de Ollama"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:11
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:286
|
||||||
|
msgid "Features"
|
||||||
|
msgstr "Funcionalidades"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:13
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:288
|
||||||
|
msgid "Talk to multiple models in the same conversation"
|
||||||
|
msgstr "Fale com múltiplos modelos na mesma conversa"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:14
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:289
|
||||||
|
msgid "Pull and delete models from the app"
|
||||||
|
msgstr "Baixe e delete modelos através do app"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:15
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Have multiple conversations"
|
||||||
|
msgstr "Fale com múltiplos modelos na mesma conversa"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:16
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Image recognition (Only available with LLaVA Model)"
|
||||||
|
msgstr "Reconhecimento de imagem foi adicionado (modelo llava)"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:17
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Import and export chats"
|
||||||
|
msgstr "A opção de importar e exportar conversas foi adicionada"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:19 src/window.ui:432
|
||||||
|
msgid "Disclaimer"
|
||||||
|
msgstr "Aviso Legal"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:20
|
||||||
|
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 ""
|
||||||
|
"Esse projeto não é afiliado de nenhuma forma com Ollama. Não sou responsável "
|
||||||
|
"por quaisquer danos ao seu dispositivo ou software causados por código "
|
||||||
|
"gerado por qualquer um dos modelos disponíveis."
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:23
|
||||||
|
msgid "Jeffry Samuel Eduarte Rojas"
|
||||||
|
msgstr "Jeffry Samuel Eduarte Rojas"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:47
|
||||||
|
#, fuzzy
|
||||||
|
msgid "A conversation showing code highlight"
|
||||||
|
msgstr "Uma conversa envolvendo múltiplos modelos"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:51
|
||||||
|
msgid "A conversation involving multiple models"
|
||||||
|
msgstr "Uma conversa envolvendo múltiplos modelos"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:55
|
||||||
|
msgid "Managing models"
|
||||||
|
msgstr "Gerenciando modelos"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:66
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Quick fix"
|
||||||
|
msgstr "Consertos Rápidos"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:68
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Updated Spanish translation"
|
||||||
|
msgstr "Tradução completa para o Espanhol foi adicionada"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:69
|
||||||
|
msgid "Added compatibility for PNG"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:76
|
||||||
|
#, fuzzy
|
||||||
|
msgid "New Update"
|
||||||
|
msgstr "Atualização Enorme"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:78
|
||||||
|
msgid "Updated model list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:79
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Added image recognition to more models"
|
||||||
|
msgstr "Reconhecimento de imagem foi adicionado (modelo llava)"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:80
|
||||||
|
msgid "Added Brazilian Portuguese translation (Thanks Daimaar Stein)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:81
|
||||||
|
msgid "Refined the general UI (Thanks Nokse22)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:82
|
||||||
|
msgid "Added 'delete message' feature"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:83
|
||||||
|
msgid ""
|
||||||
|
"Added metadata so that software distributors know that the app is compatible "
|
||||||
|
"with mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:84
|
||||||
|
msgid ""
|
||||||
|
"Changed 'send' shortcut to just the return/enter key (to add a new line use "
|
||||||
|
"shift+return)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:91
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Bug Fixes"
|
||||||
|
msgstr "0.2.2 Conserto de Bugs"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:93
|
||||||
|
msgid "Fixed: Minor spelling mistake"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:94
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Added 'mobile' as a supported form factor"
|
||||||
|
msgstr "Suporte para múltiplas conversas foi adicionado!"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:95
|
||||||
|
msgid "Fixed: 'Connection Error' dialog not working properly"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:96
|
||||||
|
msgid "Fixed: App might freeze randomly on startup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:97
|
||||||
|
msgid "Changed 'chats' label on sidebar for 'Alpaca'"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:104
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Cool Update"
|
||||||
|
msgstr "Atualização Legal"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:106
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Better design for chat window"
|
||||||
|
msgstr "Design da janela da conversa foi melhorado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:107
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Better design for chat sidebar"
|
||||||
|
msgstr "A interface da barra lateral das conversas foi melhorada"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:108
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Fixed remote connections"
|
||||||
|
msgstr "Conexões remotas foram consertadas"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:109
|
||||||
|
msgid "Fixed Ollama restarting in loop"
|
||||||
|
msgstr "Erro que fazia o Ollama reiniciar em loop foi consertado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:110
|
||||||
|
msgid "Other cool backend stuff"
|
||||||
|
msgstr "Outras coisas legais de backend"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:117
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Huge Update"
|
||||||
|
msgstr "Atualização Enorme"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:119
|
||||||
|
msgid "Added Ollama as part of Alpaca, Ollama will run in a sandbox"
|
||||||
|
msgstr "Ollama foi adicionado como parte do Alpaca, executado em sandbox"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:120
|
||||||
|
msgid "Added option to connect to remote instances (how it worked before)"
|
||||||
|
msgstr ""
|
||||||
|
"A opção de conectar com uma instância remota (como funcionava antes) foi "
|
||||||
|
"adicionada"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:121
|
||||||
|
msgid "Added option to import and export chats"
|
||||||
|
msgstr "A opção de importar e exportar conversas foi adicionada"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:122
|
||||||
|
msgid "Added option to run Alpaca with Ollama in the background"
|
||||||
|
msgstr "A opção de continuar sendo executado em segundo plano foi adicionada"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:123
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Added preferences dialog"
|
||||||
|
msgstr "Diálogo de preferências foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:124
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Changed the welcome dialog"
|
||||||
|
msgstr "O diálogo de boas-vindas foi modificado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:126
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:143
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:155
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:174
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:195
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:211
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:227
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:241
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:251
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:269
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:291
|
||||||
|
msgid "Please report any errors to the issues page, thank you."
|
||||||
|
msgstr "Por favor, reportar quaisquer erros na página de issues, obrigado."
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:134
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Yet Another Daily Update"
|
||||||
|
msgstr "Mais Uma Atualização Diária"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:136
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Added better UI for 'Manage Models' dialog"
|
||||||
|
msgstr "Uma melhor interface para 'Gerenciar Modelos' foi adicionada"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:137
|
||||||
|
msgid "Added better UI for the chat sidebar"
|
||||||
|
msgstr "Uma interface melhor para a barra lateral das conversas foi adicionada"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:138
|
||||||
|
msgid ""
|
||||||
|
"Replaced model description with a button to open Ollama's website for the "
|
||||||
|
"model"
|
||||||
|
msgstr ""
|
||||||
|
"A descrição dos modelos foi substituída com um botão para abrir o site do "
|
||||||
|
"Ollama para cada modelo"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:139
|
||||||
|
msgid "Added myself to the credits as the spanish translator"
|
||||||
|
msgstr "Me adicionei aos créditos como o tradutor para espanhol"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:140
|
||||||
|
msgid "Using XDG properly to get config folder"
|
||||||
|
msgstr "Agora a spec XDG é usada propriamente para ter uma pasta de config"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:141
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Update for translations"
|
||||||
|
msgstr "Melhor suporte a traduções"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:151
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Quick Fix"
|
||||||
|
msgstr "Consertos Rápidos"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:153
|
||||||
|
msgid "The last update had some mistakes in the description of the update"
|
||||||
|
msgstr "A última atualização teve alguns erros na descrição da mesma"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:163
|
||||||
|
msgid "Another Daily Update"
|
||||||
|
msgstr "Outra Atualização Diária"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:165
|
||||||
|
msgid "Added full Spanish translation"
|
||||||
|
msgstr "Tradução completa para o Espanhol foi adicionada"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:166
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Added support for background pulling of multiple models"
|
||||||
|
msgstr ""
|
||||||
|
"Suporte para o download de múltiplos modelos em segundo planofoi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:167
|
||||||
|
msgid "Added interrupt button"
|
||||||
|
msgstr "Um botão de interromper foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:168
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Added basic shortcuts"
|
||||||
|
msgstr "Atalhos de teclado básicos foram adicionados"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:169
|
||||||
|
msgid "Better translation support"
|
||||||
|
msgstr "Melhor suporte a traduções"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:170
|
||||||
|
msgid ""
|
||||||
|
"User can now leave chat name empty when creating a new one, it will add a "
|
||||||
|
"placeholder name"
|
||||||
|
msgstr ""
|
||||||
|
"O usuário agora pode deixar o nome da conversa vazio ao criar uma nova, um "
|
||||||
|
"nome substituto será gerado em seu lugar"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:171
|
||||||
|
msgid "Better scalling for different window sizes"
|
||||||
|
msgstr "Melhor escala para diferentes tamanhos de janela"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Fixed: Can't close app if first time setup fails"
|
||||||
|
msgstr ""
|
||||||
|
"Consertado: Não era possível fechar o app caso a configuração inicial "
|
||||||
|
"falhasse"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:182
|
||||||
|
msgid "Really Big Update"
|
||||||
|
msgstr "Uma Atualização Realmente Grande"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:184
|
||||||
|
msgid "Added multiple chats support!"
|
||||||
|
msgstr "Suporte para múltiplas conversas foi adicionado!"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:185
|
||||||
|
msgid "Added Pango Markup support (bold, list, title, subtitle, monospace)"
|
||||||
|
msgstr ""
|
||||||
|
"Suporte para Pango Markup (negrito, lista, título, subtítulo, monospace) foi "
|
||||||
|
"adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:186
|
||||||
|
msgid "Added autoscroll if the user is at the bottom of the chat"
|
||||||
|
msgstr ""
|
||||||
|
"Rolagem automática caso o usuário esteja na mensagem mais recente da "
|
||||||
|
"conversa foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:187
|
||||||
|
msgid "Added support for multiple tags on a single model"
|
||||||
|
msgstr "Suporte para múltiplas tags em um único modelo foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:188
|
||||||
|
msgid "Added better model management dialog"
|
||||||
|
msgstr "Um melhor diálogo de gerenciamento de modelos foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:189
|
||||||
|
msgid "Added loading spinner when sending message"
|
||||||
|
msgstr "Um spinner de carregamento ao mandar mensagens foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:190
|
||||||
|
msgid "Added notifications if app is not active and a model pull finishes"
|
||||||
|
msgstr ""
|
||||||
|
"Notificações caso o app não esteja ativo e o download de um modelo for "
|
||||||
|
"finalizado foram adicionadas"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:191
|
||||||
|
msgid "Added new symbolic icon"
|
||||||
|
msgstr "Um novo ícone simbólico foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:192
|
||||||
|
msgid "Added frame to message textview widget"
|
||||||
|
msgstr "Quadro ao redor do textview do widget de mensagem foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:193
|
||||||
|
msgid "Fixed \"code blocks shouldn't be editable\""
|
||||||
|
msgstr "Consertado \"blocos de código não deveriam ser editáveis\""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:203
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:260
|
||||||
|
msgid "Big Update"
|
||||||
|
msgstr "Grande Atualização"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:205
|
||||||
|
msgid "Added code highlighting"
|
||||||
|
msgstr "Highlighting de código foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:206
|
||||||
|
msgid "Added image recognition (llava model)"
|
||||||
|
msgstr "Reconhecimento de imagem foi adicionado (modelo llava)"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:207
|
||||||
|
msgid "Added multiline prompt"
|
||||||
|
msgstr "Prompt de múltiplas linhas foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:208
|
||||||
|
msgid "Fixed some small bugs"
|
||||||
|
msgstr "Pequenos erros foram consertados"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:209
|
||||||
|
msgid "General optimization"
|
||||||
|
msgstr "Otimização geral"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:219
|
||||||
|
msgid "Fixes and features"
|
||||||
|
msgstr "Consertos e funcionalidades"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:221
|
||||||
|
msgid "Russian translation (thanks github/alexkdeveloper)"
|
||||||
|
msgstr "Tradução para Russo (obrigado, github/alexkdeveloper)"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:222
|
||||||
|
msgid "Fixed: Cannot close app on first setup"
|
||||||
|
msgstr "Consertado: Não era possível fechar o app no setup inicial"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:223
|
||||||
|
msgid "Fixed: Brand colors for Flathub"
|
||||||
|
msgstr "Consertado: Cores de branding para o Flathub"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:224
|
||||||
|
msgid "Fixed: App description"
|
||||||
|
msgstr "Consertada: Descrição do app"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:225
|
||||||
|
msgid "Fixed: Only show 'save changes dialog' when you actually change the url"
|
||||||
|
msgstr ""
|
||||||
|
"Consertado: Somente exibir 'diálogo de salvamento de mudanças' quando "
|
||||||
|
"vocêrealmente mudar o URL"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:235
|
||||||
|
msgid "0.2.2 Bug fixes"
|
||||||
|
msgstr "0.2.2 Conserto de Bugs"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:237
|
||||||
|
msgid "Toast messages appearing behind dialogs"
|
||||||
|
msgstr "Mensagens toast aparecendo atrás de diálogos"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:238
|
||||||
|
msgid "Local model list not updating when changing servers"
|
||||||
|
msgstr "Lista de modelos locais não é atualizada ao mudar de servidor"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:239
|
||||||
|
msgid "Closing the setup dialog closes the whole app"
|
||||||
|
msgstr "Fechar o diálogo de primeira configuração fecha o app"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:249
|
||||||
|
msgid "0.2.1 Data saving fix"
|
||||||
|
msgstr "0.2.1 Conserto de Salvamento de Dados"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:250
|
||||||
|
msgid ""
|
||||||
|
"The app didn't save the config files and chat history to the right "
|
||||||
|
"directory, this is now fixed"
|
||||||
|
msgstr ""
|
||||||
|
"O app não salvava os arquivos de config. e o histórico de conversa para a "
|
||||||
|
"pasta correta, isso foi corrigido."
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:259
|
||||||
|
msgid "0.2.0"
|
||||||
|
msgstr "0.2.0"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:261
|
||||||
|
msgid "New Features"
|
||||||
|
msgstr "Novas Funcionalidades"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:263
|
||||||
|
msgid "Restore chat after closing the app"
|
||||||
|
msgstr "Restaura a conversa após fechar o app"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:264
|
||||||
|
msgid "A button to clear the chat"
|
||||||
|
msgstr "Um botão para limpar a conversa"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:265
|
||||||
|
msgid "Fixed multiple bugs involving how messages are shown"
|
||||||
|
msgstr ""
|
||||||
|
"Múltiplos bugs envolvendo como mensagens são exibidas foram consertados"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:266
|
||||||
|
msgid "Added welcome dialog"
|
||||||
|
msgstr "Um diálogo de boas-vindas foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:267
|
||||||
|
msgid "More stability"
|
||||||
|
msgstr "Maior estabilidade"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:277
|
||||||
|
msgid "0.1.2 Quick fixes"
|
||||||
|
msgstr "0.1.2 Consertos Rápidos"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:278
|
||||||
|
msgid ""
|
||||||
|
"This release fixes some metadata needed to have a proper Flatpak application"
|
||||||
|
msgstr ""
|
||||||
|
"Este lançamento conserta parte dos metadados necessários para ter um app em "
|
||||||
|
"Flatpak corretamente"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:284
|
||||||
|
msgid "0.1.1 Stable Release"
|
||||||
|
msgstr "0.1.1 Lançamento Estável"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:285
|
||||||
|
msgid "This is the first public version of Alpaca"
|
||||||
|
msgstr "Essa é a primeira versão pública de Alpaca"
|
||||||
|
|
||||||
|
#: src/window.py:57 src/window.py:783
|
||||||
|
msgid "New Chat"
|
||||||
|
msgstr "Nova Conversa"
|
||||||
|
|
||||||
|
#: src/window.py:102
|
||||||
|
msgid "An error occurred"
|
||||||
|
msgstr "Ocorreu um erro"
|
||||||
|
|
||||||
|
#: src/window.py:103
|
||||||
|
msgid "Failed to connect to server"
|
||||||
|
msgstr "Falha ao conectar com o servidor"
|
||||||
|
|
||||||
|
#: src/window.py:104
|
||||||
|
msgid "Could not list local models"
|
||||||
|
msgstr "Não foi possível listar modelos locais"
|
||||||
|
|
||||||
|
#: src/window.py:105
|
||||||
|
msgid "Could not delete model"
|
||||||
|
msgstr "Não foi possível excluir o modelo"
|
||||||
|
|
||||||
|
#: src/window.py:106
|
||||||
|
msgid "Could not pull model"
|
||||||
|
msgstr "Não foi possível baixar o modelo"
|
||||||
|
|
||||||
|
#: src/window.py:107
|
||||||
|
msgid "Cannot open image"
|
||||||
|
msgstr "Não foi possível abrir a imagem"
|
||||||
|
|
||||||
|
#: src/window.py:108
|
||||||
|
msgid "Cannot delete chat because it's the only one left"
|
||||||
|
msgstr "Não foi possível excluir a conversa por ser a única restante"
|
||||||
|
|
||||||
|
#: src/window.py:109
|
||||||
|
msgid "There was an error with the local Ollama instance, so it has been reset"
|
||||||
|
msgstr "Houve um erro com a instância local Ollama, a mesma foi desconfigurada"
|
||||||
|
|
||||||
|
#: src/window.py:112
|
||||||
|
msgid "Please select a model before chatting"
|
||||||
|
msgstr "Por favor, selecione um modelo antes de conversar"
|
||||||
|
|
||||||
|
#: src/window.py:113
|
||||||
|
msgid "Chat cannot be cleared while receiving a message"
|
||||||
|
msgstr "A conversa não pode ser limpa enquanto gera uma mensagem"
|
||||||
|
|
||||||
|
#: src/window.py:114
|
||||||
|
#, fuzzy
|
||||||
|
msgid "That tag is already being pulled"
|
||||||
|
msgstr "Esta tag já está sendo baixada"
|
||||||
|
|
||||||
|
#: src/window.py:115
|
||||||
|
#, fuzzy
|
||||||
|
msgid "That tag has been pulled already"
|
||||||
|
msgstr "Esta tag já foi baixada"
|
||||||
|
|
||||||
|
#: src/window.py:118
|
||||||
|
msgid "Model deleted successfully"
|
||||||
|
msgstr "Modelo excluído com sucesso"
|
||||||
|
|
||||||
|
#: src/window.py:119
|
||||||
|
msgid "Model pulled successfully"
|
||||||
|
msgstr "Modelo baixado com sucesso"
|
||||||
|
|
||||||
|
#: src/window.py:120
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Chat exported successfully"
|
||||||
|
msgstr "Conversa exportada com sucesso"
|
||||||
|
|
||||||
|
#: src/window.py:121
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Chat imported successfully"
|
||||||
|
msgstr "Conversa importada com sucesso"
|
||||||
|
|
||||||
|
#: src/window.py:476
|
||||||
|
msgid "Task Complete"
|
||||||
|
msgstr "Tarefa Concluída"
|
||||||
|
|
||||||
|
#: src/window.py:476
|
||||||
|
msgid "Model '{}' pulled successfully."
|
||||||
|
msgstr "O modelo '{}' foi baixado com sucesso"
|
||||||
|
|
||||||
|
#: src/window.py:481
|
||||||
|
msgid "Pull Model Error"
|
||||||
|
msgstr "Erro ao Baixar Modelo"
|
||||||
|
|
||||||
|
#: src/window.py:481
|
||||||
|
msgid "Failed to pull model '{}' due to network error."
|
||||||
|
msgstr "Não foi possível baixar o modelo '{}' devido a um erro de rede."
|
||||||
|
|
||||||
|
#: src/window.py:496
|
||||||
|
msgid "Stop Model"
|
||||||
|
msgstr "Parar Modelo"
|
||||||
|
|
||||||
|
#: src/window.py:497
|
||||||
|
msgid "Are you sure you want to stop pulling '{}'?"
|
||||||
|
msgstr "Tem certeza que deseja parar o download de '{}'?"
|
||||||
|
|
||||||
|
#: src/window.py:500 src/window.py:543 src/window.py:566 src/window.py:638
|
||||||
|
#: src/window.py:711 src/window.py:737 src/window.py:769 src/window.py:810
|
||||||
|
msgid "Cancel"
|
||||||
|
msgstr "Cancelar"
|
||||||
|
|
||||||
|
#: src/window.py:501
|
||||||
|
msgid "Stop"
|
||||||
|
msgstr "Parar"
|
||||||
|
|
||||||
|
#: src/window.py:539
|
||||||
|
msgid "Delete Model"
|
||||||
|
msgstr "Excluir Modelo"
|
||||||
|
|
||||||
|
#: src/window.py:540 src/window.py:734
|
||||||
|
msgid "Are you sure you want to delete '{}'?"
|
||||||
|
msgstr "Tem certeza que deseja excluir '{}'?"
|
||||||
|
|
||||||
|
#: src/window.py:544 src/window.py:738
|
||||||
|
msgid "Delete"
|
||||||
|
msgstr "Excluir"
|
||||||
|
|
||||||
|
#: src/window.py:561
|
||||||
|
msgid "Pull Model"
|
||||||
|
msgstr "Baixar Modelo"
|
||||||
|
|
||||||
|
#: src/window.py:562
|
||||||
|
msgid "Please select a tag to pull '{}'"
|
||||||
|
msgstr "Por favor, selecione uma tag para baixar '{}'"
|
||||||
|
|
||||||
|
#: src/window.py:567
|
||||||
|
msgid "Pull"
|
||||||
|
msgstr "Baixar"
|
||||||
|
|
||||||
|
#: src/window.py:634 src/window.ui:446
|
||||||
|
msgid "Clear Chat"
|
||||||
|
msgstr "Limpar Conversa"
|
||||||
|
|
||||||
|
#: src/window.py:635
|
||||||
|
msgid "Are you sure you want to clear the chat?"
|
||||||
|
msgstr "Tem certeza de que deseja limpar a conversa?"
|
||||||
|
|
||||||
|
#: src/window.py:639
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Limpar"
|
||||||
|
|
||||||
|
#: src/window.py:707
|
||||||
|
msgid "Remove Image"
|
||||||
|
msgstr "Remover Imagem"
|
||||||
|
|
||||||
|
#: src/window.py:708
|
||||||
|
msgid "Are you sure you want to remove image?"
|
||||||
|
msgstr "Tem certeza que quer remover a imagem?"
|
||||||
|
|
||||||
|
#: src/window.py:712 src/window.ui:466
|
||||||
|
msgid "Remove"
|
||||||
|
msgstr "Remover"
|
||||||
|
|
||||||
|
#: src/window.py:733
|
||||||
|
msgid "Delete Chat"
|
||||||
|
msgstr "Excluir Conversa"
|
||||||
|
|
||||||
|
#: src/window.py:763
|
||||||
|
msgid "Rename Chat"
|
||||||
|
msgstr "Renomear Conversa"
|
||||||
|
|
||||||
|
#: src/window.py:770
|
||||||
|
msgid "Rename"
|
||||||
|
msgstr "Renomear"
|
||||||
|
|
||||||
|
#: src/window.py:791
|
||||||
|
msgid "The name '{}' is already in use"
|
||||||
|
msgstr "O nome '{}' já está em uso"
|
||||||
|
|
||||||
|
#: src/window.py:804
|
||||||
|
msgid "Create Chat"
|
||||||
|
msgstr "Criar Conversa"
|
||||||
|
|
||||||
|
#: src/window.py:811
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Criar"
|
||||||
|
|
||||||
|
#: src/window.py:914
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Connection Error"
|
||||||
|
msgstr "Conexão Remota"
|
||||||
|
|
||||||
|
#: src/window.py:915
|
||||||
|
msgid "The remote instance has disconnected"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.py:919
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Close Alpaca"
|
||||||
|
msgstr "Bem-vindo(a) a Alpaca"
|
||||||
|
|
||||||
|
#: src/window.py:920
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Use local instance"
|
||||||
|
msgstr "URL da instância remota"
|
||||||
|
|
||||||
|
#: src/window.py:921
|
||||||
|
msgid "Connect"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.ui:40
|
||||||
|
msgid "New chat"
|
||||||
|
msgstr "Nova conversa"
|
||||||
|
|
||||||
|
#: src/window.ui:49
|
||||||
|
msgid "Import chat"
|
||||||
|
msgstr "Importar conversa"
|
||||||
|
|
||||||
|
#: src/window.ui:58
|
||||||
|
msgid "Export chat"
|
||||||
|
msgstr "Exportar conversa"
|
||||||
|
|
||||||
|
#: src/window.ui:90
|
||||||
|
msgid "Toggle Sidebar"
|
||||||
|
msgstr "Alternar barra lateral"
|
||||||
|
|
||||||
|
#: src/window.ui:111 src/window.ui:303
|
||||||
|
msgid "Manage models"
|
||||||
|
msgstr "Gerenciar modelos"
|
||||||
|
|
||||||
|
#: src/window.ui:125
|
||||||
|
msgid "Menu"
|
||||||
|
msgstr "Menu"
|
||||||
|
|
||||||
|
#: src/window.ui:216
|
||||||
|
msgid "Send"
|
||||||
|
msgstr "Enviar"
|
||||||
|
|
||||||
|
#: src/window.ui:225
|
||||||
|
msgid "Only available on selected models"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.ui:228
|
||||||
|
msgid "Image"
|
||||||
|
msgstr "Imagem"
|
||||||
|
|
||||||
|
#: src/window.ui:254 src/window.ui:450 src/window.ui:508
|
||||||
|
msgid "Preferences"
|
||||||
|
msgstr "Preferências"
|
||||||
|
|
||||||
|
#: src/window.ui:257 src/window.ui:492
|
||||||
|
msgid "General"
|
||||||
|
msgstr "Geral"
|
||||||
|
|
||||||
|
#: src/window.ui:261
|
||||||
|
msgid "Remote Connection"
|
||||||
|
msgstr "Conexão Remota"
|
||||||
|
|
||||||
|
#: src/window.ui:262
|
||||||
|
msgid "Manage a remote connection to Ollama"
|
||||||
|
msgstr "Gerencia uma conexão remota com Ollama"
|
||||||
|
|
||||||
|
#: src/window.ui:265
|
||||||
|
msgid "Use remote connection"
|
||||||
|
msgstr "Usar conexão remota"
|
||||||
|
|
||||||
|
#: src/window.ui:270
|
||||||
|
msgid "URL of remote instance"
|
||||||
|
msgstr "URL da instância remota"
|
||||||
|
|
||||||
|
#: src/window.ui:278
|
||||||
|
msgid "Behavior"
|
||||||
|
msgstr "Comportamento"
|
||||||
|
|
||||||
|
#: src/window.ui:279
|
||||||
|
msgid "Manage Alpaca's Behavior"
|
||||||
|
msgstr "Gerencia o Comportamento de Alpaca"
|
||||||
|
|
||||||
|
#: src/window.ui:282
|
||||||
|
msgid "Run in background"
|
||||||
|
msgstr "Executar em segundo plano"
|
||||||
|
|
||||||
|
#: src/window.ui:371
|
||||||
|
msgid "Previous"
|
||||||
|
msgstr "Anterior"
|
||||||
|
|
||||||
|
#: src/window.ui:386
|
||||||
|
msgid "Next"
|
||||||
|
msgstr "Próximo"
|
||||||
|
|
||||||
|
#: src/window.ui:412
|
||||||
|
msgid "Welcome to Alpaca"
|
||||||
|
msgstr "Bem-vindo(a) a Alpaca"
|
||||||
|
|
||||||
|
#: src/window.ui:413
|
||||||
|
msgid "Powered by Ollama"
|
||||||
|
msgstr "Com tecnologia Ollama"
|
||||||
|
|
||||||
|
#: src/window.ui:416
|
||||||
|
msgid "Ollama Website"
|
||||||
|
msgstr "Site do Ollama"
|
||||||
|
|
||||||
|
#: src/window.ui:433
|
||||||
|
msgid ""
|
||||||
|
"Alpaca and its developers are not liable for any damages to devices or "
|
||||||
|
"software resulting from the execution of code generated by an AI model. "
|
||||||
|
"Please exercise caution and review the code carefully before running it."
|
||||||
|
msgstr ""
|
||||||
|
"Alpaca e seus desenvolvedores não são responsáveis por quaisquer danos "
|
||||||
|
"causados a dispositivos ou software resultante da execução de código gerado "
|
||||||
|
"por um modelo de IA. Por favor, tenha cuidado e revise o código com cuidado "
|
||||||
|
"antes de executá-lo."
|
||||||
|
|
||||||
|
#: src/window.ui:454
|
||||||
|
msgid "Keyboard Shortcuts"
|
||||||
|
msgstr "Atalhos de Teclado"
|
||||||
|
|
||||||
|
#: src/window.ui:458
|
||||||
|
msgid "About Alpaca"
|
||||||
|
msgstr "Sobre Alpaca"
|
||||||
|
|
||||||
|
#: src/window.ui:496
|
||||||
|
msgid "Close application"
|
||||||
|
msgstr "Fechar aplicativo"
|
||||||
|
|
||||||
|
#: src/window.ui:502
|
||||||
|
msgid "Clear chat"
|
||||||
|
msgstr "Limpar chat"
|
||||||
|
|
||||||
|
#: src/window.ui:514
|
||||||
|
msgid "Show shortcuts window"
|
||||||
|
msgstr "Mostrar janela de atalhos"
|
||||||
|
|
||||||
|
#: src/window.ui:521
|
||||||
|
msgid "Editor"
|
||||||
|
msgstr "Editor"
|
||||||
|
|
||||||
|
#: src/window.ui:525
|
||||||
|
msgid "Copy"
|
||||||
|
msgstr "Copiar"
|
||||||
|
|
||||||
|
#: src/window.ui:531
|
||||||
|
msgid "Paste"
|
||||||
|
msgstr "Colar"
|
||||||
|
|
||||||
|
#: src/window.ui:537
|
||||||
|
msgid "Insert new line"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/window.ui:543
|
||||||
|
msgid "Send Message"
|
||||||
|
msgstr "Enviar Mensagem"
|
||||||
|
|
||||||
|
#~ msgid "Welcome dialog"
|
||||||
|
#~ msgstr "Diálogo de Boas-vindas"
|
||||||
|
|
||||||
|
#~ msgid "Chats"
|
||||||
|
#~ msgstr "Conversas"
|
||||||
|
|
||||||
|
#~ msgid "Requires model 'llava' to be selected"
|
||||||
|
#~ msgstr "Requer que um modelo 'llava' esteja selecionado"
|
||||||
|
|
||||||
|
#~ msgid "Save Changes"
|
||||||
|
#~ msgstr "Salvar Mudanças"
|
||||||
|
|
||||||
|
#~ msgid "Do you want to save the URL change?"
|
||||||
|
#~ msgstr "Deseja salvar as mudanças na URL?"
|
||||||
|
|
||||||
|
#~ msgid "Discard"
|
||||||
|
#~ msgstr "Descartar"
|
||||||
|
|
||||||
|
#~ msgid "Save"
|
||||||
|
#~ msgstr "Salvar"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "To get started, please ensure you have an Ollama instance set up. You can "
|
||||||
|
#~ "either run Ollama locally on your machine or connect to a remote instance."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Para iniciar, por favor assegure-se que você tem uma insância Ollama "
|
||||||
|
#~ "configurada e funcional. Você pode rodar Ollama localmente em sua máquina "
|
||||||
|
#~ "ou através de uma instância remota."
|
||||||
|
|
||||||
|
#~ msgid "Setup"
|
||||||
|
#~ msgstr "Setup"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "If you are running an Ollama instance locally and haven't modified the "
|
||||||
|
#~ "default ports, you can use the default URL. Otherwise, please enter the "
|
||||||
|
#~ "URL of your Ollama instance."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Caso esteja rodando uma instância Ollama localmente e não modificou as "
|
||||||
|
#~ "portas padrão, você pode usar a URL padrão. Caso contrário, por favor, "
|
||||||
|
#~ "insira a URL da sua instância Ollama."
|
||||||
|
|
||||||
|
#~ msgid "Change Server"
|
||||||
|
#~ msgstr "Mudar Servidor"
|
||||||
|
|
||||||
|
#~ msgid "Change server"
|
||||||
|
#~ msgstr "Mudar servidor"
|
||||||
770
po/pt_BR.po~
Normal file
770
po/pt_BR.po~
Normal file
@@ -0,0 +1,770 @@
|
|||||||
|
# Brazilian Portuguese translations for Alpaca.
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2024-05-23 22:38-0600\n"
|
||||||
|
"PO-Revision-Date: 2024-05-23 23:29-0600\n"
|
||||||
|
"Last-Translator: Daimar Stein <daimarstein@pm.me>\n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"Language: pt_BR\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.desktop.in:3
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:7
|
||||||
|
msgid "Alpaca"
|
||||||
|
msgstr "Alpaca"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:8
|
||||||
|
msgid "Chat with multiple AI models"
|
||||||
|
msgstr "Converse com vários modelos de IA"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:10
|
||||||
|
msgid "An Ollama client"
|
||||||
|
msgstr "Um cliente de Ollama"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:11
|
||||||
|
#: 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:241
|
||||||
|
msgid "Talk to multiple models in the same conversation"
|
||||||
|
msgstr "Fale com múltiplos modelos na mesma conversa"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:14
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:242
|
||||||
|
msgid "Pull and delete models from the app"
|
||||||
|
msgstr "Baixe e delete modelos através do app"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:16 src/window.ui:442
|
||||||
|
msgid "Disclaimer"
|
||||||
|
msgstr "Aviso Legal"
|
||||||
|
|
||||||
|
#: 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 ""
|
||||||
|
"Esse projeto não é afiliado de nenhuma forma com Ollama. Não sou "
|
||||||
|
"responsável por quaisquer danos ao seu dispositivo ou software causados "
|
||||||
|
"por código gerado por qualquer um dos modelos disponíveis."
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:20
|
||||||
|
msgid "Jeffry Samuel Eduarte Rojas"
|
||||||
|
msgstr "Jeffry Samuel Eduarte Rojas"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:38
|
||||||
|
msgid "Welcome dialog"
|
||||||
|
msgstr "Diálogo de Boas-vindas"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:42
|
||||||
|
msgid "A conversation involving multiple models"
|
||||||
|
msgstr "Uma conversa envolvendo múltiplos modelos"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:46
|
||||||
|
msgid "Managing models"
|
||||||
|
msgstr "Gerenciando modelos"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:57
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Cool Update"
|
||||||
|
msgstr "Atualização Legal"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:59
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Better design for chat window"
|
||||||
|
msgstr "Design da janela da conversa foi melhorado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:60
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Better design for chat sidebar"
|
||||||
|
msgstr "A interface da barra lateral das conversas foi melhorada"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:61
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Fixed remote connections"
|
||||||
|
msgstr "Conexões remotas foram consertadas"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:62
|
||||||
|
msgid "Fixed Ollama restarting in loop"
|
||||||
|
msgstr "Erro que fazia o Ollama reiniciar em loop foi consertado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:63
|
||||||
|
msgid "Other cool backend stuff"
|
||||||
|
msgstr "Outras coisas legais de backend"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:70
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Huge Update"
|
||||||
|
msgstr "Atualização Enorme"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:72
|
||||||
|
msgid "Added Ollama as part of Alpaca, Ollama will run in a sandbox"
|
||||||
|
msgstr "Ollama foi adicionado como parte do Alpaca, executado em sandbox"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:73
|
||||||
|
msgid "Added option to connect to remote instances (how it worked before)"
|
||||||
|
msgstr "A opção de conectar com uma instância remota (como funcionava antes) foi adicionada"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:74
|
||||||
|
msgid "Added option to import and export chats"
|
||||||
|
msgstr "A opção de importar e exportar conversas foi adicionada"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:75
|
||||||
|
msgid "Added option to run Alpaca with Ollama in the background"
|
||||||
|
msgstr "A opção de continuar sendo executado em segundo plano foi adicionada"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:76
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Added preferences dialog"
|
||||||
|
msgstr "Diálogo de preferências foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:77
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Changed the welcome dialog"
|
||||||
|
msgstr "O diálogo de boas-vindas foi modificado"
|
||||||
|
|
||||||
|
#: 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, reportar quaisquer erros na página de issues, obrigado."
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:87
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Yet Another Daily Update"
|
||||||
|
msgstr "Mais Uma Atualização Diária"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:89
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Added better UI for 'Manage Models' dialog"
|
||||||
|
msgstr "Uma melhor interface para 'Gerenciar Modelos' foi adicionada"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:90
|
||||||
|
msgid "Added better UI for the chat sidebar"
|
||||||
|
msgstr "Uma interface melhor para a barra lateral das conversas foi adicionada"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:91
|
||||||
|
msgid ""
|
||||||
|
"Replaced model description with a button to open Ollama's website for the "
|
||||||
|
"model"
|
||||||
|
msgstr ""
|
||||||
|
"A descrição dos modelos foi substituída com um botão para abrir o site do "
|
||||||
|
"Ollama para cada modelo"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:92
|
||||||
|
msgid "Added myself to the credits as the spanish translator"
|
||||||
|
msgstr "Me adicionei aos créditos como o tradutor para espanhol"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:93
|
||||||
|
msgid "Using XDG properly to get config folder"
|
||||||
|
msgstr "Agora a spec XDG é usada propriamente para ter uma pasta de config"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:94
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Update for translations"
|
||||||
|
msgstr "Melhor suporte a traduções"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:104
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Quick Fix"
|
||||||
|
msgstr "Consertos Rápidos"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:106
|
||||||
|
msgid "The last update had some mistakes in the description of the update"
|
||||||
|
msgstr ""
|
||||||
|
"A última atualização teve alguns erros na descrição da mesma"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:116
|
||||||
|
msgid "Another Daily Update"
|
||||||
|
msgstr "Outra Atualização Diária"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:118
|
||||||
|
msgid "Added full Spanish translation"
|
||||||
|
msgstr "Tradução completa para o Espanhol foi adicionada"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:119
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Added support for background pulling of multiple models"
|
||||||
|
msgstr "Suporte para o download de múltiplos modelos em segundo plano"
|
||||||
|
"foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:120
|
||||||
|
msgid "Added interrupt button"
|
||||||
|
msgstr "Um botão de interromper foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:121
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Added basic shortcuts"
|
||||||
|
msgstr "Atalhos de teclado básicos foram adicionados"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:122
|
||||||
|
msgid "Better translation support"
|
||||||
|
msgstr "Melhor suporte a traduções"
|
||||||
|
|
||||||
|
#: 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 ""
|
||||||
|
"O usuário agora pode deixar o nome da conversa vazio ao criar uma nova, um "
|
||||||
|
"nome substituto será gerado em seu lugar"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:124
|
||||||
|
msgid "Better scalling for different window sizes"
|
||||||
|
msgstr "Melhor escala para diferentes tamanhos de janela"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:125
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Fixed: Can't close app if first time setup fails"
|
||||||
|
msgstr "Consertado: Não era possível fechar o app caso a configuração "
|
||||||
|
"inicial falhasse"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:135
|
||||||
|
msgid "Really Big Update"
|
||||||
|
msgstr "Uma Atualização Realmente Grande"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:137
|
||||||
|
msgid "Added multiple chats support!"
|
||||||
|
msgstr "Suporte para múltiplas conversas foi adicionado!"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:138
|
||||||
|
msgid "Added Pango Markup support (bold, list, title, subtitle, monospace)"
|
||||||
|
msgstr ""
|
||||||
|
"Suporte para Pango Markup (negrito, lista, título, subtítulo, monospace) "
|
||||||
|
"foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:139
|
||||||
|
msgid "Added autoscroll if the user is at the bottom of the chat"
|
||||||
|
msgstr ""
|
||||||
|
"Rolagem automática caso o usuário esteja na mensagem mais recente da "
|
||||||
|
"conversa foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:140
|
||||||
|
msgid "Added support for multiple tags on a single model"
|
||||||
|
msgstr "Suporte para múltiplas tags em um único modelo foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:141
|
||||||
|
msgid "Added better model management dialog"
|
||||||
|
msgstr "Um melhor diálogo de gerenciamento de modelos foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:142
|
||||||
|
msgid "Added loading spinner when sending message"
|
||||||
|
msgstr "Um spinner de carregamento ao mandar mensagens foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:143
|
||||||
|
msgid "Added notifications if app is not active and a model pull finishes"
|
||||||
|
msgstr ""
|
||||||
|
"Notificações caso o app não esteja ativo e o download de um modelo for "
|
||||||
|
"finalizado foram adicionadas"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:144
|
||||||
|
msgid "Added new symbolic icon"
|
||||||
|
msgstr "Um novo ícone simbólico foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:145
|
||||||
|
msgid "Added frame to message textview widget"
|
||||||
|
msgstr "Quadro ao redor do textview do widget de mensagem foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:146
|
||||||
|
msgid "Fixed \"code blocks shouldn't be editable\""
|
||||||
|
msgstr "Consertado \"blocos de código não deveriam ser editáveis\""
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:156
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:213
|
||||||
|
msgid "Big Update"
|
||||||
|
msgstr "Grande Atualização"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:158
|
||||||
|
msgid "Added code highlighting"
|
||||||
|
msgstr "Highlighting de código foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:159
|
||||||
|
msgid "Added image recognition (llava model)"
|
||||||
|
msgstr "Reconhecimento de imagem foi adicionado (modelo llava)"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:160
|
||||||
|
msgid "Added multiline prompt"
|
||||||
|
msgstr "Prompt de múltiplas linhas foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:161
|
||||||
|
msgid "Fixed some small bugs"
|
||||||
|
msgstr "Pequenos erros foram consertados"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:162
|
||||||
|
msgid "General optimization"
|
||||||
|
msgstr "Otimização geral"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:172
|
||||||
|
msgid "Fixes and features"
|
||||||
|
msgstr "Consertos e funcionalidades"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:174
|
||||||
|
msgid "Russian translation (thanks github/alexkdeveloper)"
|
||||||
|
msgstr "Tradução para Russo (obrigado, github/alexkdeveloper)"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:175
|
||||||
|
msgid "Fixed: Cannot close app on first setup"
|
||||||
|
msgstr "Consertado: Não era possível fechar o app no setup inicial"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:176
|
||||||
|
msgid "Fixed: Brand colors for Flathub"
|
||||||
|
msgstr "Consertado: Cores de branding para o Flathub"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:177
|
||||||
|
msgid "Fixed: App description"
|
||||||
|
msgstr "Consertada: Descrição do app"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:178
|
||||||
|
msgid "Fixed: Only show 'save changes dialog' when you actually change the url"
|
||||||
|
msgstr ""
|
||||||
|
"Consertado: Somente exibir 'diálogo de salvamento de mudanças' quando você"
|
||||||
|
"realmente mudar o URL"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:188
|
||||||
|
msgid "0.2.2 Bug fixes"
|
||||||
|
msgstr "0.2.2 Conserto de Bugs"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:190
|
||||||
|
msgid "Toast messages appearing behind dialogs"
|
||||||
|
msgstr "Mensagens toast aparecendo atrás de diálogos"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:191
|
||||||
|
msgid "Local model list not updating when changing servers"
|
||||||
|
msgstr ""
|
||||||
|
"Lista de modelos locais não é atualizada ao mudar de servidor"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:192
|
||||||
|
msgid "Closing the setup dialog closes the whole app"
|
||||||
|
msgstr "Fechar o diálogo de primeira configuração fecha o app"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:202
|
||||||
|
msgid "0.2.1 Data saving fix"
|
||||||
|
msgstr "0.2.1 Conserto de Salvamento de Dados"
|
||||||
|
|
||||||
|
#: 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 ""
|
||||||
|
"O app não salvava os arquivos de config. e o histórico de conversa para "
|
||||||
|
"a pasta correta, isso foi corrigido."
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:212
|
||||||
|
msgid "0.2.0"
|
||||||
|
msgstr "0.2.0"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:214
|
||||||
|
msgid "New Features"
|
||||||
|
msgstr "Novas Funcionalidades"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:216
|
||||||
|
msgid "Restore chat after closing the app"
|
||||||
|
msgstr "Restaura a conversa após fechar o app"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:217
|
||||||
|
msgid "A button to clear the chat"
|
||||||
|
msgstr "Um botão para limpar a conversa"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:218
|
||||||
|
msgid "Fixed multiple bugs involving how messages are shown"
|
||||||
|
msgstr "Múltiplos bugs envolvendo como mensagens são exibidas foram consertados"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:219
|
||||||
|
msgid "Added welcome dialog"
|
||||||
|
msgstr "Um diálogo de boas-vindas foi adicionado"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:220
|
||||||
|
msgid "More stability"
|
||||||
|
msgstr "Maior estabilidade"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:230
|
||||||
|
msgid "0.1.2 Quick fixes"
|
||||||
|
msgstr "0.1.2 Consertos Rápidos"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:231
|
||||||
|
msgid ""
|
||||||
|
"This release fixes some metadata needed to have a proper Flatpak application"
|
||||||
|
msgstr ""
|
||||||
|
"Este lançamento conserta parte dos metadados necessários para ter um app em "
|
||||||
|
"Flatpak corretamente"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:237
|
||||||
|
msgid "0.1.1 Stable Release"
|
||||||
|
msgstr "0.1.1 Lançamento Estável"
|
||||||
|
|
||||||
|
#: data/com.jeffser.Alpaca.metainfo.xml.in:238
|
||||||
|
msgid "This is the first public version of Alpaca"
|
||||||
|
msgstr "Essa é a primeira versão pública de Alpaca"
|
||||||
|
|
||||||
|
#: src/window.py:56 src/window.py:780
|
||||||
|
msgid "New Chat"
|
||||||
|
msgstr "Nova Conversa"
|
||||||
|
|
||||||
|
#: src/window.py:102
|
||||||
|
msgid "An error occurred"
|
||||||
|
msgstr "Ocorreu um erro"
|
||||||
|
|
||||||
|
#: src/window.py:103
|
||||||
|
msgid "Failed to connect to server"
|
||||||
|
msgstr "Falha ao conectar com o servidor"
|
||||||
|
|
||||||
|
#: src/window.py:104
|
||||||
|
msgid "Could not list local models"
|
||||||
|
msgstr "Não foi possível listar modelos locais"
|
||||||
|
|
||||||
|
#: src/window.py:105
|
||||||
|
msgid "Could not delete model"
|
||||||
|
msgstr "Não foi possível excluir o modelo"
|
||||||
|
|
||||||
|
#: src/window.py:106
|
||||||
|
msgid "Could not pull model"
|
||||||
|
msgstr "Não foi possível baixar o modelo"
|
||||||
|
|
||||||
|
#: src/window.py:107
|
||||||
|
msgid "Cannot open image"
|
||||||
|
msgstr "Não foi possível abrir a imagem"
|
||||||
|
|
||||||
|
#: src/window.py:108
|
||||||
|
msgid "Cannot delete chat because it's the only one left"
|
||||||
|
msgstr "Não foi possível excluir a conversa por ser a única restante"
|
||||||
|
|
||||||
|
#: src/window.py:109
|
||||||
|
msgid "There was an error with the local Ollama instance, so it has been reset"
|
||||||
|
msgstr "Houve um erro com a instância local Ollama, a mesma foi desconfigurada"
|
||||||
|
|
||||||
|
#: src/window.py:112
|
||||||
|
msgid "Please select a model before chatting"
|
||||||
|
msgstr "Por favor, selecione um modelo antes de conversar"
|
||||||
|
|
||||||
|
#: src/window.py:113
|
||||||
|
msgid "Chat cannot be cleared while receiving a message"
|
||||||
|
msgstr "A conversa não pode ser limpa enquanto gera uma mensagem"
|
||||||
|
|
||||||
|
#: src/window.py:114
|
||||||
|
#, fuzzy
|
||||||
|
msgid "That tag is already being pulled"
|
||||||
|
msgstr "Esta tag já está sendo baixada"
|
||||||
|
|
||||||
|
#: src/window.py:115
|
||||||
|
msgid "That tag has been pulled alreay"
|
||||||
|
msgstr "Esta tag já foi baixada"
|
||||||
|
|
||||||
|
#: src/window.py:118
|
||||||
|
msgid "Model deleted successfully"
|
||||||
|
msgstr "Modelo excluído com sucesso"
|
||||||
|
|
||||||
|
#: src/window.py:119
|
||||||
|
msgid "Model pulled successfully"
|
||||||
|
msgstr "Modelo baixado com sucesso"
|
||||||
|
|
||||||
|
#: src/window.py:120
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Chat exported successfully"
|
||||||
|
msgstr "Conversa exportada com sucesso"
|
||||||
|
|
||||||
|
#: src/window.py:121
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Chat imported successfully"
|
||||||
|
msgstr "Conversa importada com sucesso"
|
||||||
|
|
||||||
|
#: src/window.py:471
|
||||||
|
msgid "Task Complete"
|
||||||
|
msgstr "Tarefa Concluída"
|
||||||
|
|
||||||
|
#: src/window.py:471
|
||||||
|
msgid "Model '{}' pulled successfully."
|
||||||
|
msgstr "O modelo '{}' foi baixado com sucesso"
|
||||||
|
|
||||||
|
#: src/window.py:476
|
||||||
|
msgid "Pull Model Error"
|
||||||
|
msgstr "Erro ao Baixar Modelo"
|
||||||
|
|
||||||
|
#: src/window.py:476
|
||||||
|
msgid "Failed to pull model '{}' due to network error."
|
||||||
|
msgstr "Não foi possível baixar o modelo '{}' devido a um erro de rede."
|
||||||
|
|
||||||
|
#: src/window.py:492
|
||||||
|
msgid "Stop Model"
|
||||||
|
msgstr "Parar Modelo"
|
||||||
|
|
||||||
|
#: src/window.py:493
|
||||||
|
msgid "Are you sure you want to stop pulling '{}'?"
|
||||||
|
msgstr "Tem certeza que deseja parar o download de '{}'?"
|
||||||
|
|
||||||
|
#: 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:497
|
||||||
|
msgid "Stop"
|
||||||
|
msgstr "Parar"
|
||||||
|
|
||||||
|
#: src/window.py:535
|
||||||
|
msgid "Delete Model"
|
||||||
|
msgstr "Excluir Modelo"
|
||||||
|
|
||||||
|
#: src/window.py:536 src/window.py:731
|
||||||
|
msgid "Are you sure you want to delete '{}'?"
|
||||||
|
msgstr "Tem certeza que deseja excluir '{}'?"
|
||||||
|
|
||||||
|
#: src/window.py:540 src/window.py:735
|
||||||
|
msgid "Delete"
|
||||||
|
msgstr "Excluir"
|
||||||
|
|
||||||
|
#: src/window.py:557
|
||||||
|
msgid "Pull Model"
|
||||||
|
msgstr "Baixar Modelo"
|
||||||
|
|
||||||
|
#: src/window.py:558
|
||||||
|
msgid "Please select a tag to pull '{}'"
|
||||||
|
msgstr "Por favor, selecione uma tag para baixar '{}'"
|
||||||
|
|
||||||
|
#: src/window.py:563
|
||||||
|
msgid "Pull"
|
||||||
|
msgstr "Baixar"
|
||||||
|
|
||||||
|
#: src/window.py:631 src/window.ui:458
|
||||||
|
msgid "Clear Chat"
|
||||||
|
msgstr "Limpar Conversa"
|
||||||
|
|
||||||
|
#: src/window.py:632
|
||||||
|
msgid "Are you sure you want to clear the chat?"
|
||||||
|
msgstr "Tem certeza de que deseja limpar a conversa?"
|
||||||
|
|
||||||
|
#: src/window.py:636
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Limpar"
|
||||||
|
|
||||||
|
#: src/window.py:704
|
||||||
|
msgid "Remove Image"
|
||||||
|
msgstr "Remover Imagem"
|
||||||
|
|
||||||
|
#: src/window.py:705
|
||||||
|
msgid "Are you sure you want to remove image?"
|
||||||
|
msgstr "Tem certeza que quer remover a imagem?"
|
||||||
|
|
||||||
|
#: src/window.py:709 src/window.ui:478
|
||||||
|
msgid "Remove"
|
||||||
|
msgstr "Remover"
|
||||||
|
|
||||||
|
#: src/window.py:730
|
||||||
|
msgid "Delete Chat"
|
||||||
|
msgstr "Excluir Conversa"
|
||||||
|
|
||||||
|
#: src/window.py:760
|
||||||
|
msgid "Rename Chat"
|
||||||
|
msgstr "Renomear Conversa"
|
||||||
|
|
||||||
|
#: src/window.py:767
|
||||||
|
msgid "Rename"
|
||||||
|
msgstr "Renomear"
|
||||||
|
|
||||||
|
#: src/window.py:788
|
||||||
|
msgid "The name '{}' is already in use"
|
||||||
|
msgstr "O nome '{}' já está em uso"
|
||||||
|
|
||||||
|
#: src/window.py:801
|
||||||
|
msgid "Create Chat"
|
||||||
|
msgstr "Criar Conversa"
|
||||||
|
|
||||||
|
#: src/window.py:808
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Criar"
|
||||||
|
|
||||||
|
#: src/window.ui:45
|
||||||
|
msgid "Chats"
|
||||||
|
msgstr "Conversas"
|
||||||
|
|
||||||
|
#: src/window.ui:55
|
||||||
|
msgid "Import chat"
|
||||||
|
msgstr "Importar conversa"
|
||||||
|
|
||||||
|
#: src/window.ui:68
|
||||||
|
msgid "Export chat"
|
||||||
|
msgstr "Exportar conversa"
|
||||||
|
|
||||||
|
#: src/window.ui:81
|
||||||
|
msgid "New chat"
|
||||||
|
msgstr "Nova conversa"
|
||||||
|
|
||||||
|
#: src/window.ui:117
|
||||||
|
msgid "Toggle Sidebar"
|
||||||
|
msgstr "Alternar barra lateral"
|
||||||
|
|
||||||
|
#: src/window.ui:138 src/window.ui:311
|
||||||
|
msgid "Manage models"
|
||||||
|
msgstr "Gerenciar modelos"
|
||||||
|
|
||||||
|
#: src/window.ui:152
|
||||||
|
msgid "Menu"
|
||||||
|
msgstr "Menu"
|
||||||
|
|
||||||
|
#: src/window.ui:227
|
||||||
|
msgid "Send"
|
||||||
|
msgstr "Enviar"
|
||||||
|
|
||||||
|
#: src/window.ui:236
|
||||||
|
msgid "Requires model 'llava' to be selected"
|
||||||
|
msgstr "Requer que um modelo 'llava' esteja selecionado"
|
||||||
|
|
||||||
|
#: src/window.ui:239
|
||||||
|
msgid "Image"
|
||||||
|
msgstr "Imagem"
|
||||||
|
|
||||||
|
#: src/window.ui:262 src/window.ui:462 src/window.ui:520
|
||||||
|
msgid "Preferences"
|
||||||
|
msgstr "Preferências"
|
||||||
|
|
||||||
|
#: src/window.ui:265 src/window.ui:504
|
||||||
|
msgid "General"
|
||||||
|
msgstr "Geral"
|
||||||
|
|
||||||
|
#: src/window.ui:269
|
||||||
|
msgid "Remote Connection"
|
||||||
|
msgstr "Conexão Remota"
|
||||||
|
|
||||||
|
#: src/window.ui:270
|
||||||
|
msgid "Manage a remote connection to Ollama"
|
||||||
|
msgstr "Gerencia uma conexão remota com Ollama"
|
||||||
|
|
||||||
|
#: src/window.ui:273
|
||||||
|
msgid "Use remote connection"
|
||||||
|
msgstr "Usar conexão remota"
|
||||||
|
|
||||||
|
#: src/window.ui:278
|
||||||
|
msgid "URL of remote instance"
|
||||||
|
msgstr "URL da instância remota"
|
||||||
|
|
||||||
|
#: src/window.ui:286
|
||||||
|
msgid "Behavior"
|
||||||
|
msgstr "Comportamento"
|
||||||
|
|
||||||
|
#: src/window.ui:287
|
||||||
|
msgid "Manage Alpaca's Behavior"
|
||||||
|
msgstr "Gerencia o Comportamento de Alpaca"
|
||||||
|
|
||||||
|
#: src/window.ui:290
|
||||||
|
msgid "Run in background"
|
||||||
|
msgstr "Executar em segundo plano"
|
||||||
|
|
||||||
|
#: src/window.ui:381
|
||||||
|
msgid "Previous"
|
||||||
|
msgstr "Anterior"
|
||||||
|
|
||||||
|
#: src/window.ui:396
|
||||||
|
msgid "Next"
|
||||||
|
msgstr "Próximo"
|
||||||
|
|
||||||
|
#: src/window.ui:422
|
||||||
|
msgid "Welcome to Alpaca"
|
||||||
|
msgstr "Bem-vindo(a) a Alpaca"
|
||||||
|
|
||||||
|
#: src/window.ui:423
|
||||||
|
msgid "Powered by Ollama"
|
||||||
|
msgstr "Com tecnologia Ollama"
|
||||||
|
|
||||||
|
#: src/window.ui:426
|
||||||
|
msgid "Ollama Website"
|
||||||
|
msgstr "Site do Ollama"
|
||||||
|
|
||||||
|
#: 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 ""
|
||||||
|
"Alpaca e seus desenvolvedores não são responsáveis por quaisquer danos "
|
||||||
|
"causados a dispositivos ou software resultante da execução de código "
|
||||||
|
"gerado por um modelo de IA. Por favor, tenha cuidado e revise o código "
|
||||||
|
"com cuidado antes de executá-lo."
|
||||||
|
|
||||||
|
#: src/window.ui:466
|
||||||
|
msgid "Keyboard Shortcuts"
|
||||||
|
msgstr "Atalhos de Teclado"
|
||||||
|
|
||||||
|
#: src/window.ui:470
|
||||||
|
msgid "About Alpaca"
|
||||||
|
msgstr "Sobre Alpaca"
|
||||||
|
|
||||||
|
#: src/window.ui:508
|
||||||
|
msgid "Close application"
|
||||||
|
msgstr "Fechar aplicativo"
|
||||||
|
|
||||||
|
#: src/window.ui:514
|
||||||
|
msgid "Clear chat"
|
||||||
|
msgstr "Limpar chat"
|
||||||
|
|
||||||
|
#: src/window.ui:526
|
||||||
|
msgid "Show shortcuts window"
|
||||||
|
msgstr "Mostrar janela de atalhos"
|
||||||
|
|
||||||
|
#: src/window.ui:533
|
||||||
|
msgid "Editor"
|
||||||
|
msgstr "Editor"
|
||||||
|
|
||||||
|
#: src/window.ui:537
|
||||||
|
msgid "Copy"
|
||||||
|
msgstr "Copiar"
|
||||||
|
|
||||||
|
#: src/window.ui:543
|
||||||
|
msgid "Paste"
|
||||||
|
msgstr "Colar"
|
||||||
|
|
||||||
|
#: src/window.ui:549
|
||||||
|
msgid "Send Message"
|
||||||
|
msgstr "Enviar Mensagem"
|
||||||
|
|
||||||
|
#~ msgid "Save Changes"
|
||||||
|
#~ msgstr "Salvar Mudanças"
|
||||||
|
|
||||||
|
#~ msgid "Do you want to save the URL change?"
|
||||||
|
#~ msgstr "Deseja salvar as mudanças na URL?"
|
||||||
|
|
||||||
|
#~ msgid "Discard"
|
||||||
|
#~ msgstr "Descartar"
|
||||||
|
|
||||||
|
#~ msgid "Save"
|
||||||
|
#~ msgstr "Salvar"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "To get started, please ensure you have an Ollama instance set up. You can "
|
||||||
|
#~ "either run Ollama locally on your machine or connect to a remote instance."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Para iniciar, por favor assegure-se que você tem uma insância Ollama "
|
||||||
|
#~ "configurada e funcional. Você pode rodar Ollama localmente em sua máquina "
|
||||||
|
#~ "ou através de uma instância remota."
|
||||||
|
|
||||||
|
#~ msgid "Setup"
|
||||||
|
#~ msgstr "Setup"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "If you are running an Ollama instance locally and haven't modified the "
|
||||||
|
#~ "default ports, you can use the default URL. Otherwise, please enter the "
|
||||||
|
#~ "URL of your Ollama instance."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Caso esteja rodando uma instância Ollama localmente e não modificou as "
|
||||||
|
#~ "portas padrão, você pode usar a URL padrão. Caso contrário, por favor, "
|
||||||
|
#~ "insira a URL da sua instância Ollama."
|
||||||
|
|
||||||
|
#~ msgid "Change Server"
|
||||||
|
#~ msgstr "Mudar Servidor"
|
||||||
|
|
||||||
|
#~ msgid "Change server"
|
||||||
|
#~ msgstr "Mudar servidor"
|
||||||
595
po/ru.po~
595
po/ru.po~
@@ -2,8 +2,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2024-05-19 21:53-0600\n"
|
"POT-Creation-Date: 2024-05-22 19:17+0800\n"
|
||||||
"PO-Revision-Date: 2024-05-20 16:59+0800\n"
|
"PO-Revision-Date: 2024-05-22 19:33+0800\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"Language: ru_RU\n"
|
"Language: ru_RU\n"
|
||||||
@@ -29,555 +29,366 @@ msgctxt "shortcut window"
|
|||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr "Выйти"
|
msgstr "Выйти"
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.desktop.in:3
|
#: window.py:54 window.py:761
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:7
|
|
||||||
msgid "Alpaca"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:8
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:11
|
|
||||||
msgid "An Ollama client"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:10
|
|
||||||
msgid "Chat with multiple AI models"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:12
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:193
|
|
||||||
msgid "Features"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:14
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:195
|
|
||||||
msgid "Talk to multiple models in the same conversation"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:15
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:196
|
|
||||||
msgid "Pull and delete models from the app"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:18
|
|
||||||
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:21
|
|
||||||
msgid "Jeffry Samuel Eduarte Rojas"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:39
|
|
||||||
msgid "Welcome dialog"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:43
|
|
||||||
msgid "A conversation involving multiple models"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:47
|
|
||||||
msgid "Managing models"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:58
|
|
||||||
msgid "Quick Fix"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:60
|
|
||||||
msgid "The last update had some mistakes in the description of the update"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:62
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:81
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:102
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:118
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:134
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:148
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:158
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:176
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:198
|
|
||||||
msgid "Please report any errors to the issues page, thank you."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:70
|
|
||||||
msgid "Another Daily Update"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:72
|
|
||||||
msgid "Added full Spanish translation"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:73
|
|
||||||
msgid "Added support for background pulling of multiple models"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:74
|
|
||||||
msgid "Added interrupt button"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:75
|
|
||||||
#, fuzzy
|
|
||||||
msgid "Added basic shortcuts"
|
|
||||||
msgstr "Показывать ярлыки"
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:76
|
|
||||||
msgid "Better translation support"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:77
|
|
||||||
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:78
|
|
||||||
msgid "Better scalling for different window sizes"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:79
|
|
||||||
msgid "Fixed: Can't close app if first time setup fails"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:89
|
|
||||||
msgid "Really Big Update"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:91
|
|
||||||
msgid "Added multiple chats support!"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:92
|
|
||||||
msgid "Added Pango Markup support (bold, list, title, subtitle, monospace)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:93
|
|
||||||
msgid "Added autoscroll if the user is at the bottom of the chat"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:94
|
|
||||||
msgid "Added support for multiple tags on a single model"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:95
|
|
||||||
msgid "Added better model management dialog"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:96
|
|
||||||
msgid "Added loading spinner when sending message"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:97
|
|
||||||
msgid "Added notifications if app is not active and a model pull finishes"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:98
|
|
||||||
msgid "Added new symbolic icon"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:99
|
|
||||||
msgid "Added frame to message textview widget"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:100
|
|
||||||
msgid "Fixed \"code blocks shouldn't be editable\""
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:110
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:167
|
|
||||||
msgid "Big Update"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:112
|
|
||||||
msgid "Added code highlighting"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:113
|
|
||||||
msgid "Added image recognition (llava model)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:114
|
|
||||||
msgid "Added multiline prompt"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:115
|
|
||||||
msgid "Fixed some small bugs"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:116
|
|
||||||
msgid "General optimization"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:126
|
|
||||||
msgid "Fixes and features"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:128
|
|
||||||
msgid "Russian translation (thanks github/alexkdeveloper)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:129
|
|
||||||
msgid "Fixed: Cannot close app on first setup"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:130
|
|
||||||
msgid "Fixed: Brand colors for Flathub"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:131
|
|
||||||
msgid "Fixed: App description"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:132
|
|
||||||
msgid "Fixed: Only show 'save changes dialog' when you actually change the url"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:142
|
|
||||||
msgid "0.2.2 Bug fixes"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:144
|
|
||||||
msgid "Toast messages appearing behind dialogs"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:145
|
|
||||||
msgid "Local model list not updating when changing servers"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:146
|
|
||||||
msgid "Closing the setup dialog closes the whole app"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:156
|
|
||||||
msgid "0.2.1 Data saving fix"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:157
|
|
||||||
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:166
|
|
||||||
msgid "0.2.0"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:168
|
|
||||||
msgid "New Features"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:170
|
|
||||||
msgid "Restore chat after closing the app"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:171
|
|
||||||
msgid "A button to clear the chat"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:172
|
|
||||||
msgid "Fixed multiple bugs involving how messages are shown"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:173
|
|
||||||
msgid "Added welcome dialog"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:174
|
|
||||||
msgid "More stability"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:184
|
|
||||||
msgid "0.1.2 Quick fixes"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:185
|
|
||||||
msgid "This release fixes some metadata needed to have a proper Flatpak application"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:191
|
|
||||||
msgid "0.1.1 Stable Release"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: data/com.jeffser.Alpaca.metainfo.xml.in:192
|
|
||||||
msgid "This is the first public version of Alpaca"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: window.py:47
|
|
||||||
msgid "New Chat"
|
msgid "New Chat"
|
||||||
msgstr "Новый Чат"
|
msgstr "Новый Чат"
|
||||||
|
|
||||||
#: window.py:86
|
#: window.py:100
|
||||||
msgid "An error occurred"
|
msgid "An error occurred"
|
||||||
msgstr "Произошла ошибка"
|
msgstr "Произошла ошибка"
|
||||||
|
|
||||||
#: window.py:87
|
#: window.py:101
|
||||||
msgid "Failed to connect to server"
|
msgid "Failed to connect to server"
|
||||||
msgstr "Не удалось подключиться к серверу"
|
msgstr "Не удалось подключиться к серверу"
|
||||||
|
|
||||||
#: window.py:88
|
#: window.py:102
|
||||||
msgid "Could not list local models"
|
msgid "Could not list local models"
|
||||||
msgstr "Не удалось перечислить локальные модели"
|
msgstr "Не удалось перечислить локальные модели"
|
||||||
|
|
||||||
#: window.py:89
|
#: window.py:103
|
||||||
msgid "Could not delete model"
|
msgid "Could not delete model"
|
||||||
msgstr "Не удалось удалить модель"
|
msgstr "Не удалось удалить модель"
|
||||||
|
|
||||||
#: window.py:90
|
#: window.py:104
|
||||||
msgid "Could not pull model"
|
msgid "Could not pull model"
|
||||||
msgstr "Не удалось извлечь модель"
|
msgstr "Не удалось извлечь модель"
|
||||||
|
|
||||||
#: window.py:91
|
#: window.py:105
|
||||||
msgid "Cannot open image"
|
msgid "Cannot open image"
|
||||||
msgstr "Не удается открыть изображение"
|
msgstr "Не удается открыть изображение"
|
||||||
|
|
||||||
#: window.py:92
|
#: window.py:106
|
||||||
msgid "Cannot delete chat because it's the only one left"
|
msgid "Cannot delete chat because it's the only one left"
|
||||||
msgstr "Не удается удалить чат, потому что он единственный оставшийся"
|
msgstr "Не удается удалить чат, потому что он единственный оставшийся"
|
||||||
|
|
||||||
#: window.py:95
|
#: 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"
|
msgid "Please select a model before chatting"
|
||||||
msgstr "Пожалуйста, выберите модель перед началом общения"
|
msgstr "Пожалуйста, выберите модель перед началом общения"
|
||||||
|
|
||||||
#: window.py:96
|
#: window.py:111
|
||||||
msgid "Chat cannot be cleared while receiving a message"
|
msgid "Chat cannot be cleared while receiving a message"
|
||||||
msgstr "Чат не может быть удален при получении сообщения"
|
msgstr "Чат не может быть удален при получении сообщения"
|
||||||
|
|
||||||
#: window.py:99
|
#: 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"
|
msgid "Model deleted successfully"
|
||||||
msgstr "Модель успешно удалена"
|
msgstr "Модель успешно удалена"
|
||||||
|
|
||||||
#: window.py:100
|
#: window.py:117
|
||||||
msgid "Model pulled successfully"
|
msgid "Model pulled successfully"
|
||||||
msgstr "Модель успешно извлечена"
|
msgstr "Модель успешно извлечена"
|
||||||
|
|
||||||
#: window.py:418
|
#: window.py:118
|
||||||
|
msgid "Chat exported successfully"
|
||||||
|
msgstr "Чат успешно экспортирован"
|
||||||
|
|
||||||
|
#: window.py:119
|
||||||
|
msgid "Chat imported successfully"
|
||||||
|
msgstr "Чат успешно импортирован"
|
||||||
|
|
||||||
|
#: window.py:451
|
||||||
msgid "Task Complete"
|
msgid "Task Complete"
|
||||||
msgstr "Задача выполнена"
|
msgstr "Задача выполнена"
|
||||||
|
|
||||||
#: window.py:418
|
#: window.py:451
|
||||||
msgid "Model '{}' pulled successfully."
|
msgid "Model '{}' pulled successfully."
|
||||||
msgstr "Модель '{}' успешно извлечена."
|
msgstr "Модель '{}' успешно извлечена."
|
||||||
|
|
||||||
#: window.py:424
|
#: window.py:456
|
||||||
msgid "Pull Model Error"
|
msgid "Pull Model Error"
|
||||||
msgstr "Ошибка Извлечения Модели"
|
msgstr "Ошибка Извлечения Модели"
|
||||||
|
|
||||||
#: window.py:424
|
#: window.py:456
|
||||||
msgid "Failed to pull model '{}' due to network error."
|
msgid "Failed to pull model '{}' due to network error."
|
||||||
msgstr "Не удалось извлечь модель '{}' из-за сетевой ошибки."
|
msgstr "Не удалось извлечь модель '{}' из-за сетевой ошибки."
|
||||||
|
|
||||||
#: window.py:436
|
#: window.py:472
|
||||||
msgid "Stop Model"
|
msgid "Stop Model"
|
||||||
msgstr "Остановить Модель"
|
msgstr "Остановить Модель"
|
||||||
|
|
||||||
#: window.py:437
|
#: window.py:473
|
||||||
msgid "Are you sure you want to stop pulling '{}'?"
|
msgid "Are you sure you want to stop pulling '{}'?"
|
||||||
msgstr "Вы уверены, что хотите прекратить извлечение '{}'?"
|
msgstr "Вы уверены, что хотите прекратить извлечение '{}'?"
|
||||||
|
|
||||||
#: window.py:440 window.py:478 window.py:501 window.py:575 window.py:636
|
#: window.py:476 window.py:519 window.py:542 window.py:615 window.py:688
|
||||||
#: window.py:685 window.py:712 window.py:745 window.py:778
|
#: window.py:715 window.py:748 window.py:788
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Отмена"
|
msgstr "Отмена"
|
||||||
|
|
||||||
#: window.py:441
|
#: window.py:477
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "Стоп"
|
msgstr "Стоп"
|
||||||
|
|
||||||
#: window.py:474
|
#: window.py:515
|
||||||
msgid "Delete Model"
|
msgid "Delete Model"
|
||||||
msgstr "Удалить Модель"
|
msgstr "Удалить Модель"
|
||||||
|
|
||||||
#: window.py:475 window.py:709
|
#: window.py:516 window.py:712
|
||||||
msgid "Are you sure you want to delete '{}'?"
|
msgid "Are you sure you want to delete '{}'?"
|
||||||
msgstr "Вы уверены, что хотите удалить '{}'?"
|
msgstr "Вы уверены, что хотите удалить '{}'?"
|
||||||
|
|
||||||
#: window.py:479 window.py:713
|
#: window.py:520 window.py:716
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Удалить"
|
msgstr "Удалить"
|
||||||
|
|
||||||
#: window.py:496
|
#: window.py:537
|
||||||
msgid "Pull Model"
|
msgid "Pull Model"
|
||||||
msgstr "Извлечение модели"
|
msgstr "Извлечение модели"
|
||||||
|
|
||||||
#: window.py:497
|
#: window.py:538
|
||||||
msgid "Please select a tag to pull '{}'"
|
msgid "Please select a tag to pull '{}'"
|
||||||
msgstr "Пожалуйста, выберите тег для извлечения '{}'"
|
msgstr "Пожалуйста, выберите тег для извлечения '{}'"
|
||||||
|
|
||||||
#: window.py:502
|
#: window.py:543
|
||||||
msgid "Pull"
|
msgid "Pull"
|
||||||
msgstr "Извлечение"
|
msgstr "Извлечение"
|
||||||
|
|
||||||
#: window.py:571 window.ui:439
|
#: window.py:611 window.ui:462
|
||||||
msgid "Clear Chat"
|
msgid "Clear Chat"
|
||||||
msgstr "Очистить Чат"
|
msgstr "Очистить Чат"
|
||||||
|
|
||||||
#: window.py:572
|
#: window.py:612
|
||||||
msgid "Are you sure you want to clear the chat?"
|
msgid "Are you sure you want to clear the chat?"
|
||||||
msgstr "Вы уверены, что хотите очистить чат?"
|
msgstr "Вы уверены, что хотите очистить чат?"
|
||||||
|
|
||||||
#: window.py:576
|
#: window.py:616
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr "Очистить"
|
msgstr "Очистить"
|
||||||
|
|
||||||
#: window.py:632
|
#: window.py:684
|
||||||
msgid "Save Changes"
|
|
||||||
msgstr "Сохранить Изменения"
|
|
||||||
|
|
||||||
#: window.py:633
|
|
||||||
msgid "Do you want to save the URL change?"
|
|
||||||
msgstr "Хотите сохранить изменение URL?"
|
|
||||||
|
|
||||||
#: window.py:637
|
|
||||||
msgid "Discard"
|
|
||||||
msgstr "Отказаться"
|
|
||||||
|
|
||||||
#: window.py:638
|
|
||||||
msgid "Save"
|
|
||||||
msgstr "Сохранить"
|
|
||||||
|
|
||||||
#: window.py:681
|
|
||||||
msgid "Remove Image"
|
msgid "Remove Image"
|
||||||
msgstr "Удалить Изображение"
|
msgstr "Удалить Изображение"
|
||||||
|
|
||||||
#: window.py:682
|
#: window.py:685
|
||||||
msgid "Are you sure you want to remove image?"
|
msgid "Are you sure you want to remove image?"
|
||||||
msgstr "Вы уверены, что хотите удалить изображение?"
|
msgstr "Вы уверены, что хотите удалить изображение?"
|
||||||
|
|
||||||
#: window.py:686
|
#: window.py:689
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Удалить"
|
msgstr "Удалить"
|
||||||
|
|
||||||
#: window.py:708
|
#: window.py:711
|
||||||
msgid "Delete Chat"
|
msgid "Delete Chat"
|
||||||
msgstr "Удалить Чат"
|
msgstr "Удалить Чат"
|
||||||
|
|
||||||
#: window.py:739
|
#: window.py:742
|
||||||
msgid "Rename Chat"
|
msgid "Rename Chat"
|
||||||
msgstr "Переименовать Чат"
|
msgstr "Переименовать Чат"
|
||||||
|
|
||||||
#: window.py:746
|
#: window.py:749
|
||||||
msgid "Rename"
|
msgid "Rename"
|
||||||
msgstr "Переименовать"
|
msgstr "Переименовать"
|
||||||
|
|
||||||
#: window.py:759
|
#: window.py:769
|
||||||
msgid "The name '{}' is already in use"
|
msgid "The name '{}' is already in use"
|
||||||
msgstr "Имя '{}' уже используется"
|
msgstr "Имя '{}' уже используется"
|
||||||
|
|
||||||
#: window.py:772
|
#: window.py:782
|
||||||
msgid "Create Chat"
|
msgid "Create Chat"
|
||||||
msgstr "Создать Чат"
|
msgstr "Создать Чат"
|
||||||
|
|
||||||
#: window.py:779
|
#: window.py:789
|
||||||
msgid "Create"
|
msgid "Create"
|
||||||
msgstr "Создать"
|
msgstr "Создать"
|
||||||
|
|
||||||
#: window.ui:55
|
#: window.ui:46
|
||||||
msgid "Chats"
|
msgid "Chats"
|
||||||
msgstr "Чаты"
|
msgstr "Чаты"
|
||||||
|
|
||||||
#: window.ui:65
|
#: window.ui:56
|
||||||
|
msgid "Import chat"
|
||||||
|
msgstr "Импорт чата"
|
||||||
|
|
||||||
|
#: window.ui:69
|
||||||
|
msgid "Export chat"
|
||||||
|
msgstr "Экспорт чата"
|
||||||
|
|
||||||
|
#: window.ui:82
|
||||||
msgid "New chat"
|
msgid "New chat"
|
||||||
msgstr "Новый чат"
|
msgstr "Новый чат"
|
||||||
|
|
||||||
#: window.ui:101
|
#: window.ui:118
|
||||||
msgid "Toggle Sidebar"
|
msgid "Toggle Sidebar"
|
||||||
msgstr "Переключение боковой панели"
|
msgstr "Переключение боковой панели"
|
||||||
|
|
||||||
#: window.ui:122
|
#: window.ui:139 window.ui:315
|
||||||
msgid "Manage models"
|
msgid "Manage models"
|
||||||
msgstr "Управление моделями"
|
msgstr "Управление моделями"
|
||||||
|
|
||||||
#: window.ui:136
|
#: window.ui:153
|
||||||
msgid "Menu"
|
msgid "Menu"
|
||||||
msgstr "Меню"
|
msgstr "Меню"
|
||||||
|
|
||||||
#: window.ui:215
|
#: window.ui:231
|
||||||
msgid "Send"
|
msgid "Send"
|
||||||
msgstr "Отправить"
|
msgstr "Отправить"
|
||||||
|
|
||||||
#: window.ui:224
|
#: window.ui:240
|
||||||
msgid "Requires model 'llava' to be selected"
|
msgid "Requires model 'llava' to be selected"
|
||||||
msgstr "Требуется выбрать модель \"llava\""
|
msgstr "Требуется выбрать модель \"llava\""
|
||||||
|
|
||||||
#: window.ui:227
|
#: window.ui:243
|
||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "Изображение"
|
msgstr "Изображение"
|
||||||
|
|
||||||
#: window.ui:344
|
#: window.ui:266 window.ui:466 window.ui:517
|
||||||
msgid "Previous"
|
msgid "Preferences"
|
||||||
msgstr "Предыдущий"
|
msgstr "Настройки"
|
||||||
|
|
||||||
#: window.ui:359
|
#: window.ui:269 window.ui:501
|
||||||
msgid "Next"
|
|
||||||
msgstr "Следующий"
|
|
||||||
|
|
||||||
#: window.ui:385
|
|
||||||
msgid "Welcome to Alpaca"
|
|
||||||
msgstr "Добро пожаловать в Alpaca"
|
|
||||||
|
|
||||||
#: window.ui:386
|
|
||||||
msgid "To get started, please ensure you have an Ollama instance set up. You can either run Ollama locally on your machine or connect to a remote instance."
|
|
||||||
msgstr "Для начала, пожалуйста, убедитесь, что у вас настроен экземпляр Ollama. Вы можете либо запустить Ollama локально на своем компьютере, либо подключиться к удаленному экземпляру."
|
|
||||||
|
|
||||||
#: window.ui:389
|
|
||||||
msgid "Ollama Website"
|
|
||||||
msgstr "Веб-сайт Ollama"
|
|
||||||
|
|
||||||
#: window.ui:405
|
|
||||||
msgid "Disclaimer"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: window.ui:406
|
|
||||||
msgid "Alpaca and its developers are not liable for any damages to devices or software resulting from the execution of code generated by an AI model. Please exercise caution and review the code carefully before running it."
|
|
||||||
msgstr "Alpaca и ее разработчики не несут ответственности за любой ущерб, причиненный устройствам или программному обеспечению в результате выполнения кода, сгенерированного с помощью модели искусственного интеллекта. Пожалуйста, будьте осторожны и внимательно ознакомьтесь с кодом перед его запуском."
|
|
||||||
|
|
||||||
#: window.ui:418
|
|
||||||
msgid "Setup"
|
|
||||||
msgstr "Установка"
|
|
||||||
|
|
||||||
#: window.ui:419
|
|
||||||
msgid "If you are running an Ollama instance locally and haven't modified the default ports, you can use the default URL. Otherwise, please enter the URL of your Ollama instance."
|
|
||||||
msgstr "Если вы запускаете локальный экземпляр Ollama и не изменили порты по умолчанию, вы можете использовать URL-адрес по умолчанию. В противном случае, пожалуйста, введите URL-адрес вашего экземпляра Ollama."
|
|
||||||
|
|
||||||
#: window.ui:443
|
|
||||||
msgid "Change Server"
|
|
||||||
msgstr "Изменить Сервер"
|
|
||||||
|
|
||||||
#: window.ui:447
|
|
||||||
msgid "Keyboard Shortcuts"
|
|
||||||
msgstr "Комбинации Клавиш"
|
|
||||||
|
|
||||||
#: window.ui:451
|
|
||||||
msgid "About Alpaca"
|
|
||||||
msgstr "О Программе"
|
|
||||||
|
|
||||||
#: window.ui:473
|
|
||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Общие"
|
msgstr "Общие"
|
||||||
|
|
||||||
#: window.ui:477
|
#: window.ui:273
|
||||||
|
msgid "Remote Connection"
|
||||||
|
msgstr "Удаленное подключение"
|
||||||
|
|
||||||
|
#: window.ui:274
|
||||||
|
msgid "Manage a remote connection to Ollama"
|
||||||
|
msgstr "Управление удаленным подключением к Ollama"
|
||||||
|
|
||||||
|
#: window.ui:277
|
||||||
|
msgid "Use remote connection"
|
||||||
|
msgstr "Использовать удаленное подключение"
|
||||||
|
|
||||||
|
#: window.ui:282
|
||||||
|
msgid "URL of remote instance"
|
||||||
|
msgstr "URL-адрес удаленного экземпляра"
|
||||||
|
|
||||||
|
#: window.ui:290
|
||||||
|
msgid "Behavior"
|
||||||
|
msgstr "Поведение"
|
||||||
|
|
||||||
|
#: window.ui:291
|
||||||
|
msgid "Manage Alpaca's Behavior"
|
||||||
|
msgstr "Управление поведением Alpaca"
|
||||||
|
|
||||||
|
#: window.ui:294
|
||||||
|
msgid "Run in background"
|
||||||
|
msgstr "Запуск в фоновом режиме"
|
||||||
|
|
||||||
|
#: window.ui:385
|
||||||
|
msgid "Previous"
|
||||||
|
msgstr "Предыдущий"
|
||||||
|
|
||||||
|
#: window.ui:400
|
||||||
|
msgid "Next"
|
||||||
|
msgstr "Следующий"
|
||||||
|
|
||||||
|
#: window.ui:426
|
||||||
|
msgid "Welcome to Alpaca"
|
||||||
|
msgstr "Добро пожаловать в Alpaca"
|
||||||
|
|
||||||
|
#: window.ui:427
|
||||||
|
msgid "Powered by Ollama"
|
||||||
|
msgstr "При поддержке Ollama"
|
||||||
|
|
||||||
|
#: window.ui:430
|
||||||
|
msgid "Ollama Website"
|
||||||
|
msgstr "Веб-сайт Ollama"
|
||||||
|
|
||||||
|
#: 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. "
|
||||||
|
"Please exercise caution and review the code carefully before running it."
|
||||||
|
msgstr ""
|
||||||
|
"Alpaca и ее разработчики не несут ответственности за любой ущерб, "
|
||||||
|
"причиненный устройствам или программному обеспечению в результате выполнения "
|
||||||
|
"кода, сгенерированного с помощью модели искусственного интеллекта. "
|
||||||
|
"Пожалуйста, будьте осторожны и внимательно ознакомьтесь с кодом перед его "
|
||||||
|
"запуском."
|
||||||
|
|
||||||
|
#: window.ui:470
|
||||||
|
msgid "Keyboard Shortcuts"
|
||||||
|
msgstr "Комбинации Клавиш"
|
||||||
|
|
||||||
|
#: window.ui:474
|
||||||
|
msgid "About Alpaca"
|
||||||
|
msgstr "О Программе"
|
||||||
|
|
||||||
|
#: window.ui:505
|
||||||
msgid "Close application"
|
msgid "Close application"
|
||||||
msgstr "Закрыть приложение"
|
msgstr "Закрыть приложение"
|
||||||
|
|
||||||
#: window.ui:483
|
#: window.ui:511
|
||||||
msgid "Clear chat"
|
msgid "Clear chat"
|
||||||
msgstr "Очистить чат"
|
msgstr "Очистить чат"
|
||||||
|
|
||||||
#: window.ui:489
|
#: window.ui:523
|
||||||
msgid "Change server"
|
|
||||||
msgstr "Изменить Сервер"
|
|
||||||
|
|
||||||
#: window.ui:495
|
|
||||||
msgid "Show shortcuts window"
|
msgid "Show shortcuts window"
|
||||||
msgstr "Показать окно комбинаций клавиш"
|
msgstr "Показать окно комбинаций клавиш"
|
||||||
|
|
||||||
#: window.ui:502
|
#: window.ui:530
|
||||||
msgid "Editor"
|
msgid "Editor"
|
||||||
msgstr "Редактор"
|
msgstr "Редактор"
|
||||||
|
|
||||||
#: window.ui:506
|
#: window.ui:534
|
||||||
msgid "Copy"
|
msgid "Copy"
|
||||||
msgstr "Копировать"
|
msgstr "Копировать"
|
||||||
|
|
||||||
#: window.ui:512
|
#: window.ui:540
|
||||||
msgid "Paste"
|
msgid "Paste"
|
||||||
msgstr "Вставить"
|
msgstr "Вставить"
|
||||||
|
|
||||||
#: window.ui:518
|
#: window.ui:546
|
||||||
msgid "Send Message"
|
msgid "Send Message"
|
||||||
msgstr ""
|
msgstr "Отправить Сообщение"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#~ msgid "Added basic shortcuts"
|
||||||
|
#~ msgstr "Показывать ярлыки"
|
||||||
|
|
||||||
|
#~ msgid "Save Changes"
|
||||||
|
#~ msgstr "Сохранить Изменения"
|
||||||
|
|
||||||
|
#~ msgid "Do you want to save the URL change?"
|
||||||
|
#~ msgstr "Хотите сохранить изменение URL?"
|
||||||
|
|
||||||
|
#~ msgid "Discard"
|
||||||
|
#~ msgstr "Отказаться"
|
||||||
|
|
||||||
|
#~ msgid "Save"
|
||||||
|
#~ msgstr "Сохранить"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "To get started, please ensure you have an Ollama instance set up. You can "
|
||||||
|
#~ "either run Ollama locally on your machine or connect to a remote instance."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Для начала, пожалуйста, убедитесь, что у вас настроен экземпляр Ollama. "
|
||||||
|
#~ "Вы можете либо запустить Ollama локально на своем компьютере, либо "
|
||||||
|
#~ "подключиться к удаленному экземпляру."
|
||||||
|
|
||||||
|
#~ msgid "Setup"
|
||||||
|
#~ msgstr "Установка"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "If you are running an Ollama instance locally and haven't modified the "
|
||||||
|
#~ "default ports, you can use the default URL. Otherwise, please enter the "
|
||||||
|
#~ "URL of your Ollama instance."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Если вы запускаете локальный экземпляр Ollama и не изменили порты по "
|
||||||
|
#~ "умолчанию, вы можете использовать URL-адрес по умолчанию. В противном "
|
||||||
|
#~ "случае, пожалуйста, введите URL-адрес вашего экземпляра Ollama."
|
||||||
|
|
||||||
|
#~ msgid "Change Server"
|
||||||
|
#~ msgstr "Изменить Сервер"
|
||||||
|
|
||||||
|
#~ msgid "Change server"
|
||||||
|
#~ msgstr "Изменить Сервер"
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<gresources>
|
<gresources>
|
||||||
<gresource prefix="/com/jeffser/Alpaca">
|
<gresource prefix="/com/jeffser/Alpaca">
|
||||||
|
<file>style.css</file>
|
||||||
|
<file>style-dark.css</file>
|
||||||
<file preprocess="xml-stripblanks">window.ui</file>
|
<file preprocess="xml-stripblanks">window.ui</file>
|
||||||
<file preprocess="xml-stripblanks">gtk/help-overlay.ui</file>
|
<file preprocess="xml-stripblanks">gtk/help-overlay.ui</file>
|
||||||
</gresource>
|
</gresource>
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -34,7 +34,7 @@ class AlpacaApplication(Adw.Application):
|
|||||||
flags=Gio.ApplicationFlags.DEFAULT_FLAGS)
|
flags=Gio.ApplicationFlags.DEFAULT_FLAGS)
|
||||||
self.create_action('quit', lambda *_: self.quit(), ['<primary>q'])
|
self.create_action('quit', lambda *_: self.quit(), ['<primary>q'])
|
||||||
self.create_action('clear', lambda *_: AlpacaWindow.clear_chat_dialog(self.props.active_window), ['<primary>e'])
|
self.create_action('clear', lambda *_: AlpacaWindow.clear_chat_dialog(self.props.active_window), ['<primary>e'])
|
||||||
self.create_action('reconnect', lambda *_: AlpacaWindow.show_connection_dialog(self.props.active_window), ['<primary>r'])
|
self.create_action('preferences', lambda *_: AlpacaWindow.show_preferences_dialog(self.props.active_window), ['<primary>p'])
|
||||||
self.create_action('about', self.on_about_action)
|
self.create_action('about', self.on_about_action)
|
||||||
|
|
||||||
def do_activate(self):
|
def do_activate(self):
|
||||||
@@ -48,11 +48,11 @@ class AlpacaApplication(Adw.Application):
|
|||||||
application_name='Alpaca',
|
application_name='Alpaca',
|
||||||
application_icon='com.jeffser.Alpaca',
|
application_icon='com.jeffser.Alpaca',
|
||||||
developer_name='Jeffry Samuel Eduarte Rojas',
|
developer_name='Jeffry Samuel Eduarte Rojas',
|
||||||
version='0.5.5',
|
version='0.8.1',
|
||||||
developers=['Jeffser https://jeffser.com'],
|
developers=['Jeffser https://jeffser.com'],
|
||||||
designers=['Jeffser https://jeffser.com'],
|
designers=['Jeffser https://jeffser.com'],
|
||||||
translator_credits='Alex K (Russian) https://github.com/alexkdeveloper\nJeffser (Spanish) https://jeffser.com',
|
translator_credits='Alex K (Russian) https://github.com/alexkdeveloper\nJeffser (Spanish) https://jeffser.com\nDaimar Stein (Brazilian Portuguese) https://github.com/not-a-dev-stein',
|
||||||
copyright='© 2024 Jeffser',
|
copyright='© 2024 Jeffser\n© 2024 Ollama',
|
||||||
issue_url='https://github.com/Jeffser/Alpaca/issues')
|
issue_url='https://github.com/Jeffser/Alpaca/issues')
|
||||||
about.present(parent=self.props.active_window)
|
about.present(parent=self.props.active_window)
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ alpaca_sources = [
|
|||||||
'main.py',
|
'main.py',
|
||||||
'window.py',
|
'window.py',
|
||||||
'connection_handler.py',
|
'connection_handler.py',
|
||||||
'available_models.py',
|
'available_models.py'
|
||||||
]
|
]
|
||||||
|
|
||||||
install_data(alpaca_sources, install_dir: moduledir)
|
install_data(alpaca_sources, install_dir: moduledir)
|
||||||
|
|||||||
7
src/style-dark.css
Normal file
7
src/style-dark.css
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
.message-input {
|
||||||
|
background-color: #343434;
|
||||||
|
}
|
||||||
|
|
||||||
|
.message-text-view {
|
||||||
|
background-color: #343434;
|
||||||
|
}
|
||||||
28
src/style.css
Normal file
28
src/style.css
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
.message-input {
|
||||||
|
background-color: #EBEBEB;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.message-text-view {
|
||||||
|
background-color: #EBEBEB;
|
||||||
|
}
|
||||||
|
.chat_row box.header {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
.chat_row box {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.chat_row button {
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity .05s;
|
||||||
|
}
|
||||||
|
.chat_row:hover button {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.message .delete-message-button {
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity .05s;
|
||||||
|
}
|
||||||
|
.message:hover .delete-message-button {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
418
src/window.py
418
src/window.py
@@ -21,7 +21,8 @@ import gi
|
|||||||
gi.require_version('GtkSource', '5')
|
gi.require_version('GtkSource', '5')
|
||||||
gi.require_version('GdkPixbuf', '2.0')
|
gi.require_version('GdkPixbuf', '2.0')
|
||||||
from gi.repository import Adw, Gtk, Gdk, GLib, GtkSource, Gio, GdkPixbuf
|
from gi.repository import Adw, Gtk, Gdk, GLib, GtkSource, Gio, GdkPixbuf
|
||||||
import json, requests, threading, os, re, base64, sys, gettext, locale, webbrowser
|
import json, requests, threading, os, re, base64, sys, gettext, locale, webbrowser, subprocess
|
||||||
|
from time import sleep
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
@@ -31,6 +32,9 @@ from .available_models import available_models
|
|||||||
@Gtk.Template(resource_path='/com/jeffser/Alpaca/window.ui')
|
@Gtk.Template(resource_path='/com/jeffser/Alpaca/window.ui')
|
||||||
class AlpacaWindow(Adw.ApplicationWindow):
|
class AlpacaWindow(Adw.ApplicationWindow):
|
||||||
config_dir = os.getenv("XDG_CONFIG_HOME")
|
config_dir = os.getenv("XDG_CONFIG_HOME")
|
||||||
|
data_dir = os.getenv("XDG_DATA_HOME")
|
||||||
|
app_dir = os.getenv("FLATPAK_DEST")
|
||||||
|
|
||||||
__gtype_name__ = 'AlpacaWindow'
|
__gtype_name__ = 'AlpacaWindow'
|
||||||
|
|
||||||
localedir = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'locale')
|
localedir = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'locale')
|
||||||
@@ -41,32 +45,38 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
_ = gettext.gettext
|
_ = gettext.gettext
|
||||||
|
|
||||||
#Variables
|
#Variables
|
||||||
ollama_url = None
|
run_on_background = False
|
||||||
|
ollama_url = ""
|
||||||
|
remote_url = ""
|
||||||
|
run_remote = False
|
||||||
|
local_ollama_port = 11435
|
||||||
|
local_ollama_instance = None
|
||||||
local_models = []
|
local_models = []
|
||||||
pulling_models = {}
|
pulling_models = {}
|
||||||
|
current_chat_elements = [] #Used for deleting
|
||||||
chats = {"chats": {_("New Chat"): {"messages": []}}, "selected_chat": "New Chat"}
|
chats = {"chats": {_("New Chat"): {"messages": []}}, "selected_chat": "New Chat"}
|
||||||
attached_image = {"path": None, "base64": None}
|
attached_image = {"path": None, "base64": None}
|
||||||
first_time_setup = False
|
first_time_setup = False
|
||||||
|
|
||||||
#Elements
|
#Elements
|
||||||
|
preferences_dialog = Gtk.Template.Child()
|
||||||
shortcut_window : Gtk.ShortcutsWindow = Gtk.Template.Child()
|
shortcut_window : Gtk.ShortcutsWindow = Gtk.Template.Child()
|
||||||
bot_message : Gtk.TextBuffer = None
|
bot_message : Gtk.TextBuffer = None
|
||||||
bot_message_box : Gtk.Box = None
|
bot_message_box : Gtk.Box = None
|
||||||
bot_message_view : Gtk.TextView = None
|
bot_message_view : Gtk.TextView = None
|
||||||
connection_dialog = Gtk.Template.Child()
|
welcome_dialog = Gtk.Template.Child()
|
||||||
connection_carousel = Gtk.Template.Child()
|
welcome_carousel = Gtk.Template.Child()
|
||||||
connection_previous_button = Gtk.Template.Child()
|
welcome_previous_button = Gtk.Template.Child()
|
||||||
connection_next_button = Gtk.Template.Child()
|
welcome_next_button = Gtk.Template.Child()
|
||||||
connection_url_entry = Gtk.Template.Child()
|
|
||||||
main_overlay = Gtk.Template.Child()
|
main_overlay = Gtk.Template.Child()
|
||||||
manage_models_overlay = Gtk.Template.Child()
|
manage_models_overlay = Gtk.Template.Child()
|
||||||
connection_overlay = Gtk.Template.Child()
|
|
||||||
chat_container = Gtk.Template.Child()
|
chat_container = Gtk.Template.Child()
|
||||||
chat_window = Gtk.Template.Child()
|
chat_window = Gtk.Template.Child()
|
||||||
message_text_view = Gtk.Template.Child()
|
message_text_view = Gtk.Template.Child()
|
||||||
send_button = Gtk.Template.Child()
|
send_button = Gtk.Template.Child()
|
||||||
image_button = Gtk.Template.Child()
|
image_button = Gtk.Template.Child()
|
||||||
file_filter_image = Gtk.Template.Child()
|
file_filter_image = Gtk.Template.Child()
|
||||||
|
file_filter_json = Gtk.Template.Child()
|
||||||
model_drop_down = Gtk.Template.Child()
|
model_drop_down = Gtk.Template.Child()
|
||||||
model_string_list = Gtk.Template.Child()
|
model_string_list = Gtk.Template.Child()
|
||||||
|
|
||||||
@@ -78,9 +88,15 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
|
|
||||||
chat_list_box = Gtk.Template.Child()
|
chat_list_box = Gtk.Template.Child()
|
||||||
add_chat_button = Gtk.Template.Child()
|
add_chat_button = Gtk.Template.Child()
|
||||||
|
export_chat_button = Gtk.Template.Child()
|
||||||
|
import_chat_button = Gtk.Template.Child()
|
||||||
|
|
||||||
loading_spinner = None
|
loading_spinner = None
|
||||||
|
|
||||||
|
background_switch = Gtk.Template.Child()
|
||||||
|
remote_connection_switch = Gtk.Template.Child()
|
||||||
|
remote_connection_entry = Gtk.Template.Child()
|
||||||
|
|
||||||
toast_messages = {
|
toast_messages = {
|
||||||
"error": [
|
"error": [
|
||||||
_("An error occurred"),
|
_("An error occurred"),
|
||||||
@@ -89,15 +105,20 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
_("Could not delete model"),
|
_("Could not delete model"),
|
||||||
_("Could not pull model"),
|
_("Could not pull model"),
|
||||||
_("Cannot open image"),
|
_("Cannot open image"),
|
||||||
_("Cannot delete chat because it's the only one left")
|
_("Cannot delete chat because it's the only one left"),
|
||||||
|
_("There was an error with the local Ollama instance, so it has been reset")
|
||||||
],
|
],
|
||||||
"info": [
|
"info": [
|
||||||
_("Please select a model before chatting"),
|
_("Please select a model before chatting"),
|
||||||
_("Chat cannot be cleared while receiving a message")
|
_("Chat cannot be cleared while receiving a message"),
|
||||||
|
_("That tag is already being pulled"),
|
||||||
|
_("That tag has been pulled already")
|
||||||
],
|
],
|
||||||
"good": [
|
"good": [
|
||||||
_("Model deleted successfully"),
|
_("Model deleted successfully"),
|
||||||
_("Model pulled successfully")
|
_("Model pulled successfully"),
|
||||||
|
_("Chat exported successfully"),
|
||||||
|
_("Chat imported successfully")
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -118,6 +139,13 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
if icon: notification.set_icon(icon)
|
if icon: notification.set_icon(icon)
|
||||||
self.get_application().send_notification(None, notification)
|
self.get_application().send_notification(None, notification)
|
||||||
|
|
||||||
|
def delete_message(self, message_element):
|
||||||
|
message_index = self.current_chat_elements.index(message_element)
|
||||||
|
del self.chats["chats"][self.chats["selected_chat"]]["messages"][message_index]
|
||||||
|
self.chat_container.remove(message_element)
|
||||||
|
del self.current_chat_elements[message_index]
|
||||||
|
self.save_history()
|
||||||
|
|
||||||
def show_message(self, msg:str, bot:bool, footer:str=None, image_base64:str=None):
|
def show_message(self, msg:str, bot:bool, footer:str=None, image_base64:str=None):
|
||||||
message_text = Gtk.TextView(
|
message_text = Gtk.TextView(
|
||||||
editable=False,
|
editable=False,
|
||||||
@@ -128,18 +156,27 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
margin_start=12,
|
margin_start=12,
|
||||||
margin_end=12,
|
margin_end=12,
|
||||||
hexpand=True,
|
hexpand=True,
|
||||||
css_classes=["flat"]
|
css_classes=["flat"],
|
||||||
)
|
)
|
||||||
message_buffer = message_text.get_buffer()
|
message_buffer = message_text.get_buffer()
|
||||||
message_buffer.insert(message_buffer.get_end_iter(), msg)
|
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))
|
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", "delete-message-button"],
|
||||||
|
valign="end",
|
||||||
|
halign="end",
|
||||||
|
margin_bottom=6,
|
||||||
|
margin_end=6
|
||||||
|
)
|
||||||
|
|
||||||
message_box = Gtk.Box(
|
message_box = Gtk.Box(
|
||||||
orientation=1,
|
orientation=1,
|
||||||
|
halign='fill',
|
||||||
css_classes=[None if bot else "card"]
|
css_classes=[None if bot else "card"]
|
||||||
)
|
)
|
||||||
message_text.set_valign(Gtk.Align.CENTER)
|
message_text.set_valign(Gtk.Align.CENTER)
|
||||||
self.chat_container.append(message_box)
|
|
||||||
|
|
||||||
if image_base64 is not None:
|
if image_base64 is not None:
|
||||||
image_data = base64.b64decode(image_base64)
|
image_data = base64.b64decode(image_base64)
|
||||||
@@ -160,6 +197,12 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
message_box.append(image)
|
message_box.append(image)
|
||||||
|
|
||||||
message_box.append(message_text)
|
message_box.append(message_text)
|
||||||
|
self.current_chat_elements.append(Gtk.Overlay(css_classes=["message"]))
|
||||||
|
self.current_chat_elements[-1].set_child(message_box)
|
||||||
|
|
||||||
|
delete_button.connect("clicked", lambda button, element=self.current_chat_elements[-1]: self.delete_message(element))
|
||||||
|
self.current_chat_elements[-1].add_overlay(delete_button)
|
||||||
|
self.chat_container.append(self.current_chat_elements[-1])
|
||||||
|
|
||||||
if bot:
|
if bot:
|
||||||
self.bot_message = message_buffer
|
self.bot_message = message_buffer
|
||||||
@@ -169,7 +212,7 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
def verify_if_image_can_be_used(self, pspec=None, user_data=None):
|
def verify_if_image_can_be_used(self, pspec=None, user_data=None):
|
||||||
if self.model_drop_down.get_selected_item() == None: return True
|
if self.model_drop_down.get_selected_item() == None: return True
|
||||||
selected = self.model_drop_down.get_selected_item().get_string().split(":")[0]
|
selected = self.model_drop_down.get_selected_item().get_string().split(":")[0]
|
||||||
if selected in ['llava']:
|
if selected in ['llava', 'bakllava', 'moondream', 'llava-llama3']:
|
||||||
self.image_button.set_sensitive(True)
|
self.image_button.set_sensitive(True)
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
@@ -211,14 +254,14 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
self.verify_if_image_can_be_used()
|
self.verify_if_image_can_be_used()
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
self.show_connection_dialog(True)
|
self.connection_error()
|
||||||
self.show_toast("error", 2, self.connection_overlay)
|
|
||||||
|
|
||||||
def verify_connection(self):
|
def verify_connection(self):
|
||||||
response = simple_get(self.ollama_url)
|
response = simple_get(self.ollama_url)
|
||||||
if response['status'] == 'ok':
|
if response['status'] == 'ok':
|
||||||
if "Ollama is running" in response['text']:
|
if "Ollama is running" in response['text']:
|
||||||
with open(os.path.join(self.config_dir, "server.conf"), "w+") as f: f.write(self.ollama_url)
|
with open(os.path.join(self.config_dir, "server.json"), "w+") as f:
|
||||||
|
json.dump({'remote_url': self.remote_url, 'run_remote': self.run_remote, 'local_port': self.local_ollama_port, 'run_on_background': self.run_on_background}, f)
|
||||||
#self.message_text_view.grab_focus_without_selecting()
|
#self.message_text_view.grab_focus_without_selecting()
|
||||||
self.update_list_local_models()
|
self.update_list_local_models()
|
||||||
return True
|
return True
|
||||||
@@ -310,7 +353,7 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
self.save_history()
|
self.save_history()
|
||||||
sys.exit()
|
sys.exit()
|
||||||
vadjustment = self.chat_window.get_vadjustment()
|
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())
|
GLib.idle_add(vadjustment.set_value, vadjustment.get_upper())
|
||||||
if data['done']:
|
if data['done']:
|
||||||
formated_datetime = datetime.now().strftime("%Y/%m/%d %H:%M")
|
formated_datetime = datetime.now().strftime("%Y/%m/%d %H:%M")
|
||||||
@@ -337,15 +380,16 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
GLib.idle_add(self.send_button.get_child().set_label, "Send")
|
GLib.idle_add(self.send_button.get_child().set_label, "Send")
|
||||||
GLib.idle_add(self.send_button.get_child().set_icon_name, "send-to-symbolic")
|
GLib.idle_add(self.send_button.get_child().set_icon_name, "send-to-symbolic")
|
||||||
GLib.idle_add(self.chat_list_box.set_sensitive, True)
|
GLib.idle_add(self.chat_list_box.set_sensitive, True)
|
||||||
|
GLib.idle_add(self.export_chat_button.set_sensitive, True)
|
||||||
|
GLib.idle_add(self.import_chat_button.set_sensitive, True)
|
||||||
GLib.idle_add(self.add_chat_button.set_sensitive, True)
|
GLib.idle_add(self.add_chat_button.set_sensitive, True)
|
||||||
if self.verify_if_image_can_be_used(): GLib.idle_add(self.image_button.set_sensitive, True)
|
if self.verify_if_image_can_be_used(): GLib.idle_add(self.image_button.set_sensitive, True)
|
||||||
GLib.idle_add(self.image_button.set_css_classes, [])
|
GLib.idle_add(self.image_button.set_css_classes, [])
|
||||||
GLib.idle_add(self.image_button.get_child().set_icon_name, "image-x-generic-symbolic")
|
GLib.idle_add(self.image_button.get_child().set_icon_name, "image-x-generic-symbolic")
|
||||||
self.attached_image = {"path": None, "base64": None}
|
self.attached_image = {"path": None, "base64": None}
|
||||||
GLib.idle_add(self.message_text_view.set_sensitive, True)
|
# GLib.idle_add(self.message_text_view.set_sensitive, True)
|
||||||
if response['status'] == 'error':
|
if response['status'] == 'error':
|
||||||
GLib.idle_add(self.show_toast, 'error', 1, self.connection_overlay)
|
GLib.idle_add(self.connection_error)
|
||||||
GLib.idle_add(self.show_connection_dialog, True)
|
|
||||||
|
|
||||||
def send_message(self, button=None):
|
def send_message(self, button=None):
|
||||||
if button and self.bot_message: #STOP BUTTON
|
if button and self.bot_message: #STOP BUTTON
|
||||||
@@ -356,7 +400,9 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
self.attached_image = {"path": None, "base64": None}
|
self.attached_image = {"path": None, "base64": None}
|
||||||
self.chat_list_box.set_sensitive(True)
|
self.chat_list_box.set_sensitive(True)
|
||||||
self.add_chat_button.set_sensitive(True)
|
self.add_chat_button.set_sensitive(True)
|
||||||
self.message_text_view.set_sensitive(True)
|
self.export_chat_button.set_sensitive(True)
|
||||||
|
self.import_chat_button.set_sensitive(True)
|
||||||
|
# self.message_text_view.set_sensitive(True)
|
||||||
self.send_button.set_css_classes(["suggested-action"])
|
self.send_button.set_css_classes(["suggested-action"])
|
||||||
self.send_button.get_child().set_label("Send")
|
self.send_button.get_child().set_label("Send")
|
||||||
self.send_button.get_child().set_icon_name("send-to-symbolic")
|
self.send_button.get_child().set_icon_name("send-to-symbolic")
|
||||||
@@ -382,18 +428,24 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
}
|
}
|
||||||
if self.verify_if_image_can_be_used() and self.attached_image["base64"] is not None:
|
if self.verify_if_image_can_be_used() and self.attached_image["base64"] is not None:
|
||||||
data["messages"][-1]["images"] = [self.attached_image["base64"]]
|
data["messages"][-1]["images"] = [self.attached_image["base64"]]
|
||||||
self.message_text_view.set_sensitive(False)
|
# self.message_text_view.set_sensitive(False)
|
||||||
self.send_button.set_css_classes(["destructive-action"])
|
self.send_button.set_css_classes(["destructive-action"])
|
||||||
self.send_button.get_child().set_label("Stop")
|
self.send_button.get_child().set_label("Stop")
|
||||||
self.send_button.get_child().set_icon_name("edit-delete-symbolic")
|
self.send_button.get_child().set_icon_name("edit-delete-symbolic")
|
||||||
self.chat_list_box.set_sensitive(False)
|
self.chat_list_box.set_sensitive(False)
|
||||||
self.add_chat_button.set_sensitive(False)
|
self.add_chat_button.set_sensitive(False)
|
||||||
|
self.export_chat_button.set_sensitive(False)
|
||||||
|
self.import_chat_button.set_sensitive(False)
|
||||||
self.image_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.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.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.loading_spinner = Gtk.Spinner(spinning=True, margin_top=12, margin_bottom=12, hexpand=True)
|
||||||
self.chat_container.append(self.loading_spinner)
|
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 = threading.Thread(target=self.run_message, args=(data['messages'], data['model']))
|
||||||
thread.start()
|
thread.start()
|
||||||
|
|
||||||
@@ -404,9 +456,8 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
if response['status'] == 'ok':
|
if response['status'] == 'ok':
|
||||||
self.show_toast("good", 0, self.manage_models_overlay)
|
self.show_toast("good", 0, self.manage_models_overlay)
|
||||||
else:
|
else:
|
||||||
self.show_toast("error", 3, self.connection_overlay)
|
|
||||||
self.manage_models_dialog.close()
|
self.manage_models_dialog.close()
|
||||||
self.show_connection_dialog(True)
|
self.connection_error()
|
||||||
|
|
||||||
def pull_model_update(self, data, model_name):
|
def pull_model_update(self, data, model_name):
|
||||||
if model_name in list(self.pulling_models.keys()):
|
if model_name in list(self.pulling_models.keys()):
|
||||||
@@ -428,11 +479,10 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
del self.pulling_models[f"{model_name}:{tag}"]
|
del self.pulling_models[f"{model_name}:{tag}"]
|
||||||
else:
|
else:
|
||||||
GLib.idle_add(self.show_notification, _("Pull Model Error"), _("Failed to pull model '{}' due to network error.").format(f"{model_name}:{tag}"), True, Gio.ThemedIcon.new("dialog-error-symbolic"))
|
GLib.idle_add(self.show_notification, _("Pull Model Error"), _("Failed to pull model '{}' due to network error.").format(f"{model_name}:{tag}"), True, Gio.ThemedIcon.new("dialog-error-symbolic"))
|
||||||
GLib.idle_add(self.show_toast, "error", 4, self.connection_overlay)
|
|
||||||
GLib.idle_add(self.pulling_models[f"{model_name}:{tag}"].get_parent().remove, self.pulling_models[f"{model_name}:{tag}"])
|
GLib.idle_add(self.pulling_models[f"{model_name}:{tag}"].get_parent().remove, self.pulling_models[f"{model_name}:{tag}"])
|
||||||
del self.pulling_models[f"{model_name}:{tag}"]
|
del self.pulling_models[f"{model_name}:{tag}"]
|
||||||
GLib.idle_add(self.manage_models_dialog.close)
|
GLib.idle_add(self.manage_models_dialog.close)
|
||||||
GLib.idle_add(self.show_connection_dialog, True)
|
GLib.idle_add(self.connection_error)
|
||||||
if len(list(self.pulling_models.keys())) == 0:
|
if len(list(self.pulling_models.keys())) == 0:
|
||||||
GLib.idle_add(self.pulling_model_list_box.set_visible, False)
|
GLib.idle_add(self.pulling_model_list_box.set_visible, False)
|
||||||
|
|
||||||
@@ -459,8 +509,12 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
def pull_model_start(self, dialog, task, model_name, tag_drop_down):
|
def pull_model_start(self, dialog, task, model_name, tag_drop_down):
|
||||||
if dialog.choose_finish(task) == "pull":
|
if dialog.choose_finish(task) == "pull":
|
||||||
tag = tag_drop_down.get_selected_item().get_string()
|
tag = tag_drop_down.get_selected_item().get_string()
|
||||||
if f"{model_name}:{tag}" in list(self.pulling_models.keys()): return ##TODO add message: 'already being pulled'
|
if f"{model_name}:{tag}" in list(self.pulling_models.keys()):
|
||||||
if f"{model_name}:{tag}" in self.local_models: return ##TODO add message 'already pulled'
|
self.show_toast("info", 3, self.manage_models_overlay)
|
||||||
|
return
|
||||||
|
if f"{model_name}:{tag}" in self.local_models:
|
||||||
|
self.show_toast("info", 4, self.manage_models_overlay)
|
||||||
|
return
|
||||||
#self.pull_model_status_page.set_description(f"{model_name}:{tag}")
|
#self.pull_model_status_page.set_description(f"{model_name}:{tag}")
|
||||||
self.pulling_model_list_box.set_visible(True)
|
self.pulling_model_list_box.set_visible(True)
|
||||||
model_row = Adw.ActionRow(
|
model_row = Adw.ActionRow(
|
||||||
@@ -522,7 +576,8 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
self.available_model_list_box.remove_all()
|
self.available_model_list_box.remove_all()
|
||||||
for name, model_info in available_models.items():
|
for name, model_info in available_models.items():
|
||||||
model = Adw.ActionRow(
|
model = Adw.ActionRow(
|
||||||
title = name
|
title = name,
|
||||||
|
subtitle = "Image recognition" if model_info["image"] else None
|
||||||
)
|
)
|
||||||
link_button = Gtk.Button(
|
link_button = Gtk.Button(
|
||||||
icon_name = "web-browser-symbolic",
|
icon_name = "web-browser-symbolic",
|
||||||
@@ -546,31 +601,21 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
self.update_list_local_models()
|
self.update_list_local_models()
|
||||||
self.manage_models_dialog.present(self)
|
self.manage_models_dialog.present(self)
|
||||||
|
|
||||||
def connection_carousel_page_changed(self, carousel, index):
|
def welcome_carousel_page_changed(self, carousel, index):
|
||||||
if index == 0: self.connection_previous_button.set_sensitive(False)
|
if index == 0: self.welcome_previous_button.set_sensitive(False)
|
||||||
else: self.connection_previous_button.set_sensitive(True)
|
else: self.welcome_previous_button.set_sensitive(True)
|
||||||
if index == carousel.get_n_pages()-1: self.connection_next_button.set_label("Connect")
|
if index == carousel.get_n_pages()-1: self.welcome_next_button.set_label("Connect")
|
||||||
else: self.connection_next_button.set_label("Next")
|
else: self.welcome_next_button.set_label("Next")
|
||||||
|
|
||||||
def connection_previous_button_activate(self, button):
|
def welcome_previous_button_activate(self, button):
|
||||||
self.connection_carousel.scroll_to(self.connection_carousel.get_nth_page(self.connection_carousel.get_position()-1), True)
|
self.welcome_carousel.scroll_to(self.welcome_carousel.get_nth_page(self.welcome_carousel.get_position()-1), True)
|
||||||
|
|
||||||
def connection_next_button_activate(self, button):
|
def welcome_next_button_activate(self, button):
|
||||||
if button.get_label() == "Next": self.connection_carousel.scroll_to(self.connection_carousel.get_nth_page(self.connection_carousel.get_position()+1), True)
|
if button.get_label() == "Next": self.welcome_carousel.scroll_to(self.welcome_carousel.get_nth_page(self.welcome_carousel.get_position()+1), True)
|
||||||
else:
|
else:
|
||||||
self.ollama_url = self.connection_url_entry.get_text()
|
self.welcome_dialog.force_close()
|
||||||
if self.verify_connection():
|
if not self.verify_connection():
|
||||||
self.connection_dialog.force_close()
|
self.connection_error()
|
||||||
else:
|
|
||||||
self.show_connection_dialog(True)
|
|
||||||
self.show_toast("error", 1, self.connection_overlay)
|
|
||||||
|
|
||||||
def show_connection_dialog(self, error:bool=False):
|
|
||||||
self.connection_carousel.scroll_to(self.connection_carousel.get_nth_page(self.connection_carousel.get_n_pages()-1),False)
|
|
||||||
if self.ollama_url is not None: self.connection_url_entry.set_text(self.ollama_url)
|
|
||||||
if error: self.connection_url_entry.set_css_classes(["error"])
|
|
||||||
else: self.connection_url_entry.set_css_classes([])
|
|
||||||
self.connection_dialog.present(self)
|
|
||||||
|
|
||||||
def clear_chat(self):
|
def clear_chat(self):
|
||||||
for widget in list(self.chat_container): self.chat_container.remove(widget)
|
for widget in list(self.chat_container): self.chat_container.remove(widget)
|
||||||
@@ -620,48 +665,11 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
with open(os.path.join(self.config_dir, "chats.json"), "r") as f:
|
with open(os.path.join(self.config_dir, "chats.json"), "r") as f:
|
||||||
self.chats = json.load(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 "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:
|
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()
|
self.load_history_into_chat()
|
||||||
|
|
||||||
def closing_connection_dialog_response(self, dialog, task):
|
|
||||||
result = dialog.choose_finish(task)
|
|
||||||
if result == "cancel": return
|
|
||||||
if result == "save":
|
|
||||||
self.ollama_url = self.connection_url_entry.get_text()
|
|
||||||
elif result == "discard" and self.ollama_url is None: self.destroy()
|
|
||||||
self.connection_dialog.force_close()
|
|
||||||
if self.ollama_url is None or self.verify_connection() == False:
|
|
||||||
self.show_connection_dialog(True)
|
|
||||||
self.show_toast("error", 1, self.connection_overlay)
|
|
||||||
|
|
||||||
|
|
||||||
def closing_connection_dialog(self, dialog):
|
|
||||||
if self.ollama_url is None or self.first_time_setup: self.destroy()
|
|
||||||
if self.ollama_url == self.connection_url_entry.get_text():
|
|
||||||
self.connection_dialog.force_close()
|
|
||||||
if self.ollama_url is None or self.verify_connection() == False:
|
|
||||||
self.show_connection_dialog(True)
|
|
||||||
self.show_toast("error", 1, self.connection_overlay)
|
|
||||||
else: self.first_time_setup = False
|
|
||||||
return
|
|
||||||
dialog = Adw.AlertDialog(
|
|
||||||
heading=_("Save Changes"),
|
|
||||||
body=_("Do you want to save the URL change?"),
|
|
||||||
close_response="cancel"
|
|
||||||
)
|
|
||||||
dialog.add_response("cancel", _("Cancel"))
|
|
||||||
dialog.add_response("discard", _("Discard"))
|
|
||||||
dialog.add_response("save", _("Save"))
|
|
||||||
dialog.set_response_appearance("discard", Adw.ResponseAppearance.DESTRUCTIVE)
|
|
||||||
dialog.set_response_appearance("save", Adw.ResponseAppearance.SUGGESTED)
|
|
||||||
dialog.choose(
|
|
||||||
parent = self,
|
|
||||||
cancellable = None,
|
|
||||||
callback = self.closing_connection_dialog_response
|
|
||||||
)
|
|
||||||
|
|
||||||
def load_image(self, file_dialog, result):
|
def load_image(self, file_dialog, result):
|
||||||
try: file = file_dialog.open_finish(result)
|
try: file = file_dialog.open_finish(result)
|
||||||
except: return
|
except: return
|
||||||
@@ -678,7 +686,7 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
new_width = int((max_size / height) * width)
|
new_width = int((max_size / height) * width)
|
||||||
resized_img = img.resize((new_width, new_height), Image.LANCZOS)
|
resized_img = img.resize((new_width, new_height), Image.LANCZOS)
|
||||||
with BytesIO() as output:
|
with BytesIO() as output:
|
||||||
resized_img.save(output, format="JPEG")
|
resized_img.save(output, format="PNG")
|
||||||
image_data = output.getvalue()
|
image_data = output.getvalue()
|
||||||
self.attached_image["base64"] = base64.b64encode(image_data).decode("utf-8")
|
self.attached_image["base64"] = base64.b64encode(image_data).decode("utf-8")
|
||||||
|
|
||||||
@@ -717,11 +725,10 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
del self.chats['chats'][chat_name]
|
del self.chats['chats'][chat_name]
|
||||||
self.save_history()
|
self.save_history()
|
||||||
self.update_chat_list()
|
self.update_chat_list()
|
||||||
|
if len(self.chats['chats'])==0:
|
||||||
|
self.chat_new()
|
||||||
|
|
||||||
def chat_delete_dialog(self, chat_name):
|
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(
|
dialog = Adw.AlertDialog(
|
||||||
heading=_("Delete Chat"),
|
heading=_("Delete Chat"),
|
||||||
body=_("Are you sure you want to delete '{}'?").format(chat_name),
|
body=_("Are you sure you want to delete '{}'?").format(chat_name),
|
||||||
@@ -748,7 +755,6 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
self.save_history()
|
self.save_history()
|
||||||
self.update_chat_list()
|
self.update_chat_list()
|
||||||
|
|
||||||
|
|
||||||
def chat_rename_dialog(self, chat_name:str, body:str, error:bool=False):
|
def chat_rename_dialog(self, chat_name:str, body:str, error:bool=False):
|
||||||
entry = Gtk.Entry(
|
entry = Gtk.Entry(
|
||||||
css_classes = ["error"] if error else None
|
css_classes = ["error"] if error else None
|
||||||
@@ -770,8 +776,9 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def chat_new(self, dialog=None, task=None, entry=None):
|
def chat_new(self, dialog=None, task=None, entry=None):
|
||||||
if not entry: return
|
#if not entry: return
|
||||||
chat_name = entry.get_text()
|
chat_name = None
|
||||||
|
if entry is not None: chat_name = entry.get_text()
|
||||||
if not chat_name:
|
if not chat_name:
|
||||||
chat_name=_("New Chat")
|
chat_name=_("New Chat")
|
||||||
if chat_name in self.chats["chats"]:
|
if chat_name in self.chats["chats"]:
|
||||||
@@ -780,7 +787,7 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
chat_name += f" {i+1}"
|
chat_name += f" {i+1}"
|
||||||
break
|
break
|
||||||
if not task or dialog.choose_finish(task) == "create":
|
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)
|
if chat_name in self.chats["chats"]: self.chat_new_dialog(_("The name '{}' is already in use").format(chat_name), True)
|
||||||
else:
|
else:
|
||||||
self.chats["chats"][chat_name] = {"messages": []}
|
self.chats["chats"][chat_name] = {"messages": []}
|
||||||
@@ -812,12 +819,19 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
def update_chat_list(self):
|
def update_chat_list(self):
|
||||||
self.chat_list_box.remove_all()
|
self.chat_list_box.remove_all()
|
||||||
for name, content in self.chats['chats'].items():
|
for name, content in self.chats['chats'].items():
|
||||||
chat = Adw.ActionRow(
|
chat_content = Gtk.Box(
|
||||||
title = name,
|
spacing = 6,
|
||||||
margin_top = 6,
|
)
|
||||||
margin_start = 6,
|
chat_row = Gtk.ListBoxRow(
|
||||||
margin_end = 6,
|
css_classes = ["chat_row"],
|
||||||
css_classes = ["card"]
|
height_request = 45,
|
||||||
|
child=chat_content,
|
||||||
|
name = name
|
||||||
|
)
|
||||||
|
chat_label = Gtk.Label(
|
||||||
|
label=name,
|
||||||
|
hexpand=True,
|
||||||
|
halign=1
|
||||||
)
|
)
|
||||||
button_delete = Gtk.Button(
|
button_delete = Gtk.Button(
|
||||||
icon_name = "user-trash-symbolic",
|
icon_name = "user-trash-symbolic",
|
||||||
@@ -834,14 +848,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))
|
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_content.append(chat_label)
|
||||||
chat.add_suffix(button_rename)
|
chat_content.append(button_delete)
|
||||||
self.chat_list_box.append(chat)
|
chat_content.append(button_rename)
|
||||||
if name==self.chats["selected_chat"]: self.chat_list_box.select_row(chat)
|
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):
|
def chat_changed(self, listbox, row):
|
||||||
if row and row.get_title() != self.chats["selected_chat"]:
|
if row and row.get_name() != self.chats["selected_chat"]:
|
||||||
self.chats["selected_chat"] = row.get_title()
|
self.chats["selected_chat"] = row.get_name()
|
||||||
self.load_history_into_chat()
|
self.load_history_into_chat()
|
||||||
if len(self.chats["chats"][self.chats["selected_chat"]]["messages"]) > 0:
|
if len(self.chats["chats"][self.chats["selected_chat"]]["messages"]) > 0:
|
||||||
for i in range(self.model_string_list.get_n_items()):
|
for i in range(self.model_string_list.get_n_items()):
|
||||||
@@ -849,14 +864,142 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
self.model_drop_down.set_selected(i)
|
self.model_drop_down.set_selected(i)
|
||||||
break
|
break
|
||||||
|
|
||||||
|
def show_preferences_dialog(self):
|
||||||
|
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}, stderr=subprocess.PIPE, text=True)
|
||||||
|
print("Starting Alpaca's Ollama instance...")
|
||||||
|
sleep(1)
|
||||||
|
while True:
|
||||||
|
err = self.ollama_instance.stderr.readline()
|
||||||
|
if err == '' and self.ollama_instance.poll() is not None:
|
||||||
|
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:
|
||||||
|
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)
|
||||||
|
|
||||||
|
def connection_switched(self):
|
||||||
|
new_value = self.remote_connection_switch.get_active()
|
||||||
|
if new_value != self.run_remote:
|
||||||
|
self.run_remote = new_value
|
||||||
|
if self.run_remote:
|
||||||
|
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()
|
||||||
|
self.update_list_local_models()
|
||||||
|
|
||||||
|
def change_remote_url(self, entry):
|
||||||
|
self.remote_url = entry.get_text()
|
||||||
|
if self.run_remote:
|
||||||
|
self.ollama_url = self.remote_url
|
||||||
|
if self.verify_connection() == False:
|
||||||
|
entry.set_css_classes(["error"])
|
||||||
|
self.show_toast("error", 1, self.preferences_dialog)
|
||||||
|
|
||||||
|
def on_replace_contents(self, file, result):
|
||||||
|
file.replace_contents_finish(result)
|
||||||
|
self.show_toast("good", 2, self.main_overlay)
|
||||||
|
|
||||||
|
def on_export_current_chat(self, file_dialog, result):
|
||||||
|
file = file_dialog.save_finish(result)
|
||||||
|
data_to_export = {self.chats["selected_chat"]: self.chats["chats"][self.chats["selected_chat"]]}
|
||||||
|
file.replace_contents_async(
|
||||||
|
json.dumps(data_to_export, indent=4).encode("UTF-8"),
|
||||||
|
etag=None,
|
||||||
|
make_backup=False,
|
||||||
|
flags=Gio.FileCreateFlags.NONE,
|
||||||
|
cancellable=None,
|
||||||
|
callback=self.on_replace_contents
|
||||||
|
)
|
||||||
|
|
||||||
|
def export_current_chat(self):
|
||||||
|
file_dialog = Gtk.FileDialog(initial_name=f"{self.chats['selected_chat']}.json")
|
||||||
|
file_dialog.save(parent=self, cancellable=None, callback=self.on_export_current_chat)
|
||||||
|
|
||||||
|
def on_chat_imported(self, file_dialog, result):
|
||||||
|
file = file_dialog.open_finish(result)
|
||||||
|
stream = file.read(None)
|
||||||
|
data_stream = Gio.DataInputStream.new(stream)
|
||||||
|
data, _ = data_stream.read_until('\0', None)
|
||||||
|
data = json.loads(data)
|
||||||
|
chat_name = list(data.keys())[0]
|
||||||
|
chat_content = data[chat_name]
|
||||||
|
self.chats['chats'][chat_name] = chat_content
|
||||||
|
self.update_chat_list()
|
||||||
|
self.save_history()
|
||||||
|
self.show_toast("good", 3, self.main_overlay)
|
||||||
|
|
||||||
|
def import_chat(self):
|
||||||
|
file_dialog = Gtk.FileDialog(default_filter=self.file_filter_json)
|
||||||
|
file_dialog.open(self, None, self.on_chat_imported)
|
||||||
|
|
||||||
|
def switch_run_on_background(self):
|
||||||
|
self.run_on_background = self.background_switch.get_active()
|
||||||
|
self.set_hide_on_close(self.run_on_background)
|
||||||
|
self.verify_connection()
|
||||||
|
|
||||||
def __init__(self, **kwargs):
|
def __init__(self, **kwargs):
|
||||||
super().__init__(**kwargs)
|
super().__init__(**kwargs)
|
||||||
GtkSource.init()
|
GtkSource.init()
|
||||||
|
|
||||||
self.set_help_overlay(self.shortcut_window)
|
self.set_help_overlay(self.shortcut_window)
|
||||||
self.get_application().set_accels_for_action("win.show-help-overlay", ['<primary>slash'])
|
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'])
|
self.get_application().create_action('send', lambda *_: self.send_message(self), ['Return'])
|
||||||
|
|
||||||
self.manage_models_button.connect("clicked", self.manage_models_button_activate)
|
self.manage_models_button.connect("clicked", self.manage_models_button_activate)
|
||||||
self.send_button.connect("clicked", self.send_message)
|
self.send_button.connect("clicked", self.send_message)
|
||||||
self.image_button.connect("clicked", self.open_image)
|
self.image_button.connect("clicked", self.open_image)
|
||||||
@@ -864,19 +1007,40 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
self.set_default_widget(self.send_button)
|
self.set_default_widget(self.send_button)
|
||||||
self.model_drop_down.connect("notify", self.verify_if_image_can_be_used)
|
self.model_drop_down.connect("notify", self.verify_if_image_can_be_used)
|
||||||
self.chat_list_box.connect("row-selected", self.chat_changed)
|
self.chat_list_box.connect("row-selected", self.chat_changed)
|
||||||
#self.message_text_view.set_activates_default(self.send_button)
|
self.welcome_carousel.connect("page-changed", self.welcome_carousel_page_changed)
|
||||||
self.connection_carousel.connect("page-changed", self.connection_carousel_page_changed)
|
self.welcome_previous_button.connect("clicked", self.welcome_previous_button_activate)
|
||||||
self.connection_previous_button.connect("clicked", self.connection_previous_button_activate)
|
self.welcome_next_button.connect("clicked", self.welcome_next_button_activate)
|
||||||
self.connection_next_button.connect("clicked", self.connection_next_button_activate)
|
|
||||||
self.connection_url_entry.connect("changed", lambda entry: entry.set_css_classes([]))
|
self.export_chat_button.connect("clicked", lambda button : self.export_current_chat())
|
||||||
self.connection_dialog.connect("close-attempt", self.closing_connection_dialog)
|
self.import_chat_button.connect("clicked", lambda button : self.import_chat())
|
||||||
self.load_history()
|
#Preferences
|
||||||
if os.path.exists(os.path.join(self.config_dir, "server.conf")):
|
self.remote_connection_entry.connect("entry-activated", lambda entry : entry.set_css_classes([]))
|
||||||
with open(os.path.join(self.config_dir, "server.conf"), "r") as f:
|
self.remote_connection_entry.connect("apply", self.change_remote_url)
|
||||||
self.ollama_url = f.read()
|
self.remote_connection_switch.connect("notify", lambda pspec, user_data : self.connection_switched())
|
||||||
if self.verify_connection() is False: self.show_connection_dialog(True)
|
self.background_switch.connect("notify", lambda pspec, user_data : self.switch_run_on_background())
|
||||||
|
if os.path.exists(os.path.join(self.config_dir, "server.json")):
|
||||||
|
with open(os.path.join(self.config_dir, "server.json"), "r") as f:
|
||||||
|
data = json.load(f)
|
||||||
|
self.run_remote = data['run_remote']
|
||||||
|
self.local_ollama_port = data['local_port']
|
||||||
|
self.remote_url = data['remote_url']
|
||||||
|
self.run_on_background = data['run_on_background']
|
||||||
|
self.background_switch.set_active(self.run_on_background)
|
||||||
|
self.set_hide_on_close(self.run_on_background)
|
||||||
|
self.remote_connection_entry.set_text(self.remote_url)
|
||||||
|
if self.run_remote:
|
||||||
|
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}"
|
||||||
|
self.start_instance()
|
||||||
else:
|
else:
|
||||||
|
self.start_instance()
|
||||||
|
self.ollama_url = f"http://127.0.0.1:{self.local_ollama_port}"
|
||||||
self.first_time_setup = True
|
self.first_time_setup = True
|
||||||
self.connection_dialog.present(self)
|
self.welcome_dialog.present(self)
|
||||||
|
if self.verify_connection() is False and self.run_remote == False: self.connection_error()
|
||||||
self.update_list_available_models()
|
self.update_list_available_models()
|
||||||
|
self.load_history()
|
||||||
self.update_chat_list()
|
self.update_chat_list()
|
||||||
|
|||||||
428
src/window.ui
428
src/window.ui
@@ -4,10 +4,11 @@
|
|||||||
<requires lib="Adw" version="1.0"/>
|
<requires lib="Adw" version="1.0"/>
|
||||||
<template class="AlpacaWindow" parent="AdwApplicationWindow">
|
<template class="AlpacaWindow" parent="AdwApplicationWindow">
|
||||||
<property name="resizable">True</property>
|
<property name="resizable">True</property>
|
||||||
<property name="width-request">350</property>
|
<property name="width-request">360</property>
|
||||||
<property name="height-request">500</property>
|
<property name="height-request">700</property>
|
||||||
<property name="default-width">1300</property>
|
<property name="default-width">1300</property>
|
||||||
<property name="default-height">800</property>
|
<property name="default-height">800</property>
|
||||||
|
<property name="title">Alpaca</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="AdwBreakpoint">
|
<object class="AdwBreakpoint">
|
||||||
<condition>max-width: 800sp</condition>
|
<condition>max-width: 800sp</condition>
|
||||||
@@ -20,18 +21,9 @@
|
|||||||
<object class="AdwBreakpoint">
|
<object class="AdwBreakpoint">
|
||||||
<condition>max-width: 500sp</condition>
|
<condition>max-width: 500sp</condition>
|
||||||
<setter object="split_view_overlay" property="collapsed">true</setter>
|
<setter object="split_view_overlay" property="collapsed">true</setter>
|
||||||
<setter object="connection_dialog" property="width-request">400</setter>
|
<setter object="welcome_dialog" property="width-request">360</setter>
|
||||||
<setter object="connection_dialog" property="height-request">400</setter>
|
<setter object="manage_models_dialog" property="width-request">360</setter>
|
||||||
<setter object="manage_models_dialog" property="width-request">400</setter>
|
<setter object="preferences_dialog" property="width-request">360</setter>
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="AdwBreakpoint">
|
|
||||||
<condition>max-width: 400sp</condition>
|
|
||||||
<setter object="split_view_overlay" property="collapsed">true</setter>
|
|
||||||
<setter object="connection_dialog" property="width-request">300</setter>
|
|
||||||
<setter object="connection_dialog" property="height-request">300</setter>
|
|
||||||
<setter object="manage_models_dialog" property="width-request">300</setter>
|
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<property name="content">
|
<property name="content">
|
||||||
@@ -40,41 +32,39 @@
|
|||||||
<object class="AdwOverlaySplitView" id="split_view_overlay">
|
<object class="AdwOverlaySplitView" id="split_view_overlay">
|
||||||
<property name="show-sidebar" bind-source="show_sidebar_button" bind-property="active" bind-flags="sync-create"/>
|
<property name="show-sidebar" bind-source="show_sidebar_button" bind-property="active" bind-flags="sync-create"/>
|
||||||
<property name="sidebar">
|
<property name="sidebar">
|
||||||
<object class="GtkBox">
|
<object class="AdwToolbarView">
|
||||||
<property name="spacing">12</property>
|
<child type="top">
|
||||||
<property name="orientation">1</property>
|
<object class="AdwHeaderBar">
|
||||||
<child>
|
<child type="start">
|
||||||
<object class="GtkBox">
|
|
||||||
<property name="margin-top">12</property>
|
|
||||||
<property name="margin-start">12</property>
|
|
||||||
<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>
|
|
||||||
<style>
|
|
||||||
<class name="title-1"/>
|
|
||||||
</style>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="add_chat_button">
|
<object class="GtkButton" id="add_chat_button">
|
||||||
<property name="tooltip-text" translatable="yes">New chat</property>
|
<property name="tooltip-text" translatable="yes">New chat</property>
|
||||||
|
<property name="icon-name">tab-new-symbolic</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat"/>
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="end">
|
||||||
|
<object class="GtkButton" id="import_chat_button">
|
||||||
|
<property name="tooltip-text" translatable="yes">Import chat</property>
|
||||||
|
<property name="icon-name">document-open-symbolic</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat"/>
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="end">
|
||||||
|
<object class="GtkButton" id="export_chat_button">
|
||||||
|
<property name="tooltip-text" translatable="yes">Export chat</property>
|
||||||
|
<property name="icon-name">folder-download-symbolic</property>
|
||||||
<style>
|
<style>
|
||||||
<class name="flat"/>
|
<class name="flat"/>
|
||||||
</style>
|
</style>
|
||||||
<child>
|
|
||||||
<object class="AdwButtonContent">
|
|
||||||
<property name="icon-name">tab-new-symbolic</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<property name="content">
|
||||||
<object class="GtkScrolledWindow">
|
<object class="GtkScrolledWindow">
|
||||||
<property name="vexpand">true</property>
|
<property name="vexpand">true</property>
|
||||||
<property name="hexpand">true</property>
|
<property name="hexpand">true</property>
|
||||||
@@ -87,7 +77,7 @@
|
|||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</property>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</property>
|
||||||
<child>
|
<child>
|
||||||
@@ -141,89 +131,104 @@
|
|||||||
<property name="content">
|
<property name="content">
|
||||||
<object class="GtkBox"><!--ACTUAL CONTENT-->
|
<object class="GtkBox"><!--ACTUAL CONTENT-->
|
||||||
<property name="orientation">1</property>
|
<property name="orientation">1</property>
|
||||||
<property name="margin-start">24</property>
|
|
||||||
<property name="margin-end">24</property>
|
|
||||||
<property name="margin-bottom">24</property>
|
|
||||||
<property name="vexpand">true</property>
|
<property name="vexpand">true</property>
|
||||||
<property name="hexpand">true</property>
|
<property name="hexpand">true</property>
|
||||||
|
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkScrolledWindow" id="chat_window">
|
<object class="GtkScrolledWindow" id="chat_window">
|
||||||
<property name="margin-bottom">12</property>
|
|
||||||
<property name="propagate-natural-height">true</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>
|
<property name="vexpand">true</property>
|
||||||
<style>
|
<style>
|
||||||
<class name="card"/>
|
<class name="undershoot-bottom"/>
|
||||||
</style>
|
</style>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkBox" id="chat_container">
|
<object class="AdwClamp">
|
||||||
<property name="orientation">1</property>
|
<property name="maximum-size">1000</property>
|
||||||
<property name="homogeneous">false</property>
|
<property name="tightening-threshold">800</property>
|
||||||
<property name="hexpand">false</property>
|
<child>
|
||||||
<property name="vexpand">true</property>
|
<object class="GtkBox" id="chat_container">
|
||||||
<property name="spacing">12</property>
|
<property name="orientation">1</property>
|
||||||
<property name="margin-top">12</property>
|
<property name="homogeneous">false</property>
|
||||||
<property name="margin-bottom">12</property>
|
<property name="hexpand">true</property>
|
||||||
<property name="margin-start">12</property>
|
<property name="vexpand">true</property>
|
||||||
<property name="margin-end">12</property>
|
<property name="spacing">12</property>
|
||||||
|
<property name="margin-top">12</property>
|
||||||
|
<property name="margin-bottom">12</property>
|
||||||
|
<property name="margin-start">12</property>
|
||||||
|
<property name="margin-end">12</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
|
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkBox">
|
<object class="AdwClamp">
|
||||||
<property name="orientation">0</property>
|
<property name="maximum-size">1000</property>
|
||||||
<property name="spacing">12</property>
|
<property name="tightening-threshold">800</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkScrolledWindow">
|
<object class="GtkBox">
|
||||||
<property name="has-frame">true</property>
|
<property name="orientation">0</property>
|
||||||
<style>
|
<property name="spacing">12</property>
|
||||||
<class name="card"/>
|
<property name="margin-top">12</property>
|
||||||
<class name="view"/>
|
<property name="margin-bottom">12</property>
|
||||||
</style>
|
<property name="margin-start">12</property>
|
||||||
<child>
|
<property name="margin-end">12</property>
|
||||||
<object class="GtkTextView" id="message_text_view">
|
<child>
|
||||||
<property name="wrap-mode">word</property>
|
<object class="GtkBox">
|
||||||
<property name="margin-top">6</property>
|
<style>
|
||||||
<property name="margin-bottom">6</property>
|
<class name="message-input"/>
|
||||||
<property name="margin-start">6</property>
|
</style>
|
||||||
<property name="margin-end">6</property>
|
<child>
|
||||||
<property name="hexpand">true</property>
|
<object class="GtkScrolledWindow">
|
||||||
<style>
|
<property name="margin-start">12</property>
|
||||||
<class name="view"/>
|
<property name="margin-end">12</property>
|
||||||
</style>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
|
|
||||||
</child>
|
<child>
|
||||||
<child>
|
<object class="GtkTextView" id="message_text_view">
|
||||||
<object class="GtkBox">
|
<property name="wrap-mode">word</property>
|
||||||
<property name="orientation">1</property>
|
<property name="top-margin">6</property>
|
||||||
<property name="spacing">12</property>
|
<property name="bottom-margin">6</property>
|
||||||
|
<property name="margin-end">12</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<style>
|
||||||
|
<class name="message-text-view"/>
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="send_button">
|
<object class="GtkBox">
|
||||||
<style>
|
<property name="orientation">1</property>
|
||||||
<class name="suggested-action"/>
|
<property name="spacing">12</property>
|
||||||
</style>
|
|
||||||
<child>
|
<child>
|
||||||
<object class="AdwButtonContent">
|
<object class="GtkButton" id="send_button">
|
||||||
<property name="label" translatable="yes">Send</property>
|
<style>
|
||||||
<property name="icon-name">send-to-symbolic</property>
|
<class name="suggested-action"/>
|
||||||
|
</style>
|
||||||
|
<child>
|
||||||
|
<object class="AdwButtonContent">
|
||||||
|
<property name="label" translatable="yes">Send</property>
|
||||||
|
<property name="icon-name">send-to-symbolic</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="image_button">
|
|
||||||
<property name="sensitive">false</property>
|
|
||||||
<property name="tooltip-text" translatable="yes">Requires model 'llava' to be selected</property>
|
|
||||||
<child>
|
<child>
|
||||||
<object class="AdwButtonContent">
|
<object class="GtkButton" id="image_button">
|
||||||
<property name="label" translatable="yes">Image</property>
|
<property name="sensitive">false</property>
|
||||||
<property name="icon-name">image-x-generic-symbolic</property>
|
<property name="tooltip-text" translatable="yes">Only available on selected models</property>
|
||||||
|
<child>
|
||||||
|
<object class="AdwButtonContent">
|
||||||
|
<property name="label" translatable="yes">Image</property>
|
||||||
|
<property name="icon-name">image-x-generic-symbolic</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
@@ -233,6 +238,7 @@
|
|||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
|
|
||||||
|
|
||||||
</object><!--END OF CONTENT-->
|
</object><!--END OF CONTENT-->
|
||||||
</property>
|
</property>
|
||||||
</object>
|
</object>
|
||||||
@@ -241,6 +247,46 @@
|
|||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</property>
|
||||||
|
<object class="AdwPreferencesDialog" id="preferences_dialog">
|
||||||
|
<property name="can-close">true</property>
|
||||||
|
<property name="width-request">400</property>
|
||||||
|
<property name="height-request">600</property>
|
||||||
|
<property name="title" translatable="yes">Preferences</property>
|
||||||
|
<child>
|
||||||
|
<object class="AdwPreferencesPage" id="connection_page">
|
||||||
|
<property name="title" translatable="yes">General</property>
|
||||||
|
<property name="icon-name">insert-link-symbolic</property>
|
||||||
|
<child>
|
||||||
|
<object class="AdwPreferencesGroup">
|
||||||
|
<property name="title" translatable="yes">Remote Connection</property>
|
||||||
|
<property name="description" translatable="yes">Manage a remote connection to Ollama</property>
|
||||||
|
<child>
|
||||||
|
<object class="AdwSwitchRow" id="remote_connection_switch">
|
||||||
|
<property name="title" translatable="yes">Use remote connection</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="AdwEntryRow" id="remote_connection_entry">
|
||||||
|
<property name="title" translatable="yes">URL of remote instance</property>
|
||||||
|
<property name="show-apply-button">true</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="AdwPreferencesGroup">
|
||||||
|
<property name="title" translatable="yes">Behavior</property>
|
||||||
|
<property name="description" translatable="yes">Manage Alpaca's Behavior</property>
|
||||||
|
<child>
|
||||||
|
<object class="AdwSwitchRow" id="background_switch">
|
||||||
|
<property name="title" translatable="yes">Run in background</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
|
||||||
<object class="AdwDialog" id="manage_models_dialog">
|
<object class="AdwDialog" id="manage_models_dialog">
|
||||||
<property name="can-close">true</property>
|
<property name="can-close">true</property>
|
||||||
@@ -308,111 +354,85 @@
|
|||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
|
|
||||||
<object class="AdwDialog" id="connection_dialog">
|
<object class="AdwDialog" id="welcome_dialog">
|
||||||
<property name="can-close">false</property>
|
<property name="can-close">false</property>
|
||||||
<property name="width-request">450</property>
|
<property name="width-request">450</property>
|
||||||
<property name="height-request">450</property>
|
<property name="height-request">450</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="AdwToastOverlay" id="connection_overlay">
|
<object class="AdwToolbarView">
|
||||||
<child>
|
<child type="bottom">
|
||||||
<object class="AdwToolbarView">
|
<object class="GtkActionBar">
|
||||||
<child type="top">
|
<property name="hexpand">true</property>
|
||||||
<object class="AdwHeaderBar">
|
<property name="margin-start">5</property>
|
||||||
|
<property name="margin-end">5</property>
|
||||||
|
<property name="margin-bottom">5</property>
|
||||||
|
<child type="start">
|
||||||
|
<object class="GtkButton" id="welcome_previous_button">
|
||||||
|
<property name="tooltip-text" translatable="yes">Previous</property>
|
||||||
|
<property name="label">Previous</property>
|
||||||
|
<property name="sensitive">false</property>
|
||||||
|
<style>
|
||||||
|
<class name="raised"/>
|
||||||
|
</style>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child type="bottom">
|
<child type="center">
|
||||||
<object class="GtkActionBar">
|
<object class="AdwCarouselIndicatorDots">
|
||||||
<property name="hexpand">true</property>
|
<property name="carousel">welcome_carousel</property>
|
||||||
<property name="margin-start">5</property>
|
|
||||||
<property name="margin-end">5</property>
|
|
||||||
<property name="margin-bottom">5</property>
|
|
||||||
<child type="start">
|
|
||||||
<object class="GtkButton" id="connection_previous_button">
|
|
||||||
<property name="tooltip-text" translatable="yes">Previous</property>
|
|
||||||
<property name="label">Previous</property>
|
|
||||||
<property name="sensitive">false</property>
|
|
||||||
<style>
|
|
||||||
<class name="raised"/>
|
|
||||||
</style>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child type="center">
|
|
||||||
<object class="AdwCarouselIndicatorDots">
|
|
||||||
<property name="carousel">connection_carousel</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child type="end">
|
|
||||||
<object class="GtkButton" id="connection_next_button">
|
|
||||||
<property name="tooltip-text" translatable="yes">Next</property>
|
|
||||||
<property name="label">Next</property>
|
|
||||||
<style>
|
|
||||||
<class name="suggested-action"/>
|
|
||||||
</style>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
|
<child type="end">
|
||||||
|
<object class="GtkButton" id="welcome_next_button">
|
||||||
|
<property name="tooltip-text" translatable="yes">Next</property>
|
||||||
|
<property name="label">Next</property>
|
||||||
|
<style>
|
||||||
|
<class name="suggested-action"/>
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="AdwCarousel" id="welcome_carousel">
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="allow-long-swipes">true</property>
|
||||||
|
<property name="allow-scroll-wheel">true</property>
|
||||||
|
<property name="spacing">12</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="AdwCarousel" id="connection_carousel">
|
<object class="AdwStatusPage">
|
||||||
<property name="hexpand">true</property>
|
<property name="hexpand">true</property>
|
||||||
<property name="vexpand">true</property>
|
<property name="vexpand">true</property>
|
||||||
<property name="allow-long-swipes">true</property>
|
<property name="margin-top">12</property>
|
||||||
<property name="allow-scroll-wheel">true</property>
|
<property name="margin-bottom">12</property>
|
||||||
<property name="spacing">12</property>
|
<property name="margin-start">12</property>
|
||||||
|
<property name="margin-end">12</property>
|
||||||
|
<property name="icon-name">com.jeffser.Alpaca</property>
|
||||||
|
<property name="title" translatable="yes">Welcome to Alpaca</property>
|
||||||
|
<property name="description" translatable="yes">Powered by Ollama</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="AdwStatusPage">
|
<object class="GtkLinkButton">
|
||||||
<property name="hexpand">true</property>
|
<property name="label" translatable="yes">Ollama Website</property>
|
||||||
<property name="vexpand">true</property>
|
<property name="uri">https://ollama.com/</property>
|
||||||
<property name="margin-top">12</property>
|
<property name="margin-top">12</property>
|
||||||
<property name="margin-bottom">12</property>
|
|
||||||
<property name="margin-start">12</property>
|
|
||||||
<property name="margin-end">12</property>
|
|
||||||
<property name="icon-name">com.jeffser.Alpaca</property>
|
|
||||||
<property name="title" translatable="yes">Welcome to Alpaca</property>
|
|
||||||
<property name="description" translatable="yes">To get started, please ensure you have an Ollama instance set up. You can either run Ollama locally on your machine or connect to a remote instance.</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLinkButton">
|
|
||||||
<property name="label" translatable="yes">Ollama Website</property>
|
|
||||||
<property name="uri">https://ollama.com/</property>
|
|
||||||
<property name="margin-top">12</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="AdwStatusPage">
|
|
||||||
<property name="hexpand">true</property>
|
|
||||||
<property name="vexpand">true</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="icon-name">dialog-warning-symbolic</property>
|
|
||||||
<property name="title" translatable="yes">Disclaimer</property>
|
|
||||||
<property name="description" translatable="yes">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.</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="AdwStatusPage">
|
|
||||||
<property name="hexpand">true</property>
|
|
||||||
<property name="vexpand">true</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="icon-name">preferences-other-symbolic</property>
|
|
||||||
<property name="title" translatable="yes">Setup</property>
|
|
||||||
<property name="description" translatable="yes">If you are running an Ollama instance locally and haven't modified the default ports, you can use the default URL. Otherwise, please enter the URL of your Ollama instance.</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkEntry" id="connection_url_entry">
|
|
||||||
<property name="text">http://localhost:11434</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="AdwStatusPage">
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="vexpand">true</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="icon-name">dialog-warning-symbolic</property>
|
||||||
|
<property name="title" translatable="yes">Disclaimer</property>
|
||||||
|
<property name="description" translatable="yes">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.</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
@@ -427,8 +447,8 @@
|
|||||||
<attribute name="action">app.clear</attribute>
|
<attribute name="action">app.clear</attribute>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<attribute name="label" translatable="yes">Change Server</attribute>
|
<attribute name="label" translatable="yes">Preferences</attribute>
|
||||||
<attribute name="action">app.reconnect</attribute>
|
<attribute name="action">app.preferences</attribute>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<attribute name="label" translatable="yes">Keyboard Shortcuts</attribute>
|
<attribute name="label" translatable="yes">Keyboard Shortcuts</attribute>
|
||||||
@@ -440,6 +460,13 @@
|
|||||||
</item>
|
</item>
|
||||||
</section>
|
</section>
|
||||||
</menu>
|
</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">
|
<object class="GtkFileFilter" id="file_filter_image">
|
||||||
<mime-types>
|
<mime-types>
|
||||||
<mime-type>image/svg+xml</mime-type>
|
<mime-type>image/svg+xml</mime-type>
|
||||||
@@ -449,6 +476,11 @@
|
|||||||
<mime-type>image/gif</mime-type>
|
<mime-type>image/gif</mime-type>
|
||||||
</mime-types>
|
</mime-types>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="GtkFileFilter" id="file_filter_json">
|
||||||
|
<mime-types>
|
||||||
|
<mime-type>application/json</mime-type>
|
||||||
|
</mime-types>
|
||||||
|
</object>
|
||||||
<object class="GtkShortcutsWindow" id="shortcut_window">
|
<object class="GtkShortcutsWindow" id="shortcut_window">
|
||||||
<property name="modal">1</property>
|
<property name="modal">1</property>
|
||||||
<child>
|
<child>
|
||||||
@@ -472,8 +504,8 @@
|
|||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkShortcutsShortcut">
|
<object class="GtkShortcutsShortcut">
|
||||||
<property name="accelerator"><ctrl>R</property>
|
<property name="accelerator"><ctrl>P</property>
|
||||||
<property name="title" translatable="yes">Change server</property>
|
<property name="title" translatable="yes">Preferences</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
@@ -501,7 +533,13 @@
|
|||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkShortcutsShortcut">
|
<object class="GtkShortcutsShortcut">
|
||||||
<property name="accelerator"><ctrl>Return</property>
|
<property name="accelerator"><shift>Return</property>
|
||||||
|
<property name="title" translatable="yes">Insert new line</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkShortcutsShortcut">
|
||||||
|
<property name="accelerator">Return</property>
|
||||||
<property name="title" translatable="yes">Send Message</property>
|
<property name="title" translatable="yes">Send Message</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
|
|||||||
@@ -6,3 +6,5 @@ echo "Updating Spanish..."
|
|||||||
msgmerge -U po/es.po po/alpaca.pot
|
msgmerge -U po/es.po po/alpaca.pot
|
||||||
echo "Updating Russian..."
|
echo "Updating Russian..."
|
||||||
msgmerge -U po/ru.po po/alpaca.pot
|
msgmerge -U po/ru.po po/alpaca.pot
|
||||||
|
echo "Updating Brazilian Portuguese"
|
||||||
|
msgmerge -U po/pt_BR.po po/alpaca.pot
|
||||||
|
|||||||
Reference in New Issue
Block a user