diff --git a/web-app/src/containers/LanguageSwitcher.tsx b/web-app/src/containers/LanguageSwitcher.tsx index 21f2ddef0..70e595a5a 100644 --- a/web-app/src/containers/LanguageSwitcher.tsx +++ b/web-app/src/containers/LanguageSwitcher.tsx @@ -11,6 +11,7 @@ import { cn } from '@/lib/utils' const LANGUAGES = [ { value: 'en', label: 'English' }, { value: 'id', label: 'Bahasa' }, + { value: 'pl', label: 'Polski' }, { value: 'vn', label: 'Tiếng Việt' }, { value: 'zh-CN', label: '简体中文' }, { value: 'zh-TW', label: '繁體中文' }, diff --git a/web-app/src/locales/pl/assistants.json b/web-app/src/locales/pl/assistants.json new file mode 100644 index 000000000..70b312913 --- /dev/null +++ b/web-app/src/locales/pl/assistants.json @@ -0,0 +1,34 @@ +{ + "title": "Asystenci", + "editAssistant": "Edytuj Asystenta", + "deleteAssistant": "Usuń Asystenta", + "deleteConfirmation": "Usuń Asystenta", + "deleteConfirmationDesc": "Na pewno chcesz usunąć tego asystenta? Tej operacji nie można cofnąć.", + "cancel": "Anuluj", + "delete": "Usuń", + "addAssistant": "Dodaj Asystenta", + "emoji": "Emotikon", + "name": "Nazwa", + "enterName": "Wprowadź nazwę", + "nameRequired": "Nazwa jest wymagana", + "description": "Opis (opcjonalnie)", + "enterDescription": "Wprowadź opis", + "instructions": "Instrukcje", + "enterInstructions": "Wprowadź instrukcje", + "predefinedParameters": "Predefiniowane Parametry", + "parameters": "Parametry", + "key": "Klucz", + "value": "Wartość", + "stringValue": "Napis", + "numberValue": "Liczba", + "booleanValue": "Wartość Logiczna", + "jsonValue": "JSON", + "trueValue": "Prawda", + "falseValue": "Fałsz", + "jsonValuePlaceholder": "Wartość JSON", + "save": "Zapisz", + "createNew": "Utwórz Nowego Asystenta", + "personality": "Osobowość", + "capabilities": "Możliwości", + "maxToolSteps": "Maks. liczba kroków narzędzia" +} diff --git a/web-app/src/locales/pl/chat.json b/web-app/src/locales/pl/chat.json new file mode 100644 index 000000000..72a7dd235 --- /dev/null +++ b/web-app/src/locales/pl/chat.json @@ -0,0 +1,10 @@ +{ + "welcome": "Cześć, jak się masz?", + "description": "Jak mogę Ci pomóc?", + "status": { + "empty": "Nie znaleziono czatów" + }, + "sendMessage": "Wyślij Wiadomość", + "newConversation": "Nowa Rozmowa", + "clearHistory": "Wyczyść Historię" +} diff --git a/web-app/src/locales/pl/common.json b/web-app/src/locales/pl/common.json new file mode 100644 index 000000000..46061079b --- /dev/null +++ b/web-app/src/locales/pl/common.json @@ -0,0 +1,266 @@ +{ + "assistants": "Asystenci", + "hardware": "Sprzęt", + "mcp-servers": "Serwery MCP", + "local_api_server": "Lokalny Serwer API", + "https_proxy": "Pośrednik HTTPS", + "extensions": "Rozszerzenia", + "general": "Ogólne", + "settings": "Ustawienia", + "modelProviders": "Dostawcy Modeli", + "appearance": "Wygląd", + "privacy": "Prywatność", + "keyboardShortcuts": "Skróty", + "newChat": "Nowy Czat", + "favorites": "Ulubione", + "recents": "Ostatnie", + "hub": "Centrum Modeli", + "helpSupport": "Pomoc i Obsługa", + "helpUsImproveJan": "Pomóż nam ulepszyć Jan", + "unstarAll": "Usuń Wszystkim Gwiazdkę", + "unstar": "Usuń Gwiazdkę", + "deleteAll": "Usuń Wszystko", + "star": "Dodaj Gwiazdkę", + "rename": "Zmień Nazwę", + "delete": "Usuń", + "copied": "Skopiowano!", + "dataFolder": "Katalog Danych", + "others": "Inne", + "language": "Język", + "reset": "Przywróć", + "search": "Szukaj", + "name": "Nazwa", + "cancel": "Anuluj", + "create": "Utwórz", + "save": "Zapisz", + "edit": "Edytuj", + "copy": "Skopiuj", + "back": "Wstecz", + "close": "Zamknij", + "next": "Dalej", + "finish": "Zakończ", + "skip": "Pomiń", + "allow": "Pozwól", + "deny": "Odmów", + "start": "Uruchom", + "stop": "Zatrzymaj", + "preview": "Podgląd", + "compactWidth": "Zwarta Szerokość", + "fullWidth": "Pełna Szerokość", + "dark": "Ciemny", + "light": "Jasny", + "system": "Systemowy", + "auto": "Automatycznie", + "english": "Angielski", + "medium": "Średni", + "newThread": "Nowy Wątek", + "noResultsFound": "Brak wyników", + "noThreadsYet": "Brak wątków", + "noThreadsYetDesc": "Rozpocznij nową rozmowę aby zobaczyć tutaj historię wątków.", + "downloads": "Pobrane", + "downloading": "Pobieranie", + "cancelDownload": "Anuluj Pobieranie", + "downloadCancelled": "Pobieranie anulowane", + "downloadComplete": "Pobieranie zakończone", + "thinking": "Myślenie…", + "thought": "Myśl", + "callingTool": "Używanie narzędzia", + "completed": "Zakończono", + "image": "Obraz", + "vision": "Wizja", + "embeddings": "Osadzenia", + "tools": "Narzędzia", + "webSearch": "Szukanie w Sieci", + "reasoning": "Rozumowanie", + "selectAModel": "Wybierz Model", + "noToolsAvailable": "Brak narzędzi", + "noModelsFoundFor": "Brak modeli dla \"{{searchValue}}\"", + "customAvatar": "Własny awatar", + "editAssistant": "Edytuj Asystenta", + "jan": "Jan", + "metadata": "Metadane", + "regenerate": "Odtwórz", + "threadImage": "Obraz wątku", + "editMessage": "Edytuj Wiadomość", + "deleteMessage": "Usuń Wiadomość", + "deleteThread": "Usuń Wątek", + "renameThread": "Zmień Nazwę Wątku", + "threadTitle": "Tytuł Wątku", + "deleteAllThreads": "Usuń Wszystkie Wątki", + "allThreadsUnfavorited": "Usunięto wszystkie wątki z ulubionych", + "deleteAllThreadsConfirm": "Na pewno chcesz usunąć wszystkie wątki? Tej operacji nie można cofnąć.", + "addProvider": "Dodaj Dostawcę", + "addOpenAIProvider": "Dodaj Dostawcę OpenAI", + "enterNameForProvider": "Wprowadź nazwę dostawcy", + "providerAlreadyExists": "Dostawca o nazwie \"{{name}}\" już istnieje. Proszę podać inną nazwę.", + "adjustFontSize": "Dostosuj Rozmiar Fontu", + "changeLanguage": "Zmień Język", + "editTheme": "Edytuj schemat kolorystyczny", + "editCodeBlockStyle": "Edytuj styl bloków kodu", + "editServerHost": "Edytuj host serwera", + "pickColorWindowBackground": "Wybierz kolor tła okna", + "pickColorAppMainView": "Wybierz kolor głównego widoku aplikacji", + "pickColorAppPrimary": "Wybierz kolor dominujący aplikacji", + "pickColorAppAccent": "Wybierz kolor akcentowy", + "pickColorAppDestructive": "Wybierz kolor destrukcyjny", + "apiKeyRequired": "Wymagany jest klucz API", + "enterTrustedHosts": "Wprowadź zaufane hosty", + "placeholder": { + "chatInput": "Zapytaj mnie o cokolwiek…" + }, + "confirm": "Potwierdź", + "loading": "Wczytywanie…", + "error": "Błąd", + "success": "Sukces", + "warning": "Ostrzeżenie", + "noResultsFoundDesc": "Nie znaleziono pasujących czatów. Spróbuj innego słowa kluczowego.", + "searchModels": "Szukaj modeli…", + "searchStyles": "Szukaj stylów…", + "createAssistant": "Utwórz Asystenta", + "enterApiKey": "Wprowadź klucz API", + "scrollToBottom": "Przewiń na sam dół", + "generateAiResponse": "Wygeneruj odpowiedź SI", + "addModel": { + "title": "Dodaj Model", + "modelId": "Identyfikator Modelu", + "enterModelId": "Wprowadź identyfikator modelu", + "addModel": "Dodaj Model", + "description": "Dodaj nowy model do dostawcy", + "exploreModels": "Zobacz listę modeli dostawcy" + }, + "mcpServers": { + "editServer": "Edytuj Serwer", + "addServer": "Dodaj Serwer", + "serverName": "Nazwa Serwera", + "enterServerName": "Wprowadź nazwę serwera", + "command": "Polecenie", + "enterCommand": "Wprowadź polecenie", + "arguments": "Argumenty", + "argument": "{{index}}. argument", + "envVars": "Zmienne Środowiskowe", + "key": "Klucz", + "value": "Wartość", + "save": "Zapisz" + }, + "deleteServer": { + "title": "Usuń Serwer", + "delete": "Usuń" + }, + "editJson": { + "errorParse": "Błąd parsowania JSON", + "errorPaste": "Błąd wklejania JSON", + "errorFormat": "Niepoprawny format JSON", + "titleAll": "Edytuj Ustawienia Wszystkich Serwerów", + "placeholder": "Wprowadź konfigurację JSON…", + "save": "Zapisz" + }, + "editModel": { + "title": "Edytuj Model: {{modelId}}", + "description": "Ustaw możliwości modelu za pomocą poniższych przełączników.", + "capabilities": "Możliwości", + "tools": "Narzędzia", + "vision": "Wizja", + "embeddings": "Osadzenia", + "notAvailable": "Jeszcze nie dostępne" + }, + "outOfContextError": { + "truncateInput": "Przytnij Wejście", + "title": "Błąd kontekstu", + "description": "Temu czatowi zaczyna brakować pamięci SI. To trochę jak tablica, która jest już zapisana. Można udostępnić więcej pamięci (zwiększyć rozmiar kontekstu), ale to zwiększy zużycie pamięci komputera. Można też przyciąć wejście, co oznacza zapomnienie części historii czatu, celem zwolnienia miejsca dla nowych wiadomości.", + "increaseContextSizeDescription": "Czy chcesz zwiększyć rozmiar kontekstu?", + "increaseContextSize": "Zwiększ Rozmiar Kontekstu" + }, + "toolApproval": { + "title": "Prośba o Zatwierdzenie Narzędzia", + "description": "Asystent chce użyć narzędzia {{toolName}}", + "securityNotice": "Zgadzaj się tylko na narzędzia, którym ufasz. Narzędzia mają dostęp do Twojego systemu i danych.", + "deny": "Odmów", + "allowOnce": "Pozwól Raz", + "alwaysAllow": "Zawsze Pozwalaj" + }, + "deleteModel": { + "title": "Usuń Model: {{modelId}}", + "description": "Na pewno chcesz usunąć ten model? Tej operacji nie można cofnąć.", + "success": "Model {{modelId}} został usunięty.", + "cancel": "Anuluj", + "delete": "Usuń" + }, + "deleteProvider": { + "title": "Usuń Dostawcę", + "description": "Usuń dostawcę i wszystkie jego modele. Tej operacji nie można cofnąć.", + "success": "Dostawca {{provider}} został usunięty.", + "confirmTitle": "Usuń Dostawcę: {{provider}}", + "confirmDescription": "Na pewno chcesz usunąć tego dostawcę? Tej operacji nie można cofnąć.", + "cancel": "Anuluj", + "delete": "Usuń" + }, + "modelSettings": { + "title": "Ustawienia Modelu - {{modelId}}", + "description": "Zmień ustawienia modelu aby poprawić jego wydajność i zachowanie" + }, + "dialogs": { + "changeDataFolder": { + "title": "Zmień Położenie Katalogu Danych", + "description": "Na pewno chcesz zmienić położenie katalogu danych? Przeniesie to dane do nowego katalogu i uruchomi ponownie aplikację.", + "currentLocation": "Obecne Położenie:", + "newLocation": "Nowe Położenie:", + "cancel": "Anuluj", + "changeLocation": "Zmień Położenie" + }, + "deleteAllThreads": { + "title": "Usuń Wszystkie Wątki", + "description": "Wszystkie wątki zostaną usunięte. Tej operacji nie można cofnąć." + }, + "deleteThread": { + "description": "Na pewno chcesz usunąć ten wątek? Tej operacji nie można cofnąć." + }, + "editMessage": { + "title": "Edytuj Wiadomość" + }, + "messageMetadata": { + "title": "Metadane Wiadomości" + } + }, + "toast": { + "allThreadsUnfavorited": { + "title": "Wszystkie Wątki Usunięte z Ulubionych", + "description": "Wszystkie wątki zostały usunięte z ulubionych." + }, + "deleteAllThreads": { + "title": "Usuń Wszystkie Wątki", + "description": "Wszystkie wątki zostały usunięte." + }, + "renameThread": { + "title": "Zmień Tytuł Wątku", + "description": "Tytuł wątku został zmieniony na '{{title}}'." + }, + "deleteThread": { + "title": "Usuń Wątek", + "description": "Wątek został usunięty." + }, + "editMessage": { + "title": "Edytuj Wiadomość", + "description": "Pomyślnie edytowano wiadomość. Proszę poczekać na odpowiedź modelu." + }, + "appUpdateDownloaded": { + "title": "Aktualizacja Aplikacji Pobrana", + "description": "Pomyślnie pobrano aktualizację aplikacji." + }, + "appUpdateDownloadFailed": { + "title": "Błąd Pobierania Aktualizacji Aplikacji", + "description": "Nie udało się pobrać aktualizacji aplikacji. Proszę spróbować później." + }, + "downloadComplete": { + "title": "Ukończono Pobieranie", + "description": "Model {{modelId}} został pobrany." + }, + "downloadCancelled": { + "title": "Anulowano Pobieranie", + "description": "Pobieranie zostało anulowane." + }, + "downloadFailed": { + "title": "Błąd Pobierania", + "description": "Błąd pobierania {{item}}" + } + } +} diff --git a/web-app/src/locales/pl/hub.json b/web-app/src/locales/pl/hub.json new file mode 100644 index 000000000..08fba3d08 --- /dev/null +++ b/web-app/src/locales/pl/hub.json @@ -0,0 +1,30 @@ +{ + "sortNewest": "Najnowsze", + "sortMostDownloaded": "Najczęściej pobierane", + "use": "Użyj", + "download": "Pobierz", + "downloaded": "Pobrany", + "loadingModels": "Wczytywanie modeli…", + "noModels": "Nie znaleziono żadnych modeli", + "by": "Od", + "downloads": "Pobrane", + "variants": "Warianty", + "showVariants": "Pokaż warianty", + "useModel": "Użyj tego modelu", + "downloadModel": "Pobierz model", + "searchPlaceholder": "Szukaj modeli na Hugging Face…", + "joyride": { + "recommendedModelTitle": "Polecany Model", + "recommendedModelContent": "Przeglądaj i pobieraj silne modele SI od różnych dostawców, wszystko w jednym miejscu. Warto zacząć od Jan-Nano - modelu zoptymalizowanego do wywoływania funkcji, integracji z narzędziami i możliwości badawczych. Jest on idealny do budowania interaktywnych agentów SI.", + "downloadInProgressTitle": "Trwa Pobieranie", + "downloadInProgressContent": "Twój model jest teraz pobierany. Tutaj możesz śledzić postęp. Po zakończeniu, model będzie gotowy do użytku.", + "downloadModelTitle": "Pobierz Model", + "downloadModelContent": "Kliknij na przycisk 'Pobierz' aby rozpocząć pobieranie modelu.", + "back": "Wstecz", + "close": "Zamknij", + "lastWithDownload": "Ostatni Pobrany", + "last": "Ostatni", + "next": "Dalej", + "skip": "Pomiń" + } +} diff --git a/web-app/src/locales/pl/logs.json b/web-app/src/locales/pl/logs.json new file mode 100644 index 000000000..78011682d --- /dev/null +++ b/web-app/src/locales/pl/logs.json @@ -0,0 +1,3 @@ +{ + "noLogs": "Brak dzienników" +} diff --git a/web-app/src/locales/pl/mcp-servers.json b/web-app/src/locales/pl/mcp-servers.json new file mode 100644 index 000000000..a9e689343 --- /dev/null +++ b/web-app/src/locales/pl/mcp-servers.json @@ -0,0 +1,43 @@ +{ + "editServer": "Edytuj Serwer MCP", + "addServer": "Dodaj Serwer MCP", + "serverName": "Nazwa Serwera", + "enterServerName": "Wprowadź nazwę serwera", + "command": "Polecenie", + "enterCommand": "Wprowadź polecenie (uvx lub npx)", + "arguments": "Argumenty", + "argument": "{{index}}. argument", + "envVars": "Zmienne Środowiskowe", + "key": "Klucz", + "value": "Wartość", + "save": "Zapisz", + "status": "Stan", + "connected": "Połączono", + "disconnected": "Rozłączono", + "deleteServer": { + "title": "Usuń Serwer MCP", + "description": "Na pewno chcesz usunąć serwer MCP {{serverName}}? Tej operacji nie można cofnąć.", + "delete": "Usuń" + }, + "editJson": { + "title": "Edytuj JSON Serwera MCP: {{serverName}}", + "titleAll": "Edytuj JSON Wszystkich Serwerów MCP", + "placeholder": "Wprowadź konfigurację JSON", + "errorParse": "Błąd parsowania wstępnych danych", + "errorPaste": "Wprowadzono JSON o niepoprawnym formacie", + "errorFormat": "Niepoprawny format JSON", + "save": "Zapisz" + }, + "checkParams": "Proszę sprawdzić parametry we wprowadzeniu.", + "title": "Serwery MCP", + "experimental": "Eksperymentalne", + "editAllJson": "Edytuj JSON Wszystkich Serwerów", + "findMore": "Znajdź więcej serwerów MCP na", + "allowPermissions": "Pozwalaj na Wszystkie Użycia Narzędzi MCP", + "allowPermissionsDesc": "Po włączeniu będzie automatycznie zezwalać na wszystkie użycia narzędzi MCP bez wyświetlania próśb o zgodę.", + "noServers": "Nie znaleziono serwerów MCP", + "args": "Argumenty", + "env": "Zmienne Środowiskowe", + "serverStatusActive": "Pomyślnie aktywowano serwer {{serverKey}}", + "serverStatusInactive": "Pomyślnie dezaktywowano serwer {{serverKey}}" +} diff --git a/web-app/src/locales/pl/model-errors.json b/web-app/src/locales/pl/model-errors.json new file mode 100644 index 000000000..a9a6eb5d3 --- /dev/null +++ b/web-app/src/locales/pl/model-errors.json @@ -0,0 +1,7 @@ +{ + "title": "Błąd kontekstu", + "description": "Temu czatowi zaczyna brakować pamięci SI. To trochę jak tablica, która jest już zapisana. Można udostępnić więcej pamięci (zwiększyć rozmiar kontekstu), ale to zwiększy zużycie pamięci komputera. Można też przyciąć wejście, co oznacza zapomnienie części historii czatu, celem zwolnienia miejsca dla nowych wiadomości.", + "increaseContextSizeDescription": "Czy chcesz zwiększyć rozmiar kontekstu?", + "truncateInput": "Przytnij Wejście", + "increaseContextSize": "Zwiększ Rozmiar Kontekstu" +} diff --git a/web-app/src/locales/pl/provider.json b/web-app/src/locales/pl/provider.json new file mode 100644 index 000000000..bc7dc5084 --- /dev/null +++ b/web-app/src/locales/pl/provider.json @@ -0,0 +1,5 @@ +{ + "addProvider": "Dodaj Dostawcę", + "addOpenAIProvider": "Dodaj Dostawcę OpenAI", + "enterNameForProvider": "Wprowadź nazwę dostawcy" +} diff --git a/web-app/src/locales/pl/providers.json b/web-app/src/locales/pl/providers.json new file mode 100644 index 000000000..fdbba1e3d --- /dev/null +++ b/web-app/src/locales/pl/providers.json @@ -0,0 +1,68 @@ +{ + "joyride": { + "chooseProviderTitle": "Wybierz Dostawcę", + "chooseProviderContent": "Wybierz swojego dostawcę i upewnij się, że masz odpowiedni klucz API.", + "getApiKeyTitle": "Zdobądź Swój Klucz API", + "getApiKeyContent": "Zaloguj się do panelu sterowania swojego dostawcy i znajdź lub wygeneruj swój klucz API.", + "insertApiKeyTitle": "Wprowadź Swój Klucz API", + "insertApiKeyContent": "Wprowadź swój klucz API, następnie połącz się z dostawcą i go aktywuj.", + "back": "Wstecz", + "close": "Zamknij", + "last": "Ostatni", + "next": "Dalej", + "skip": "Pomiń" + }, + "refreshModelsError": "Dostawca musi mieć ustawiony adres URL i klucz API aby pobrać modele.", + "refreshModelsSuccess": "Dodano {{count}} model-e/i od dostawcy {{provider}}.", + "noNewModels": "Nie znaleziono nowych modeli. Wszystkie modele są już dodane.", + "refreshModelsFailed": "Nie udało się pobrać modeli od dostawcy {{provider}}. Proszę sprawdzić poprawność klucza API i adresu URL.", + "models": "Modele", + "refreshing": "Odświeżanie…", + "refresh": "Odśwież", + "import": "Importuj", + "importModelSuccess": "Pomyślnie zaimportowano model dostawcy {{provider}}.", + "importModelError": "Nie udało się zaimportować modelu:", + "stop": "Zatrzymaj", + "start": "Uruchom", + "noModelFound": "Brak modeli", + "noModelFoundDesc": "Tutaj będą wymienione dostępne modele. Odwiedź Centrum Modeli żeby jakiś pobrać.", + "configuration": "Ustawienia", + "apiEndpoint": "Punkt Końcowy API", + "testConnection": "Sprawdź Połączenie", + "addModel": { + "title": "Dodaj Nowy Model", + "description": "Dodaj nowy model do dostawcy {{provider}}.", + "modelId": "Identyfikator Modelu", + "enterModelId": "Wprowadź identyfikator modelu", + "exploreModels": "Zobacz listę modeli dostawcy {{provider}}", + "addModel": "Dodaj Model" + }, + "deleteModel": { + "title": "Usuń Model: {{modelId}}", + "description": "Na pewno chcesz usunąć ten model? Tej operacji nie można cofnąć.", + "success": "Model {{modelId}} został usunięty.", + "cancel": "Anuluj", + "delete": "Usuń" + }, + "deleteProvider": { + "title": "Usuń Dostawcę", + "description": "Usuń dostawcę i wszystkie jego modele. Tej operacji nie można cofnąć.", + "success": "Dostawca {{provider}} został usunięty.", + "confirmTitle": "Usuń Dostawcę: {{provider}}", + "confirmDescription": "Na pewno chcesz usunąć tego dostawcę? Tej operacji nie można cofnąć.", + "cancel": "Anuluj", + "delete": "Usuń" + }, + "editModel": { + "title": "Edytuj Model: {{modelId}}", + "description": "Ustaw możliwości modelu za pomocą poniższych przełączników.", + "capabilities": "Możliwości", + "tools": "Narzędzia", + "vision": "Wizja", + "embeddings": "Osadzenia", + "notAvailable": "Jeszcze nie dostępne" + }, + "addProvider": "Dodaj Dostawcę", + "addOpenAIProvider": "Dodaj Dostawcę OpenAI", + "enterNameForProvider": "Wprowadź nazwę dostawcy" +} diff --git a/web-app/src/locales/pl/settings.json b/web-app/src/locales/pl/settings.json new file mode 100644 index 000000000..c5fdf8048 --- /dev/null +++ b/web-app/src/locales/pl/settings.json @@ -0,0 +1,250 @@ +{ + "autoDownload": "Automatycznie pobieraj nowe aktualizacje", + "checkForUpdates": "Sprawdź Dostępność Aktualizacji", + "checkForUpdatesDesc": "Sprawdza czy dostępna jest nowa wersja Jan.", + "checkingForUpdates": "Sprawdzanie dostępności aktualizacji…", + "noUpdateAvailable": "Używasz najnowszej wersji", + "devVersion": "Wykryto wersję deweloperską", + "updateError": "Nie udało się sprawdzić dostępności aktualizacji", + "changeLocation": "Zmień Położenie", + "copied": "Skopiowano", + "copyPath": "Skopiuj Ścieżkę", + "openLogs": "Otwórz Dzienniki", + "revealLogs": "Wyświetl Dzienniki", + "showInFinder": "Pokaż w Finderze", + "showInFileExplorer": "Pokaż w Explorerze", + "openContainingFolder": "Otwórz Katalog Nadrzędny", + "failedToRelocateDataFolder": "Błąd zmiany katalogu danych", + "failedToRelocateDataFolderDesc": "Nie udało się przenieść katalogu danych. Proszę spróbować później.", + "factoryResetTitle": "Przywróć Ustawienia Fabryczne", + "factoryResetDesc": "Przywraca domyślne ustawienia aplikacji. Tej operacji nie można cofnąć. Zalecane przy uszkodzeniu danych aplikacji.", + "cancel": "Anuluj", + "reset": "Przywróć", + "resources": "Zasoby", + "documentation": "Dokumentacja", + "documentationDesc": "Dowiedz się jak używać aplikacji Jan i odkryj jej funkcje.", + "viewDocs": "Zobacz Dokumentację", + "releaseNotes": "Informacje o Wydaniu", + "releaseNotesDesc": "Zobacz co nowego w najnowszej wersji Jan.", + "viewReleases": "Zobacz Wydania", + "community": "Społeczność", + "github": "GitHub", + "githubDesc": "Pomóż w rozwijaniu Jan.", + "discord": "Discord", + "discordDesc": "Dołącz do naszej społeczności aby podyskutować lub uzyskać pomoc.", + "support": "Obsługa", + "reportAnIssue": "Zgłoś Problem", + "reportAnIssueDesc": "Znalazłeś/-aś błąd? Pomóż nam, zgłaszając go na GitHubie.", + "reportIssue": "Zgłoś Problem", + "credits": "Podziękowania", + "creditsDesc1": "Aplikacja Jan jest rozwijana z ❤️ przez Zespół Menlo.", + "creditsDesc2": "Szczególne podziękowania dla naszych otwartoźródłowych zależności - zwłaszcza llama.cpp i Tauri - oraz dla naszej wspaniałej społeczności SI.", + "appVersion": "Wersja Aplikacji", + "dataFolder": { + "appData": "Katalog Danych", + "appDataDesc": "Domyślne położenie wiadomości i innych danych użytkownika.", + "appLogs": "Dzienniki Aplikacji", + "appLogsDesc": "Zobacz szczegółowe dzienniki aplikacji." + }, + "others": { + "spellCheck": "Sprawdzanie Pisowni", + "spellCheckDesc": "Włącz sprawdzanie pisowni w wątkach.", + "resetFactory": "Przywróć Ustawienia Fabryczne", + "resetFactoryDesc": "Przywróć aplikację do stanu początkowego, wymazując wszystkie modele i historię czatów. Tej operacji nie można cofnąć. Zalecane tylko przy uszkodzeniach danych aplikacji." + }, + "shortcuts": { + "application": "Aplikacja", + "newChat": "Nowy Czat", + "newChatDesc": "Rozpocznij nowy czat.", + "toggleSidebar": "Przełącz Pasek Boczny", + "toggleSidebarDesc": "Pokaż lub ukryj pasek boczny.", + "zoomIn": "Przybliż", + "zoomInDesc": "Zwiększ poziom przybliżenia.", + "zoomOut": "Oddal", + "zoomOutDesc": "Zmniejsz poziom przybliżenia.", + "chat": "Czat", + "sendMessage": "Wyślij Wiadomość", + "sendMessageDesc": "Wyślij bieżącą wiadomość.", + "enter": "Enter", + "newLine": "Nowa Linia", + "newLineDesc": "Wprowadź nową linię.", + "shiftEnter": "Shift + Enter", + "navigation": "Nawigacja", + "goToSettings": "Przejdź do Ustawień", + "goToSettingsDesc": "Otwórz ustawienia." + }, + "appearance": { + "title": "Wygląd", + "theme": "Schemat Kolorystyczny", + "themeDesc": "Dopasuj do schematu systemowego.", + "fontSize": "Rozmiar Fontu", + "fontSizeDesc": "Dostosuj rozmiar fontu w aplikacji.", + "windowBackground": "Tło Okna", + "windowBackgroundDesc": "Ustaw kolor tła okna aplikacji.", + "appMainView": "Główny Obszar Aplikacji", + "appMainViewDesc": "Ustaw kolor tła głównego obszaru aplikacji.", + "primary": "Główny", + "primaryDesc": "Ustaw kolor główny komponentów interfejsu użytkownika.", + "accent": "Akcentowy", + "accentDesc": "Ustaw kolor akcentowy wyróżnionych elementów interfejsu użytkownika.", + "destructive": "Destrukcyjny", + "destructiveDesc": "Ustaw kolor operacji destrukcyjnych.", + "resetToDefault": "Przywróć Domyślne", + "resetToDefaultDesc": "Przywróć domyślne ustawienia wyglądu.", + "resetAppearanceSuccess": "Pomyślnie Przywrócono Ustawienia Wyglądu", + "resetAppearanceSuccessDesc": "Wszystkie ustawienia wyglądu zostały przywrócone do wartości domyślnych.", + "chatWidth": "Szerokość Czatu", + "chatWidthDesc": "Ustaw szerokość komponentu czatu.", + "codeBlockTitle": "Blok Kodu", + "codeBlockDesc": "Wybierz styl kolorowania składni w blokach kodu.", + "showLineNumbers": "Pokazuj Numery Linii", + "showLineNumbersDesc": "Pokazuj numery linii w blokach kodu.", + "resetCodeBlockStyle": "Przywróć Domyślny Styl Bloków Kodu", + "resetCodeBlockStyleDesc": "Przywraca domyślny styl bloku kodu.", + "resetCodeBlockSuccess": "Pomyślnie Przywrócono Styl Bloku Kodu", + "resetCodeBlockSuccessDesc": "Styl bloku kodu został przywrócony do ustawień domyślnych." + }, + "hardware": { + "os": "System Operacyjny", + "name": "Nazwa", + "version": "Wersja", + "cpu": "CPU", + "model": "Model", + "architecture": "Architektura", + "cores": "Rdzenie", + "instructions": "Instrukcje", + "usage": "Użycie", + "memory": "Pamięć", + "totalRam": "Całkowita RAM", + "availableRam": "Dostępna RAM", + "vulkan": "Vulkan", + "enableVulkan": "Włącz Vulkan", + "enableVulkanDesc": "Używaj API Vulkan do przyspieszenia GPU. Nie włączaj Vulkana jeśli masz GPU Nvidia, ponieważ może to spowodować problemy z kompatybilnością.", + "gpus": "GPU", + "noGpus": "Nie wykryto żadnego GPU", + "vram": "VRAM", + "freeOf": "wolnych z", + "driverVersion": "Wersja Sterownika", + "computeCapability": "Możliwości Obliczeniowe", + "systemMonitor": "Monitor Systemowy" + }, + "httpsProxy": { + "proxy": "Pośrednik", + "proxyUrl": "URL Pośrednika", + "proxyUrlDesc": "URL i port serwera pośredniczącego.", + "proxyUrlPlaceholder": "http://proxy.example.com:8080", + "authentication": "Uwierzytelnianie", + "authenticationDesc": "Dane uwierzytelniające serwera pośredniczącego, jeśli wymagane.", + "username": "Nazwa Użytkownika", + "password": "Hasło", + "noProxy": "Bez Pośrednika", + "noProxyDesc": "Lista hostów pomijających serwer pośredniczący, oddzielonych przecinkami.", + "noProxyPlaceholder": "localhost,127.0.0.1,.local", + "sslVerification": "Weryfikacja SSL", + "ignoreSsl": "Ignoruj Certyfikaty SSL", + "ignoreSslDesc": "Pozwala używać samodzielnie podpisanych lub niezweryfikowanych certyfikatów. Może być wymagane przy niektórych serwerach pośredniczących, ale też obniża poziom bezpieczeństwa. Należy używać wyłącznie z zaufanymi serwerami pośredniczącymi.", + "proxySsl": "SSL Pośrednika", + "proxySslDesc": "Sprawdzaj certyfikaty SSL podczas łączenia z pośrednikiem.", + "proxyHostSsl": "SSL Hosta Pośrednika", + "proxyHostSslDesc": "Sprawdzaj certyfikaty SSL hosta pośrednika.", + "peerSsl": "SSL Połączeń Równorzędnych", + "peerSslDesc": "Sprawdzaj certyfikaty SSL połączeń równorzędnych.", + "hostSsl": "SSL Hosta", + "hostSslDesc": "Sprawdzaj certyfikaty SSL hostów docelowych." + }, + "localApiServer": { + "title": "Lokalny Serwer API", + "description": "Używaj lokalnego serwera kompatybilnego z API OpenAI.", + "startServer": "Uruchom Serwer", + "stopServer": "Zatrzymaj Serwer", + "serverLogs": "Dzienniki Serwera", + "serverLogsDesc": "Wyświetl szczegółowe dzienniki lokalnego serwera API.", + "openLogs": "Otwórz Dzienniki", + "serverConfiguration": "Konfiguracja Serwera", + "serverHost": "Host", + "serverHostDesc": "Adres sieciowy serwera.", + "serverPort": "Port", + "serverPortDesc": "Numer portu serwera API.", + "apiPrefix": "Prefiks API", + "apiPrefixDesc": "Prefiks ścieżki punktu końcowego API.", + "apiKey": "Klucz API", + "apiKeyDesc": "Uwierzytelniaj żądania sieciowe kluczem API.", + "trustedHosts": "Zaufane Hosty", + "trustedHostsDesc": "Hosty mające dostęp do serwera, oddzielone przecinkami.", + "advancedSettings": "Ustawienia Zaawansowane", + "cors": "Cross-Origin Resource Sharing (CORS)", + "corsDesc": "Pozwalaj na żądania cross-origin do serwera API.", + "verboseLogs": "Szczegółowe Wpisy Dzienników Serwera", + "verboseLogsDesc": "Włącz szczegółowe wpisy dzienników serwera na potrzeby rozwiązywania problemów." + }, + "privacy": { + "analytics": "Dane Analityczne", + "helpUsImprove": "Pomóż nam poprawiać aplikację", + "helpUsImproveDesc": "Aby pomóc w rozwijaniu Jan, możesz włączyć wysyłanie anonimowych danych analitycznych, takich jak użycie funkcji i liczba użytkowników. Nigdy nie zbieramy Twoich czatów lub danych osobowych.", + "privacyPolicy": "Masz pełną kontrolę nad swoimi danymi. Dowiedz się więcej w naszej Polityce Prywatności.", + "analyticsDesc": "Aby usprawnić Jan, musimy dowiedzieć się jak jest używany - ale to tylko z Twoją pomocą. Możesz zmienić to ustawienie w dowolnym momencie.", + "privacyPromises": "Twój wybór tutaj nie będzie miał wpływu na nasze kluczowe obietnice prywatności:", + "promise1": "Twoje rozmowy zostają prywatne i na Twoim urządzeniu", + "promise2": "Nigdy nie zbieramy Twoich danych osobowych lub treści czatów", + "promise3": "Wszystkie dane są anonimowe i zagregowane", + "promise4": "W dowolnym momencie możesz zrezygnować z wysyłania danych analitycznych bez obniżenia funkcjonalności aplikacji", + "promise5": "Jesteśmy transparentni na temat tego, jakie dane zbieramy i dlaczego" + }, + "general": { + "showInFinder": "Pokaż w Finderze", + "showInFileExplorer": "Pokaż w Explorerze", + "openContainingFolder": "Otwórz Katalog Nadrzędny", + "failedToRelocateDataFolder": "Błąd zmiany katalogu danych", + "failedToRelocateDataFolderDesc": "Nie udało się przenieść katalogu danych. Proszę spróbować później.", + "devVersion": "Wykryto wersję deweloperską", + "noUpdateAvailable": "Używasz najnowszej wersji", + "updateError": "Nie udało się sprawdzić dostępności aktualizacji", + "appVersion": "Wersja Aplikacji", + "checkForUpdates": "Sprawdź Dostępność Aktualizacji", + "checkForUpdatesDesc": "Sprawdza czy dostępna jest nowa wersja Jan.", + "checkingForUpdates": "Sprawdzanie dostępności aktualizacji…", + "copied": "Skopiowano", + "copyPath": "Skopiuj Ścieżkę", + "changeLocation": "Zmień Położenie", + "openLogs": "Otwórz Dzienniki", + "revealLogs": "Wyświetl Dzienniki", + "factoryResetTitle": "Przywróć Ustawienia Fabryczne", + "factoryResetDesc": "Przywraca domyślne ustawienia aplikacji. Tej operacji nie można cofnąć. Zalecane przy uszkodzeniu danych aplikacji.", + "cancel": "Anuluj", + "reset": "Przywróć", + "huggingfaceToken": "Token HuggingFace", + "huggingfaceTokenDesc": "Twój token do API modeli HuggingFace.", + "resources": "Zasoby", + "documentation": "Dokumentacja", + "documentationDesc": "Dowiedz się jak używać aplikacji Jan i odkryj jej funkcje.", + "viewDocs": "Zobacz Dokumentację", + "releaseNotes": "Informacje o Wydaniu", + "releaseNotesDesc": "Zobacz co nowego w najnowszej wersji Jan.", + "viewReleases": "Zobacz Wydania", + "community": "Społeczność", + "github": "GitHub", + "githubDesc": "Pomóż w rozwijaniu Jan.", + "discord": "Discord", + "discordDesc": "Dołącz do naszej społeczności aby podyskutować lub uzyskać pomoc.", + "support": "Obsługa", + "reportAnIssue": "Zgłoś Problem", + "reportAnIssueDesc": "Znalazłeś/-aś błąd? Pomóż nam, zgłaszając go na GitHubie.", + "reportIssue": "Zgłoś Problem", + "credits": "Podziękowania", + "creditsDesc1": "Aplikacja Jan jest rozwijana z ❤️ przez Zespół Menlo.", + "creditsDesc2": "Szczególne podziękowania dla naszych otwartoźródłowych zależności - zwłaszcza llama.cpp i Tauri - oraz dla naszej wspaniałej społeczności SI." + }, + "extensions": { + "title": "Rozszerzenia" + }, + "dialogs": { + "changeDataFolder": { + "title": "Zmień Położenie Katalogu Danych", + "description": "Na pewno chcesz zmienić położenie katalogu danych? Przeniesie to dane do nowego katalogu i uruchomi ponownie aplikację.", + "currentLocation": "Obecne Położenie:", + "newLocation": "Nowe Położenie:", + "cancel": "Anuluj", + "changeLocation": "Zmień Położenie" + } + } +} diff --git a/web-app/src/locales/pl/setup.json b/web-app/src/locales/pl/setup.json new file mode 100644 index 000000000..36776849e --- /dev/null +++ b/web-app/src/locales/pl/setup.json @@ -0,0 +1,6 @@ +{ + "welcome": "Witaj w Jan", + "description": "Aby rozpocząć, musisz albo pobrać lokalny model SI, albo połączyć się z modelem w chmurze przy użyciu klucza API", + "localModel": "Ustaw lokalny model", + "remoteProvider": "Ustaw dostawcę modeli zdalnych" +} diff --git a/web-app/src/locales/pl/system-monitor.json b/web-app/src/locales/pl/system-monitor.json new file mode 100644 index 000000000..6d8630481 --- /dev/null +++ b/web-app/src/locales/pl/system-monitor.json @@ -0,0 +1,28 @@ +{ + "title": "Monitor Systemowy", + "cpuUsage": "Użycie CPU", + "model": "Model", + "cores": "Rdzenie", + "architecture": "Architektura", + "currentUsage": "Obecne Użycie", + "memoryUsage": "Użycie Pamięci", + "totalRam": "Całkowita RAM", + "availableRam": "Dostępna RAM", + "usedRam": "Używana RAM", + "runningModels": "Uruchomione Modele", + "noRunningModels": "Obecnie żaden model nie jest uruchomiony", + "provider": "Dostawca", + "uptime": "Czas Uruchomienia", + "actions": "Operacje", + "stop": "Zatrzymaj", + "activeGpus": "Aktywne GPU", + "noGpus": "Nie wykryto żadnej GPU", + "noActiveGpus": "Brak aktywnej GPU. Wszystkie GPU są obecnie wyłączone.", + "vramUsage": "Użycie VRAM", + "driverVersion": "Wersja Sterownika:", + "computeCapability": "Możliwości Obliczeniowe:", + "active": "Aktywne", + "performance": "Wydajność", + "resources": "Zasoby", + "refresh": "Odśwież" +} diff --git a/web-app/src/locales/pl/tool-approval.json b/web-app/src/locales/pl/tool-approval.json new file mode 100644 index 000000000..c0e917b68 --- /dev/null +++ b/web-app/src/locales/pl/tool-approval.json @@ -0,0 +1,12 @@ +{ + "title": "Prośba o Użycie Narzędzia", + "description": "Asystent chce użyć narzędzia: {{toolName}}", + "securityNotice": "Ostrzeżenie Bezpieczeństwa: Złośliwe narzędzia lub treści rozmowy mają potencjał nakłonić agenta do szkodliwych działań. Dokładnie przejrzyj każdą prośbę o użycie narzędzia przed wyrażeniem zgody.", + "deny": "Odmów", + "allowOnce": "Pozwól Raz", + "alwaysAllow": "Zawsze Pozwalaj", + "permissions": "Pozwolenia", + "approve": "Zaakceptuj", + "reject": "Odrzuć", + "parameters": "Parametry Narzędzia" +} diff --git a/web-app/src/locales/pl/tools.json b/web-app/src/locales/pl/tools.json new file mode 100644 index 000000000..fcb7c0ee3 --- /dev/null +++ b/web-app/src/locales/pl/tools.json @@ -0,0 +1,11 @@ +{ + "toolApproval": { + "title": "Wymagane Pozwolenie na Narzędzie", + "description": "Asystent chce użyć", + "securityNotice": "Złośliwe narzędzia lub treści rozmowy mają potencjał nakłonić agenta do szkodliwych działań. Dokładnie przejrzyj każdą prośbę o użycie narzędzia przed wyrażeniem zgody.", + "deny": "Odmów", + "allowOnce": "Pozwól Raz", + "alwaysAllow": "Zawsze Pozwalaj", + "parameters": "Parametry Narzędzia" + } +} diff --git a/web-app/src/locales/pl/updater.json b/web-app/src/locales/pl/updater.json new file mode 100644 index 000000000..d735fd249 --- /dev/null +++ b/web-app/src/locales/pl/updater.json @@ -0,0 +1,10 @@ +{ + "newVersion": "Nowa Wersja: {{version}}", + "updateAvailable": "Dostępna Aktualizacja", + "nightlyBuild": "Kompilacja Nocna", + "showReleaseNotes": "Pokaż Informacje o Wydaniu", + "hideReleaseNotes": "Ukryj Informacje o Wydaniu", + "remindMeLater": "Przypomnij Mi Później", + "downloading": "Pobieranie…", + "updateNow": "Zaktualizuj Teraz" +}