feat(Languages): 👽 add pl-PL language (#4128)

This commit is contained in:
Patryk Garstecki
2024-05-07 09:41:57 +02:00
committed by GitHub
parent 6f1911533c
commit 6271463240
24 changed files with 3034 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
languages = ['en-US', 'zh-Hans', 'zh-Hant', 'pt-BR', 'es-ES', 'fr-FR', 'de-DE', 'ja-JP', 'ko-KR', 'ru-RU', 'it-IT', 'uk-UA', 'vi-VN']
languages = ['en-US', 'zh-Hans', 'zh-Hant', 'pt-BR', 'es-ES', 'fr-FR', 'de-DE', 'ja-JP', 'ko-KR', 'ru-RU', 'it-IT', 'uk-UA', 'vi-VN', 'pl-PL']
language_timezone_mapping = {
'en-US': 'America/New_York',
@@ -16,6 +16,7 @@ language_timezone_mapping = {
'it-IT': 'Europe/Rome',
'uk-UA': 'Europe/Kyiv',
'vi-VN': 'Asia/Ho_Chi_Minh',
'pl-PL': 'Europe/Warsaw',
}

View File

@@ -19,6 +19,7 @@ export type I18nText = {
'vi-VN': string
'de_DE': string
'zh_Hant': string
'pl-PL': string
}
export const languages = [
@@ -112,6 +113,12 @@ export const languages = [
example: 'Xin chào, Dify!',
supported: true,
},
{
value: 'pl-PL',
name: 'Polski (Polish)',
example: 'Cześć, Dify!',
supported: true,
},
]
export const LanguagesSupported = languages.filter(item => item.supported).map(item => item.value)
@@ -133,6 +140,7 @@ export const NOTICE_I18N = {
de_DE: 'Wichtiger Hinweis',
ja_JP: '重要なお知らせ',
ko_KR: '중요 공지',
pl_PL: 'Ważne ogłoszenie',
uk_UA: 'Важливе повідомлення',
vi_VN: 'Thông báo quan trọng',
},
@@ -145,6 +153,7 @@ export const NOTICE_I18N = {
de_DE: 'Our system will be unavailable from 19:00 to 24:00 UTC on August 28 for an upgrade. For questions, kindly contact our support team (support@dify.ai). We value your patience.',
ja_JP: 'Our system will be unavailable from 19:00 to 24:00 UTC on August 28 for an upgrade. For questions, kindly contact our support team (support@dify.ai). We value your patience.',
ko_KR: 'Our system will be unavailable from 19:00 to 24:00 UTC on August 28 for an upgrade. For questions, kindly contact our support team (support@dify.ai). We value your patience.',
pl_PL: 'Nasz system będzie niedostępny od 19:00 do 24:00 UTC 28 sierpnia w celu aktualizacji. W przypadku pytań prosimy o kontakt z naszym zespołem wsparcia (support@dify.ai). Doceniamy Twoją cierpliwość.',
uk_UA: 'Наша система буде недоступна з 19:00 до 24:00 UTC 28 серпня для оновлення. Якщо у вас виникнуть запитання, будь ласка, зв’яжіться з нашою службою підтримки (support@dify.ai). Дякуємо за терпіння.',
vi_VN: 'Hệ thống của chúng tôi sẽ ngừng hoạt động từ 19:00 đến 24:00 UTC vào ngày 28 tháng 8 để nâng cấp. Nếu có thắc mắc, vui lòng liên hệ với nhóm hỗ trợ của chúng tôi (support@dify.ai). Chúng tôi đánh giá cao sự kiên nhẫn của bạn.',
},

View File

@@ -0,0 +1,89 @@
const translation = {
title: 'Adnotacje',
name: 'Odpowiedź adnotacji',
editBy: 'Odpowiedź edytowana przez {{author}}',
noData: {
title: 'Brak adnotacji',
description:
'Możesz edytować adnotacje podczas debugowania aplikacji lub importować adnotacje tutaj w celu uzyskania wysokiej jakości odpowiedzi.',
},
table: {
header: {
question: 'pytanie',
answer: 'odpowiedź',
createdAt: 'utworzono',
hits: 'trafienia',
actions: 'akcje',
addAnnotation: 'Dodaj adnotację',
bulkImport: 'Masowy import',
bulkExport: 'Masowy eksport',
clearAll: 'Wyczyść wszystkie adnotacje',
},
},
editModal: {
title: 'Edytuj odpowiedź adnotacji',
queryName: 'Zapytanie użytkownika',
answerName: 'Bot opowiadający historie',
yourAnswer: 'Twoja odpowiedź',
answerPlaceholder: 'Wpisz tutaj swoją odpowiedź',
yourQuery: 'Twoje zapytanie',
queryPlaceholder: 'Wpisz tutaj swoje zapytanie',
removeThisCache: 'Usuń tę adnotację',
createdAt: 'Utworzono',
},
addModal: {
title: 'Dodaj odpowiedź adnotacji',
queryName: 'Pytanie',
answerName: 'Odpowiedź',
answerPlaceholder: 'Wpisz tutaj odpowiedź',
queryPlaceholder: 'Wpisz tutaj zapytanie',
createNext: 'Dodaj kolejną odpowiedź adnotacji',
},
batchModal: {
title: 'Masowy import',
csvUploadTitle: 'Przeciągnij i upuść tutaj swój plik CSV, lub ',
browse: 'przeglądaj',
tip: 'Plik CSV musi spełniać następującą strukturę:',
question: 'pytanie',
answer: 'odpowiedź',
contentTitle: 'zawartość fragmentu',
content: 'zawartość',
template: 'Pobierz szablon tutaj',
cancel: 'Anuluj',
run: 'Uruchom batch',
runError: 'Uruchomienie batcha nie powiodło się',
processing: 'Przetwarzanie batcha',
completed: 'Import zakończony',
error: 'Błąd importu',
ok: 'OK',
},
errorMessage: {
answerRequired: 'Odpowiedź jest wymagana',
queryRequired: 'Pytanie jest wymagane',
},
viewModal: {
annotatedResponse: 'Odpowiedź adnotacji',
hitHistory: 'Historia trafień',
hit: 'Trafienie',
hits: 'Trafienia',
noHitHistory: 'Brak historii trafień',
},
hitHistoryTable: {
query: 'Zapytanie',
match: 'Dopasowanie',
response: 'Odpowiedź',
source: 'Źródło',
score: 'Wynik',
time: 'Czas',
},
initSetup: {
title: 'Początkowa konfiguracja odpowiedzi adnotacji',
configTitle: 'Konfiguracja odpowiedzi adnotacji',
confirmBtn: 'Zapisz i włącz',
configConfirmBtn: 'Zapisz',
},
embeddingModelSwitchTip:
'Model wektoryzacji tekstu adnotacji, przełączanie modeli spowoduje ponowne osadzenie, co wiąże się z dodatkowymi kosztami.',
}
export default translation

102
web/i18n/pl-PL/app-api.ts Normal file
View File

@@ -0,0 +1,102 @@
const translation = {
apiServer: 'Serwer API',
apiKey: 'Klucz API',
status: 'Status',
disabled: 'Wyłączony',
ok: 'W usłudze',
copy: 'Kopiuj',
copied: 'Skopiowane',
play: 'Graj',
pause: 'Pauza',
playing: 'Gra',
loading: 'Ładowanie',
merMaind: {
rerender: 'Przerób Renderowanie',
},
never: 'Nigdy',
apiKeyModal: {
apiSecretKey: 'Tajny klucz API',
apiSecretKeyTips:
'Aby zapobiec nadużyciom API, chron swój klucz API. Unikaj używania go jako zwykłego tekstu w kodzie front-end. :)',
createNewSecretKey: 'Utwórz nowy tajny klucz',
secretKey: 'Tajny Klucz',
created: 'UTWORZONY',
lastUsed: 'OSTATNIO UŻYWANY',
generateTips: 'Przechowuj ten klucz w bezpiecznym i dostępnym miejscu.',
},
actionMsg: {
deleteConfirmTitle: 'Usunąć ten tajny klucz?',
deleteConfirmTips: 'Tej akcji nie można cofnąć.',
ok: 'OK',
},
completionMode: {
title: 'Zakończenie App API',
info: 'Do generowania tekstu wysokiej jakości, takiego jak artykuły, podsumowania i tłumaczenia, użyj API completion-messages z danymi wejściowymi użytkownika. Generowanie tekstu zależy od parametrów modelu i szablonów promptów ustawionych w Dify Prompt Engineering.',
createCompletionApi: 'Utwórz Wiadomość Zakończenia',
createCompletionApiTip:
'Utwórz Wiadomość Zakończenia, aby obsługiwać tryb pytanie-odpowiedź.',
inputsTips:
'(Opcjonalnie) Podaj pola wejściowe użytkownika jako pary klucz-wartość, odpowiadające zmiennym w Prompt Eng. Klucz to nazwa zmiennej, Wartość to wartość parametru. Jeśli typ pola to Wybierz, przesłana Wartość musi być jednym z predefiniowanych wyborów.',
queryTips: 'Treść tekstu wprowadzanego przez użytkownika.',
blocking:
'Typ blokujący, czekanie na zakończenie wykonania i zwrócenie wyników. (Żądania mogą być przerywane, jeśli proces jest długi)',
streaming:
'zwraca strumieniowo. Implementacja strumieniowego zwrotu na podstawie SSE (Server-Sent Events).',
messageFeedbackApi: 'Informacje zwrotne o wiadomości (lubię)',
messageFeedbackApiTip:
'Oceniaj otrzymane wiadomości w imieniu użytkowników końcowych na podstawie polubień lub niepolubień. Te dane są widoczne na stronie Logi i adnotacje i są używane do przyszłego dostrojenia modelu.',
messageIDTip: 'ID wiadomości',
ratingTip: 'lubię lub nie lubię, null to cofnięcie',
parametersApi: 'Uzyskaj informacje o parametrach aplikacji',
parametersApiTip:
'Pobierz skonfigurowane parametry wejściowe, w tym nazwy zmiennych, nazwy pól, typy i domyślne wartości. Zwykle używane do wyświetlania tych pól w formularzu lub wypełniania domyślnych wartości po załadowaniu klienta.',
},
chatMode: {
title: 'Chat App API',
info: 'Do wszechstronnych aplikacji konwersacyjnych w formacie Q&A, wywołaj API chat-messages, aby rozpocząć dialog. Utrzymuj trwające rozmowy, przekazując zwrócone conversation_id. Parametry odpowiedzi i szablony zależą od ustawień Dify Prompt Eng.',
createChatApi: 'Utwórz wiadomość czatu',
createChatApiTip:
'Utwórz nową wiadomość konwersacji lub kontynuuj istniejący dialog.',
inputsTips:
'(Opcjonalnie) Podaj pola wejściowe użytkownika jako pary klucz-wartość, odpowiadające zmiennym w Prompt Eng. Klucz to nazwa zmiennej, Wartość to wartość parametru. Jeśli typ pola to Wybierz, przesłana Wartość musi być jednym z predefiniowanych wyborów.',
queryTips: 'Treść pytania/wprowadzanej przez użytkownika',
blocking:
'Typ blokujący, czekanie na zakończenie wykonania i zwrócenie wyników. (Żądania mogą być przerywane, jeśli proces jest długi)',
streaming:
'zwraca strumieniowo. Implementacja strumieniowego zwrotu na podstawie SSE (Server-Sent Events).',
conversationIdTip:
'(Opcjonalnie) ID rozmowy: pozostaw puste dla pierwszej rozmowy; przekaż conversation_id z kontekstu, aby kontynuować dialog.',
messageFeedbackApi: 'Informacje zwrotne od użytkownika terminala, lubię',
messageFeedbackApiTip:
'Oceniaj otrzymane wiadomości w imieniu użytkowników końcowych na podstawie polubień lub niepolubień. Te dane są widoczne na stronie Logi i adnotacje i są używane do przyszłego dostrojenia modelu.',
messageIDTip: 'ID wiadomości',
ratingTip: 'lubię lub nie lubię, null to cofnięcie',
chatMsgHistoryApi: 'Pobierz historię wiadomości czatu',
chatMsgHistoryApiTip:
'Pierwsza strona zwraca najnowsze `limit` wiadomości, które są w odwrotnej kolejności.',
chatMsgHistoryConversationIdTip: 'ID rozmowy',
chatMsgHistoryFirstId:
'ID pierwszego rekordu czatu na bieżącej stronie. Domyślnie brak.',
chatMsgHistoryLimit: 'Ile czatów jest zwracanych w jednym żądaniu',
conversationsListApi: 'Pobierz listę rozmów',
conversationsListApiTip:
'Pobiera listę sesji bieżącego użytkownika. Domyślnie zwraca ostatnie 20 sesji.',
conversationsListFirstIdTip:
'ID ostatniego rekordu na bieżącej stronie, domyślnie brak.',
conversationsListLimitTip: 'Ile czatów jest zwracanych w jednym żądaniu',
conversationRenamingApi: 'Zmiana nazwy rozmowy',
conversationRenamingApiTip:
'Zmień nazwy rozmów; nazwa jest wyświetlana w interfejsach klienta wielosesyjnego.',
conversationRenamingNameTip: 'Nowa nazwa',
parametersApi: 'Uzyskaj informacje o parametrach aplikacji',
parametersApiTip:
'Pobierz skonfigurowane parametry wejściowe, w tym nazwy zmiennych, nazwy pól, typy i domyślne wartości. Zwykle używane do wyświetlania tych pól w formularzu lub wypełniania domyślnych wartości po załadowaniu klienta.',
},
develop: {
requestBody: 'Ciało żądania',
pathParams: 'Parametry ścieżki',
query: 'Zapytanie',
},
}
export default translation

463
web/i18n/pl-PL/app-debug.ts Normal file
View File

@@ -0,0 +1,463 @@
const translation = {
pageTitle: {
line1: 'MONIT',
line2: 'Inżynieria',
},
orchestrate: 'Orkiestracja',
promptMode: {
simple: 'Przełącz na tryb Ekspert, aby edytować cały MONIT',
advanced: 'Tryb Ekspert',
switchBack: 'Przełącz z powrotem',
advancedWarning: {
title:
'Przełączyłeś się na Tryb Ekspert, i po modyfikacji MONITU, NIE można powrócić do trybu podstawowego.',
description: 'W Trybie Ekspert, możesz edytować cały MONIT.',
learnMore: 'Dowiedz się więcej',
ok: 'OK',
},
operation: {
addMessage: 'Dodaj Wiadomość',
},
contextMissing:
'Brak komponentu kontekstowego, skuteczność monitu może być niewystarczająca.',
},
operation: {
applyConfig: 'Publikuj',
resetConfig: 'Resetuj',
debugConfig: 'Debuguj',
addFeature: 'Dodaj funkcję',
automatic: 'Automatyczny',
stopResponding: 'Przestaje odpowiadać',
agree: 'lubię',
disagree: 'nie lubię',
cancelAgree: 'Anuluj polubienie',
cancelDisagree: 'Anuluj niepolubienie',
userAction: 'Akcja użytkownika ',
},
notSetAPIKey: {
title: 'Klucz dostawcy LLM nie został ustawiony',
trailFinished: 'Ścieżka zakończona',
description:
'Klucz dostawcy LLM nie został ustawiony, musi zostać ustawiony przed debugowaniem.',
settingBtn: 'Przejdź do ustawień',
},
trailUseGPT4Info: {
title: 'Obecnie nie obsługuje GPT-4',
description: 'Użyj GPT-4, proszę ustawić klucz API.',
},
feature: {
groupChat: {
title: 'Rozmowy grupowe',
description:
'Dodanie ustawień przedkonwersacyjnych dla aplikacji może poprawić doświadczenia użytkownika.',
},
groupExperience: {
title: 'Poprawa doświadczenia',
},
conversationOpener: {
title: 'Otwieracze do rozmów',
description:
'W aplikacji czatowej pierwsze zdanie, które AI aktywnie wypowiada do użytkownika, zazwyczaj służy jako powitanie.',
},
suggestedQuestionsAfterAnswer: {
title: 'Nawiązanie',
description: 'Ustawienie kolejnych pytań może poprawić czat.',
resDes: '3 sugestie dla kolejnego pytania użytkownika.',
tryToAsk: 'Spróbuj zapytać',
},
moreLikeThis: {
title: 'Więcej takich jak ten',
description:
'Generuj wiele tekstów na raz, a następnie edytuj i kontynuuj generowanie',
generateNumTip: 'Liczba generowanych razów',
tip: 'Korzystanie z tej funkcji spowoduje dodatkowe zużycie tokenów',
},
speechToText: {
title: 'Mowa na tekst',
description: 'Po włączeniu można używać wprowadzania głosowego.',
resDes: 'Wprowadzanie głosowe jest włączone',
},
textToSpeech: {
title: 'Tekst na mowę',
description: 'Po włączeniu tekst można przekształcić w mowę.',
resDes: 'Tekst na audio jest włączony',
},
citation: {
title: 'Cytaty i odniesienia',
description:
'Po włączeniu, pokaż dokument źródłowy i przypisaną sekcję wygenerowanej treści.',
resDes: 'Cytaty i odniesienia są włączone',
},
annotation: {
title: 'Odpowiedź z adnotacją',
description:
'Możesz ręcznie dodać odpowiedź wysokiej jakości do pamięci podręcznej dla priorytetowego dopasowania do podobnych pytań użytkownika.',
resDes: 'Odpowiedź z adnotacją jest włączona',
scoreThreshold: {
title: 'Próg wyników',
description:
'Służy do ustawienia progu podobieństwa dla odpowiedzi z adnotacją.',
easyMatch: 'Łatwe dopasowanie',
accurateMatch: 'Dokładne dopasowanie',
},
matchVariable: {
title: 'Zmienna dopasowania',
choosePlaceholder: 'Wybierz zmienną do dopasowania',
},
cacheManagement: 'Adnotacje',
cached: 'Zanotowano',
remove: 'Usuń',
removeConfirm: 'Usunąć tę adnotację?',
add: 'Dodaj adnotację',
edit: 'Edytuj adnotację',
},
dataSet: {
title: 'Kontekst',
noData: 'Możesz importować wiedzę jako kontekst',
words: 'Słowa',
textBlocks: 'Bloki tekstu',
selectTitle: 'Wybierz odniesienie do wiedzy',
selected: 'Wiedza wybrana',
noDataSet: 'Nie znaleziono wiedzy',
toCreate: 'Przejdź do tworzenia',
notSupportSelectMulti: 'Obecnie obsługiwana jest tylko jedna wiedza',
queryVariable: {
title: 'Zmienna zapytania',
tip: 'Ta zmienna będzie używana jako dane wejściowe zapytania do odzyskiwania kontekstu, uzyskując informacje kontekstowe związane z wprowadzonymi danymi.',
choosePlaceholder: 'Wybierz zmienną zapytania',
noVar: 'Brak zmiennych',
noVarTip: 'proszę stworzyć zmienną w sekcji Zmienne',
unableToQueryDataSet: 'Nie można odzyskać wiedzy',
unableToQueryDataSetTip:
'Nie udało się pomyślnie odzyskać wiedzy, proszę wybrać zmienną zapytania kontekstowego w sekcji kontekstowej.',
ok: 'OK',
contextVarNotEmpty:
'zmienna zapytania kontekstowego nie może być pusta',
deleteContextVarTitle: 'Usunąć zmienną „{{varName}}”?',
deleteContextVarTip:
'Ta zmienna została ustawiona jako zmienna zapytania kontekstowego, a jej usunięcie wpłynie na normalne korzystanie z wiedzy. Jeśli nadal potrzebujesz jej usunąć, wybierz ją ponownie w sekcji kontekstowej.',
},
},
tools: {
title: 'Narzędzia',
tips: 'Narzędzia zapewniają standardową metodę wywołania API, przyjmując dane wejściowe użytkownika lub zmienne jako parametry żądania do zapytania o dane zewnętrzne jako kontekst.',
toolsInUse: '{{count}} narzędzi w użyciu',
modal: {
title: 'Narzędzie',
toolType: {
title: 'Typ narzędzia',
placeholder: 'Wybierz typ narzędzia',
},
name: {
title: 'Nazwa',
placeholder: 'Wprowadź nazwę',
},
variableName: {
title: 'Nazwa zmiennej',
placeholder: 'Wprowadź nazwę zmiennej',
},
},
},
conversationHistory: {
title: 'Historia konwersacji',
description: 'Ustaw prefixy dla ról w rozmowie',
tip: 'Historia konwersacji nie jest włączona, proszę dodać <historie> w monicie powyżej.',
learnMore: 'Dowiedz się więcej',
editModal: {
title: 'Edycja nazw ról konwersacyjnych',
userPrefix: 'Prefix użytkownika',
assistantPrefix: 'Prefix asystenta',
},
},
toolbox: {
title: 'SKRZYNKA NARZĘDZIOWA',
},
moderation: {
title: 'Moderacja treści',
description:
'Zabezpiecz wyjście modelu, używając API moderacji lub utrzymując listę wrażliwych słów.',
allEnabled: 'Treść WEJŚCIOWA/WYJŚCIOWA Włączona',
inputEnabled: 'Treść WEJŚCIOWA Włączona',
outputEnabled: 'Treść WYJŚCIOWA Włączona',
modal: {
title: 'Ustawienia moderacji treści',
provider: {
title: 'Dostawca',
openai: 'Moderacja OpenAI',
openaiTip: {
prefix:
'Moderacja OpenAI wymaga skonfigurowanego klucza API OpenAI w ',
suffix: '.',
},
keywords: 'Słowa kluczowe',
},
keywords: {
tip: 'Po jednym w wierszu, oddzielone znakiem nowej linii. Maksymalnie 100 znaków na wiersz.',
placeholder: 'Po jednym w wierszu, oddzielone znakiem nowej linii',
line: 'Linia',
},
content: {
input: 'Moderuj treść WEJŚCIOWĄ',
output: 'Moderuj treść WYJŚCIOWĄ',
preset: 'Ustawione odpowiedzi',
placeholder: 'Tutaj wprowadź ustawione odpowiedzi',
condition:
'Treść WEJŚCIA i WYJŚCIA musi być włączona przynajmniej jedna',
fromApi: 'Ustawione odpowiedzi zwracane przez API',
errorMessage: 'Ustawione odpowiedzi nie mogą być puste',
supportMarkdown: 'Obsługuje Markdown',
},
openaiNotConfig: {
before:
'Moderacja OpenAI wymaga skonfigurowanego klucza API OpenAI w',
after: '',
},
},
},
},
automatic: {
title: 'Zautomatyzowana orkiestracja aplikacji',
description:
'Opisz swój scenariusz, Dify zorkiestruje aplikację dla Ciebie.',
intendedAudience: 'Dla kogo jest przeznaczona ta aplikacja?',
intendedAudiencePlaceHolder: 'np. Uczeń',
solveProblem:
'Jakie problemy mają nadzieję, że AI może rozwiązać dla nich?',
solveProblemPlaceHolder:
'np. Wyciąganie wniosków i podsumowanie informacji z długich raportów i artykułów',
generate: 'Generuj',
audiencesRequired: 'Wymagana publiczności',
problemRequired: 'Wymagany problem',
resTitle: 'Stworzyliśmy następującą aplikację dla Ciebie.',
apply: 'Zastosuj tę orkiestrację',
noData:
'Opisz swój przypadek po lewej, podgląd orkiestracji pojawi się tutaj.',
loading: 'Orkiestracja aplikacji dla Ciebie...',
overwriteTitle: 'Zastąpić istniejącą konfigurację?',
overwriteMessage:
'Zastosowanie tej orkiestracji zastąpi istniejącą konfigurację.',
},
resetConfig: {
title: 'Potwierdź reset?',
message:
'Reset odrzuca zmiany, przywracając ostatnią opublikowaną konfigurację.',
},
errorMessage: {
nameOfKeyRequired: 'nazwa klucza: {{key}} wymagana',
valueOfVarRequired: '{{key}} wartość nie może być pusta',
queryRequired: 'Tekst żądania jest wymagany.',
waitForResponse: 'Proszę czekać na odpowiedź na poprzednią wiadomość.',
waitForBatchResponse: 'Proszę czekać na odpowiedź na zadanie wsadowe.',
notSelectModel: 'Proszę wybrać model',
waitForImgUpload: 'Proszę czekać na przesłanie obrazu',
},
chatSubTitle: 'Instrukcje',
completionSubTitle: 'Prefix Monitu',
promptTip:
'Monity kierują odpowiedziami AI za pomocą instrukcji i ograniczeń. Wstaw zmienne takie jak {{input}}. Ten monit nie będzie widoczny dla użytkowników.',
formattingChangedTitle: 'Zmiana formatowania',
formattingChangedText:
'Modyfikacja formatowania zresetuje obszar debugowania, czy jesteś pewien?',
variableTitle: 'Zmienne',
variableTip:
'Użytkownicy wypełniają zmienne w formularzu, automatycznie zastępując zmienne w monicie.',
notSetVar:
'Zmienne pozwalają użytkownikom wprowadzać słowa wstępujące lub otwierające uwagi podczas wypełniania formularzy. Możesz spróbować wpisać "{{input}}" w słowach monitu.',
autoAddVar:
'Niezdefiniowane zmienne odwołują się w pre-monicie, czy chcesz je dodać do formularza wejściowego użytkownika?',
variableTable: {
key: 'Klucz Zmiennej',
name: 'Nazwa Pola Wejściowego Użytkownika',
optional: 'Opcjonalnie',
type: 'Typ Wejścia',
action: 'Akcje',
typeString: 'String',
typeSelect: 'Wybierz',
},
varKeyError: {
canNoBeEmpty: 'Klucz zmiennej nie może być pusty',
tooLong:
'Klucz zmiennej: {{key}} za długi. Nie może być dłuższy niż 30 znaków',
notValid:
'Klucz zmiennej: {{key}} jest nieprawidłowy. Może zawierać tylko litery, cyfry i podkreślenia',
notStartWithNumber:
'Klucz zmiennej: {{key}} nie może zaczynać się od cyfry',
keyAlreadyExists: 'Klucz zmiennej: :{{key}} już istnieje',
},
otherError: {
promptNoBeEmpty: 'Monit nie może być pusty',
historyNoBeEmpty: 'Historia konwersacji musi być ustawiona w monicie',
queryNoBeEmpty: 'Zapytanie musi być ustawione w monicie',
},
variableConig: {
'addModalTitle': 'Dodaj Pole Wejściowe',
'editModalTitle': 'Edytuj Pole Wejściowe',
'description': 'Ustawienia dla zmiennej {{varName}}',
'fieldType': 'Typ pola',
'string': 'Krótki tekst',
'text-input': 'Krótki tekst',
'paragraph': 'Akapit',
'select': 'Wybierz',
'number': 'Numer',
'notSet': 'Nie ustawione, spróbuj wpisać {{input}} w monicie wstępnym',
'stringTitle': 'Opcje pola tekstowego formularza',
'maxLength': 'Maksymalna długość',
'options': 'Opcje',
'addOption': 'Dodaj opcję',
'apiBasedVar': 'Zmienna oparta na API',
'varName': 'Nazwa zmiennej',
'labelName': 'Nazwa etykiety',
'inputPlaceholder': 'Proszę wpisać',
'required': 'Wymagane',
'errorMsg': {
varNameRequired: 'Wymagana nazwa zmiennej',
labelNameRequired: 'Wymagana nazwa etykiety',
varNameCanBeRepeat: 'Nazwa zmiennej nie może się powtarzać',
atLeastOneOption: 'Wymagana jest co najmniej jedna opcja',
optionRepeat: 'Powtarzają się opcje',
},
},
vision: {
name: 'Wizja',
description:
'Włączenie Wizji pozwoli modelowi przyjmować obrazy i odpowiadać na pytania o nich.',
settings: 'Ustawienia',
visionSettings: {
title: 'Ustawienia Wizji',
resolution: 'Rozdzielczość',
resolutionTooltip: `niska rozdzielczość pozwoli modelowi odbierać obrazy o rozdzielczości 512 x 512 i reprezentować obraz z limitem 65 tokenów. Pozwala to API na szybsze odpowiedzi i zużywa mniej tokenów wejściowych dla przypadków, które nie wymagają wysokiego szczegółu.
\n
wysoka rozdzielczość pozwala najpierw modelowi zobaczyć obraz niskiej rozdzielczości, a następnie tworzy szczegółowe przycięcia obrazów wejściowych jako 512px kwadratów w oparciu o rozmiar obrazu wejściowego. Każde z tych szczegółowych przycięć używa dwukrotności budżetu tokenów, co daje razem 129 tokenów.`,
high: 'Wysoka',
low: 'Niska',
uploadMethod: 'Metoda przesyłania',
both: 'Obie',
localUpload: 'Przesyłanie lokalne',
url: 'URL',
uploadLimit: 'Limit przesyłania',
},
},
voice: {
name: 'Głos',
defaultDisplay: 'Domyślny Głos',
description: 'Ustawienia głosu tekstu na mowę',
settings: 'Ustawienia',
voiceSettings: {
title: 'Ustawienia Głosu',
language: 'Język',
resolutionTooltip: 'Wsparcie językowe głosu tekstu na mowę.',
voice: 'Głos',
},
},
openingStatement: {
title: 'Wstęp do rozmowy',
add: 'Dodaj',
writeOpner: 'Napisz wstęp',
placeholder:
'Tutaj napisz swoją wiadomość wprowadzającą, możesz użyć zmiennych, spróbuj wpisać {{variable}}.',
openingQuestion: 'Pytania otwierające',
noDataPlaceHolder:
'Rozpoczynanie rozmowy z użytkownikiem może pomóc AI nawiązać bliższe połączenie z nim w aplikacjach konwersacyjnych.',
varTip: 'Możesz używać zmiennych, spróbuj wpisać {{variable}}',
tooShort:
'Wymagane jest co najmniej 20 słów wstępnego monitu, aby wygenerować uwagi wstępne do rozmowy.',
notIncludeKey:
'Wstępny monit nie zawiera zmiennej: {{key}}. Proszę dodać ją do wstępnego monitu.',
},
modelConfig: {
model: 'Model',
setTone: 'Ustaw ton odpowiedzi',
title: 'Model i parametry',
modeType: {
chat: 'Czat',
completion: 'Uzupełnienie',
},
},
inputs: {
title: 'Debugowanie i podgląd',
noPrompt: 'Spróbuj wpisać jakiś monit w polu przedmonitu',
userInputField: 'Pole wejściowe użytkownika',
noVar:
'Wypełnij wartość zmiennej, która będzie automatycznie zastępowana w monicie za każdym razem, gdy rozpocznie się nowa sesja.',
chatVarTip:
'Wypełnij wartość zmiennej, która będzie automatycznie zastępowana w monicie za każdym razem, gdy rozpocznie się nowa sesja',
completionVarTip:
'Wypełnij wartość zmiennej, która będzie automatycznie zastępowana w słowach monitu za każdym razem, gdy zostanie przesłane pytanie.',
previewTitle: 'Podgląd monitu',
queryTitle: 'Treść zapytania',
queryPlaceholder: 'Proszę wprowadzić tekst żądania.',
run: 'URUCHOM',
},
result: 'Tekst wyjściowy',
datasetConfig: {
settingTitle: 'Ustawienia odzyskiwania',
knowledgeTip: 'Kliknij przycisk „+”, aby dodać wiedzę',
retrieveOneWay: {
title: 'Odzyskiwanie N-do-1',
description:
'Na podstawie zamiaru użytkownika i opisów Wiedzy, Agent samodzielnie wybiera najlepszą Wiedzę do zapytania. Najlepiej sprawdza się w aplikacjach o wyraźnej, ograniczonej Wiedzy.',
},
retrieveMultiWay: {
title: 'Odzyskiwanie wielościeżkowe',
description:
'Na podstawie zamiaru użytkownika, zapytania obejmują wszystkie Wiedze, pobierają odpowiedni tekst z wielu źródeł i wybierają najlepsze wyniki dopasowane do zapytań użytkownika po ponownym rankingu. Wymagana jest konfiguracja API modelu Przerankowania.',
},
rerankModelRequired: 'Wymagany model Przerankowania',
params: 'Parametry',
top_k: 'Najlepsze K',
top_kTip:
'Używane do filtrowania fragmentów najbardziej podobnych do pytań użytkownika. System również dynamicznie dostosowuje wartość Najlepszych K, zgodnie z maksymalną liczbą tokenów wybranego modelu.',
score_threshold: 'Próg punktacji',
score_thresholdTip:
'Używany do ustawienia progu podobieństwa dla filtrowania fragmentów.',
retrieveChangeTip:
'Modyfikacja trybu indeksowania i odzyskiwania może wpłynąć na aplikacje powiązane z tą Wiedzą.',
},
debugAsSingleModel: 'Debuguj jako pojedynczy model',
debugAsMultipleModel: 'Debuguj jako wiele modeli',
duplicateModel: 'Duplikuj',
publishAs: 'Opublikuj jako',
assistantType: {
name: 'Typ asystenta',
chatAssistant: {
name: 'Podstawowy Asystent',
description:
'Buduj asystenta opartego na czacie, korzystając z dużego modelu językowego',
},
agentAssistant: {
name: 'Asystent Agent',
description:
'Buduj inteligentnego agenta, który może autonomicznie wybierać narzędzia do wykonywania zadań',
},
},
agent: {
agentMode: 'Tryb Agenta',
agentModeDes: 'Ustaw rodzaj trybu wnioskowania dla agenta',
agentModeType: {
ReACT: 'ReAct',
functionCall: 'Wywołanie funkcji',
},
setting: {
name: 'Ustawienia Agenta',
description:
'Ustawienia Asystenta Agenta pozwalają ustawić tryb agenta i zaawansowane funkcje, takie jak wbudowane monity, dostępne tylko w typie Agent.',
maximumIterations: {
name: 'Maksymalna liczba iteracji',
description:
'Ogranicz liczbę iteracji, które asystent agenta może wykonać',
},
},
buildInPrompt: 'Wbudowany Monit',
firstPrompt: 'Pierwszy Monit',
nextIteration: 'Następna Iteracja',
promptPlaceholder: 'Napisz tutaj swój monit',
tools: {
name: 'Narzędzia',
description:
'Używanie narzędzi może rozszerzyć możliwości LLM, takie jak wyszukiwanie w internecie lub wykonywanie obliczeń naukowych',
enabled: 'Włączone',
},
},
}
export default translation

95
web/i18n/pl-PL/app-log.ts Normal file
View File

@@ -0,0 +1,95 @@
const translation = {
title: 'Dzienniki',
description:
'Dzienniki rejestrują stan działania aplikacji, w tym dane wejściowe użytkowników i odpowiedzi AI.',
dateTimeFormat: 'DD/MM/YYYY HH:mm',
table: {
header: {
time: 'Czas',
endUser: 'Użytkownik końcowy',
input: 'Wejście',
output: 'Wyjście',
summary: 'Tytuł',
messageCount: 'Liczba wiadomości',
userRate: 'Ocena użytkownika',
adminRate: 'Ocena operatora',
startTime: 'CZAS STARTU',
status: 'STATUS',
runtime: 'CZAS DZIAŁANIA',
tokens: 'TOKENY',
user: 'UŻYTKOWNIK KOŃCOWY',
version: 'WERSJA',
},
pagination: {
previous: 'Poprzedni',
next: 'Następny',
},
empty: {
noChat: 'Brak rozmowy',
noOutput: 'Brak wyników',
element: {
title: 'Czy ktoś jest?',
content:
'Obserwuj i adnotuj interakcje między użytkownikami końcowymi a aplikacjami AI tutaj, aby ciągle poprawiać dokładność AI. Możesz spróbować <shareLink>udostępnić</shareLink> lub <testLink>przetestować</testLink> aplikację internetową samodzielnie, a następnie wrócić na tę stronę.',
},
},
},
detail: {
time: 'Czas',
conversationId: 'ID rozmowy',
promptTemplate: 'Szablon monitu',
promptTemplateBeforeChat:
'Szablon monitu przed rozmową · Jako wiadomość systemowa',
annotationTip: 'Usprawnienia oznaczone przez {{user}}',
timeConsuming: '',
second: 's',
tokenCost: 'Wydatkowane tokeny',
loading: 'ładowanie',
operation: {
like: 'lubię',
dislike: 'nie lubię',
addAnnotation: 'Dodaj usprawnienie',
editAnnotation: 'Edytuj usprawnienie',
annotationPlaceholder:
'Wprowadź oczekiwaną odpowiedź, którą chcesz, aby AI odpowiedziało, co może być używane do dokładnego dostrojenia modelu i ciągłej poprawy jakości generacji tekstu w przyszłości.',
},
variables: 'Zmienne',
uploadImages: 'Przesłane obrazy',
},
filter: {
period: {
today: 'Dzisiaj',
last7days: 'Ostatnie 7 dni',
last4weeks: 'Ostatnie 4 tygodnie',
last3months: 'Ostatnie 3 miesiące',
last12months: 'Ostatnie 12 miesięcy',
monthToDate: 'Od początku miesiąca',
quarterToDate: 'Od początku kwartału',
yearToDate: 'Od początku roku',
allTime: 'Cały czas',
},
annotation: {
all: 'Wszystkie',
annotated: 'Zanotowane usprawnienia ({{count}} elementów)',
not_annotated: 'Nie zanotowane',
},
},
workflowTitle: 'Dzienniki przepływu pracy',
workflowSubtitle: 'Dziennik zarejestrował operację Automatyzacji.',
runDetail: {
title: 'Dziennik rozmowy',
workflowTitle: 'Szczegół dziennika',
},
promptLog: 'Dziennik monitów',
agentLog: 'Dziennik agenta',
viewLog: 'Zobacz dziennik',
agentLogDetail: {
agentMode: 'Tryb agenta',
toolUsed: 'Użyte narzędzia',
iterations: 'Iteracje',
iteration: 'Iteracja',
finalProcessing: 'Końcowa obróbka',
},
}
export default translation

View File

@@ -0,0 +1,162 @@
const translation = {
welcome: {
firstStepTip: 'Aby rozpocząć,',
enterKeyTip: 'wprowadź poniżej swój klucz API OpenAI',
getKeyTip: 'Pobierz swój klucz API z pulpitu nawigacyjnego OpenAI',
placeholder: 'Twój klucz API OpenAI (np. sk-xxxx)',
},
apiKeyInfo: {
cloud: {
trial: {
title: 'Korzystasz z limitu próbnego {{providerName}}.',
description:
'Limit próbny jest dostarczany do użytku testowego. Zanim wykorzystasz dozwolone wywołania limitu próbnego, skonfiguruj swojego własnego dostawcę modelu lub zakup dodatkowy limit.',
},
exhausted: {
title:
'Twój limit próbny został wyczerpany, proszę skonfiguruj swój klucz API.',
description:
'Twój limit próbny został wyczerpany. Skonfiguruj swojego własnego dostawcę modelu lub zakup dodatkowy limit.',
},
},
selfHost: {
title: {
row1: 'Aby rozpocząć,',
row2: 'najpierw skonfiguruj swojego dostawcę modelu.',
},
},
callTimes: 'Liczba wywołań',
usedToken: 'Zużyty token',
setAPIBtn: 'Przejdź do konfiguracji dostawcy modelu',
tryCloud: 'Lub wypróbuj wersję chmurową Dify z darmowym limitem',
},
overview: {
title: 'Przegląd',
appInfo: {
explanation: 'Gotowa do użycia aplikacja internetowa AI',
accessibleAddress: 'Publiczny adres URL',
preview: 'Podgląd',
regenerate: 'Wygeneruj ponownie',
preUseReminder: 'Przed kontynuowaniem włącz aplikację WebApp.',
settings: {
entry: 'Ustawienia',
title: 'Ustawienia WebApp',
webName: 'Nazwa WebApp',
webDesc: 'Opis WebApp',
webDescTip:
'Ten tekst będzie wyświetlany po stronie klienta, zapewniając podstawowe wskazówki, jak korzystać z aplikacji',
webDescPlaceholder: 'Wpisz opis WebApp',
language: 'Język',
more: {
entry: 'Pokaż więcej ustawień',
copyright: 'Prawa autorskie',
copyRightPlaceholder: 'Wprowadź nazwę autora lub organizacji',
privacyPolicy: 'Polityka prywatności',
privacyPolicyPlaceholder: 'Wprowadź link do polityki prywatności',
privacyPolicyTip:
'Pomaga odwiedzającym zrozumieć, jakie dane zbiera aplikacja, zobacz <privacyPolicyLink>Politykę prywatności Dify</privacyPolicyLink>.',
},
},
embedded: {
entry: 'Osadzone',
title: 'Osadź na stronie internetowej',
explanation:
'Wybierz sposób osadzenia aplikacji czatu na swojej stronie internetowej',
iframe:
'Aby dodać aplikację czatu w dowolnym miejscu na swojej stronie internetowej, dodaj ten kod iframe do swojego kodu HTML.',
scripts:
'Aby dodać aplikację czatu w prawym dolnym rogu swojej strony internetowej, dodaj ten kod do swojego HTML.',
chromePlugin: 'Zainstaluj rozszerzenie Chrome Dify Chatbot',
copied: 'Skopiowane',
copy: 'Kopiuj',
},
qrcode: {
title: 'Kod QR do udostępniania',
scan: 'Skanuj aplikację udostępniania',
download: 'Pobierz kod QR',
},
customize: {
way: 'sposób',
entry: 'Dostosuj',
title: 'Dostosuj aplikację internetową AI',
explanation:
'Możesz dostosować front aplikacji internetowej do swoich scenariuszy i potrzeb stylowych.',
way1: {
name: 'Skopiuj kod klienta, zmodyfikuj go i wdroż na Vercel (zalecane)',
step1: 'Skopiuj kod klienta i zmodyfikuj go',
step1Tip:
'Kliknij tutaj, aby skopiować kod źródłowy na swoje konto GitHub i zmodyfikować kod',
step1Operation: 'Dify-WebClient',
step2: 'Wdroż na Vercel',
step2Tip:
'Kliknij tutaj, aby zaimportować repozytorium do Vercel i wdrożyć',
step2Operation: 'Import repozytorium',
step3: 'Konfiguracja zmiennych środowiskowych',
step3Tip: 'Dodaj następujące zmienne środowiskowe w Vercel',
},
way2: {
name: 'Napisz kod po stronie klienta, aby wywołać API i wdrożyć go na serwerze',
operation: 'Dokumentacja',
},
},
},
apiInfo: {
title: 'API usługi w tle',
explanation: 'Łatwe do zintegrowania z twoją aplikacją',
accessibleAddress: 'Punkt końcowy API usługi',
doc: 'Dokumentacja API',
},
status: {
running: 'W usłudze',
disable: 'Wyłącz',
},
},
analysis: {
title: 'Analiza',
ms: 'ms',
tokenPS: 'Tokeny/s',
totalMessages: {
title: 'Łączna liczba wiadomości',
explanation:
'Dzienna liczba interakcji z AI; inżynieria i debugowanie monitów wykluczone.',
},
activeUsers: {
title: 'Aktywni użytkownicy',
explanation:
'Unikalni użytkownicy uczestniczący w pytaniach i odpowiedziach z AI; inżynieria i debugowanie monitów wykluczone.',
},
tokenUsage: {
title: 'Zużycie tokenów',
explanation:
'Odbija dziennie używane tokeny modelu językowego dla aplikacji, przydatne do kontroli kosztów.',
consumed: 'Zużyte',
},
avgSessionInteractions: {
title: 'Śr. interakcji w sesji',
explanation:
'Liczba ciągłych komunikacji użytkownik-AI; dla aplikacji opartych na rozmowach.',
},
avgUserInteractions: {
title: 'Śr. interakcji użytkownika',
explanation:
'Odbija dzienną częstotliwość użytkowania przez użytkowników. Ta metryka odzwierciedla przywiązanie użytkowników.',
},
userSatisfactionRate: {
title: 'Wskaźnik zadowolenia użytkowników',
explanation:
'Liczba polubień na 1000 wiadomości. Wskazuje to proporcję odpowiedzi, z których użytkownicy są bardzo zadowoleni.',
},
avgResponseTime: {
title: 'Śr. czas odpowiedzi',
explanation:
'Czas (ms) potrzebny AI na przetworzenie/odpowiedź; dla aplikacji opartych na tekście.',
},
tps: {
title: 'Szybkość wydajności tokenów',
explanation:
'Mierzy wydajność LLM. Liczy szybkość wydajności tokenów LLM od początku żądania do zakończenia wyjścia.',
},
},
}
export default translation

97
web/i18n/pl-PL/app.ts Normal file
View File

@@ -0,0 +1,97 @@
const translation = {
createApp: 'UTWÓRZ APLIKACJĘ',
types: {
all: 'Wszystkie',
chatbot: 'Chatbot',
agent: 'Agent',
workflow: 'Przepływ pracy',
completion: 'Zakończenie',
},
duplicate: 'Duplikuj',
duplicateTitle: 'Duplikuj aplikację',
export: 'Eksportuj DSL',
exportFailed: 'Eksport DSL nie powiódł się.',
importDSL: 'Importuj plik DSL',
createFromConfigFile: 'Utwórz z pliku DSL',
deleteAppConfirmTitle: 'Usunąć tę aplikację?',
deleteAppConfirmContent:
'Usunięcie aplikacji jest nieodwracalne. Użytkownicy nie będą mieli już dostępu do twojej aplikacji, a wszystkie konfiguracje monitów i dzienniki zostaną trwale usunięte.',
appDeleted: 'Aplikacja usunięta',
appDeleteFailed: 'Nie udało się usunąć aplikacji',
join: 'Dołącz do społeczności',
communityIntro:
'Dyskutuj z członkami zespołu, współtwórcami i deweloperami na różnych kanałach.',
roadmap: 'Zobacz naszą mapę drogową',
newApp: {
startFromBlank: 'Utwórz od podstaw',
startFromTemplate: 'Utwórz z szablonu',
captionAppType: 'Jaki typ aplikacji chcesz stworzyć?',
chatbotDescription:
'Zbuduj aplikację opartą na czacie. Ta aplikacja używa formatu pytań i odpowiedzi, umożliwiając wielokrotne rundy ciągłej konwersacji.',
completionDescription:
'Zbuduj aplikację generującą teksty wysokiej jakości na podstawie monitów, takich jak generowanie artykułów, streszczeń, tłumaczeń i innych.',
completionWarning: 'Ten typ aplikacji nie będzie już obsługiwany.',
agentDescription:
'Zbuduj inteligentnego agenta, który może autonomicznie wybierać narzędzia do wykonywania zadań',
workflowDescription:
'Zbuduj aplikację, która w oparciu o przepływ pracy generuje teksty wysokiej jakości z dużą możliwością dostosowania. Jest odpowiednia dla doświadczonych użytkowników.',
workflowWarning: 'Obecnie w fazie beta',
chatbotType: 'Metoda orkiestracji chatbota',
basic: 'Podstawowy',
basicTip: 'Dla początkujących, można przełączyć się później na Chatflow',
basicFor: 'Dla początkujących',
basicDescription:
'Podstawowa orkiestracja pozwala na skonfigurowanie aplikacji Chatbot za pomocą prostych ustawień, bez możliwości modyfikacji wbudowanych monitów. Jest odpowiednia dla początkujących.',
advanced: 'Chatflow',
advancedFor: 'Dla zaawansowanych użytkowników',
advancedDescription:
'Orkiestracja przepływu pracy organizuje Chatboty w formie przepływów pracy, oferując wysoki stopień dostosowania, w tym możliwość edycji wbudowanych monitów. Jest odpowiednia dla doświadczonych użytkowników.',
captionName: 'Ikona i nazwa aplikacji',
appNamePlaceholder: 'Podaj nazwę swojej aplikacji',
captionDescription: 'Opis',
appDescriptionPlaceholder: 'Wprowadź opis aplikacji',
useTemplate: 'Użyj tego szablonu',
previewDemo: 'Podgląd demo',
chatApp: 'Asystent',
chatAppIntro:
'Chcę zbudować aplikację opartą na czacie. Ta aplikacja używa formatu pytań i odpowiedzi, umożliwiając wielokrotne rundy ciągłej konwersacji.',
agentAssistant: 'Nowy asystent agenta',
completeApp: 'Generator tekstu',
completeAppIntro:
'Chcę stworzyć aplikację, która generuje teksty wysokiej jakości na podstawie monitów, takich jak generowanie artykułów, streszczeń, tłumaczeń i innych.',
showTemplates: 'Chcę wybrać z szablonu',
hideTemplates: 'Wróć do wyboru trybu',
Create: 'Utwórz',
Cancel: 'Anuluj',
nameNotEmpty: 'Nazwa nie może być pusta',
appTemplateNotSelected: 'Proszę wybrać szablon',
appTypeRequired: 'Proszę wybrać typ aplikacji',
appCreated: 'Aplikacja utworzona',
appCreateFailed: 'Nie udało się utworzyć aplikacji',
},
editApp: 'Edytuj informacje',
editAppTitle: 'Edytuj informacje o aplikacji',
editDone: 'Informacje o aplikacji zaktualizowane',
editFailed: 'Nie udało się zaktualizować informacji o aplikacji',
emoji: {
ok: 'OK',
cancel: 'Anuluj',
},
switch: 'Przełącz na Orkiestrację Przepływu Pracy',
switchTipStart:
'Dla ciebie zostanie utworzona nowa kopia aplikacji, a nowa kopia przełączy się na Orkiestrację Przepływu Pracy. Nowa kopia będzie ',
switchTip: 'nie pozwoli',
switchTipEnd: ' na powrót do Podstawowej Orkiestracji.',
switchLabel: 'Kopia aplikacji do utworzenia',
removeOriginal: 'Usuń oryginalną aplikację',
switchStart: 'Rozpocznij przełączanie',
typeSelector: {
all: 'WSZYSTKIE Typy',
chatbot: 'Chatbot',
agent: 'Agent',
workflow: 'Przepływ pracy',
completion: 'Zakończenie',
},
}
export default translation

127
web/i18n/pl-PL/billing.ts Normal file
View File

@@ -0,0 +1,127 @@
const translation = {
currentPlan: 'Obecny plan',
upgradeBtn: {
plain: 'Ulepsz plan',
encourage: 'Ulepsz teraz',
encourageShort: 'Ulepsz',
},
viewBilling: 'Zarządzaj rozliczeniami i subskrypcjami',
buyPermissionDeniedTip:
'Skontaktuj się z administratorem swojej firmy, aby zasubskrybować',
plansCommon: {
title: 'Wybierz plan odpowiedni dla siebie',
yearlyTip: 'Otrzymaj 2 miesiące za darmo, subskrybując rocznie!',
mostPopular: 'Najpopularniejszy',
planRange: {
monthly: 'Miesięczny',
yearly: 'Roczny',
},
month: 'miesiąc',
year: 'rok',
save: 'Oszczędź ',
free: 'Darmowy',
currentPlan: 'Obecny plan',
contractSales: 'Skontaktuj się z działem sprzedaży',
contractOwner: 'Skontaktuj się z zarządcą zespołu',
startForFree: 'Zacznij za darmo',
getStartedWith: 'Rozpocznij z ',
contactSales: 'Kontakt z działem sprzedaży',
talkToSales: 'Porozmawiaj z działem sprzedaży',
modelProviders: 'Dostawcy modeli',
teamMembers: 'Członkowie zespołu',
buildApps: 'Twórz aplikacje',
vectorSpace: 'Przestrzeń wektorowa',
vectorSpaceBillingTooltip:
'Każdy 1MB może przechowywać około 1,2 miliona znaków z wektoryzowanych danych (szacowane na podstawie OpenAI Embeddings, różni się w zależności od modelu).',
vectorSpaceTooltip:
'Przestrzeń wektorowa jest systemem pamięci długoterminowej wymaganym dla LLM, aby zrozumieć Twoje dane.',
documentsUploadQuota: 'Limit przesyłanych dokumentów',
documentProcessingPriority: 'Priorytet przetwarzania dokumentów',
documentProcessingPriorityTip:
'Dla wyższego priorytetu przetwarzania dokumentów, ulepsz swój plan.',
documentProcessingPriorityUpgrade:
'Przetwarzaj więcej danych z większą dokładnością i w szybszym tempie.',
priority: {
'standard': 'Standardowy',
'priority': 'Priorytetowy',
'top-priority': 'Najwyższy priorytet',
},
logsHistory: 'Historia logów',
customTools: 'Niestandardowe narzędzia',
unavailable: 'Niedostępne',
days: 'dni',
unlimited: 'Nieograniczony',
support: 'Wsparcie',
supportItems: {
communityForums: 'Forum społecznościowe',
emailSupport: 'Wsparcie mailowe',
priorityEmail: 'Priorytetowa pomoc mailowa i czat',
logoChange: 'Zmiana logo',
SSOAuthentication: 'Uwierzytelnianie SSO',
personalizedSupport: 'Personalizowane wsparcie',
dedicatedAPISupport: 'Dedykowane wsparcie API',
customIntegration: 'Niestandardowa integracja i wsparcie',
ragAPIRequest: 'Żądania API RAG',
bulkUpload: 'Masowe przesyłanie dokumentów',
agentMode: 'Tryb agenta',
workflow: 'Przepływ pracy',
},
comingSoon: 'Wkrótce dostępne',
member: 'Członek',
memberAfter: 'Członek',
messageRequest: {
title: 'Limity kredytów wiadomości',
tooltip:
'Limity wywołań wiadomości dla różnych planów używających modeli OpenAI (z wyjątkiem gpt4). Wiadomości przekraczające limit będą korzystać z twojego klucza API OpenAI.',
},
annotatedResponse: {
title: 'Limity kredytów na adnotacje',
tooltip:
'Ręczna edycja i adnotacja odpowiedzi zapewniają możliwość dostosowania wysokiej jakości odpowiedzi na pytania dla aplikacji. (Stosowane tylko w aplikacjach czatowych)',
},
ragAPIRequestTooltip:
'Odnosi się do liczby wywołań API wykorzystujących tylko zdolności przetwarzania bazy wiedzy Dify.',
receiptInfo:
'Tylko właściciel zespołu i administrator zespołu mogą subskrybować i przeglądać informacje o rozliczeniach',
},
plans: {
sandbox: {
name: 'Sandbox',
description: '200 razy darmowa próba GPT',
includesTitle: 'Zawiera:',
},
professional: {
name: 'Profesjonalny',
description:
'Dla osób fizycznych i małych zespołów, aby odblokować więcej mocy w przystępnej cenie.',
includesTitle: 'Wszystko w darmowym planie, plus:',
},
team: {
name: 'Zespół',
description:
'Współpracuj bez ograniczeń i ciesz się najwyższą wydajnością.',
includesTitle: 'Wszystko w planie Profesjonalnym, plus:',
},
enterprise: {
name: 'Przedsiębiorstwo',
description:
'Uzyskaj pełne możliwości i wsparcie dla systemów o kluczowym znaczeniu dla misji.',
includesTitle: 'Wszystko w planie Zespołowym, plus:',
},
},
vectorSpace: {
fullTip: 'Przestrzeń wektorowa jest pełna.',
fullSolution: 'Ulepsz swój plan, aby uzyskać więcej miejsca.',
},
apps: {
fullTipLine1: 'Ulepsz swój plan, aby',
fullTipLine2: 'tworzyć więcej aplikacji.',
},
annotatedResponse: {
fullTipLine1: 'Ulepsz swój plan, aby',
fullTipLine2: 'adnotować więcej rozmów.',
quotaTitle: 'Limit adnotacji odpowiedzi',
},
}
export default translation

547
web/i18n/pl-PL/common.ts Normal file
View File

@@ -0,0 +1,547 @@
const translation = {
api: {
success: 'Sukces',
actionSuccess: 'Akcja powiodła się',
saved: 'Zapisane',
create: 'Utworzono',
remove: 'Usunięto',
},
operation: {
create: 'Utwórz',
confirm: 'Potwierdź',
cancel: 'Anuluj',
clear: 'Wyczyść',
save: 'Zapisz',
edit: 'Edytuj',
add: 'Dodaj',
added: 'Dodano',
refresh: 'Odśwież',
reset: 'Resetuj',
search: 'Szukaj',
change: 'Zmień',
remove: 'Usuń',
send: 'Wyślij',
copy: 'Kopiuj',
lineBreak: 'Złamanie linii',
sure: 'Jestem pewien',
download: 'Pobierz',
delete: 'Usuń',
settings: 'Ustawienia',
setup: 'Konfiguruj',
getForFree: 'Zdobądź za darmo',
reload: 'Przeładuj',
ok: 'OK',
log: 'Dziennik',
learnMore: 'Dowiedz się więcej',
params: 'Parametry',
duplicate: 'Duplikuj',
rename: 'Zmień nazwę',
},
placeholder: {
input: 'Proszę wprowadzić',
select: 'Proszę wybrać',
},
voice: {
language: {
zhHans: 'Chiński',
zhHant: 'Chiński tradycyjny',
enUS: 'Angielski',
deDE: 'Niemiecki',
frFR: 'Francuski',
esES: 'Hiszpański',
itIT: 'Włoski',
thTH: 'Tajski',
idID: 'Indonezyjski',
jaJP: 'Japoński',
koKR: 'Koreański',
ptBR: 'Portugalski',
ruRU: 'Rosyjski',
ukUA: 'Ukraiński',
viVN: 'Wietnamski',
},
},
unit: {
char: 'znaki',
},
actionMsg: {
noModification: 'W tej chwili brak zmian.',
modifiedSuccessfully: 'Zmodyfikowano pomyślnie',
modifiedUnsuccessfully: 'Nie udało się zmodyfikować',
copySuccessfully: 'Skopiowano pomyślnie',
paySucceeded: 'Płatność zakończona sukcesem',
payCancelled: 'Płatność anulowana',
generatedSuccessfully: 'Wygenerowano pomyślnie',
generatedUnsuccessfully: 'Nie udało się wygenerować',
},
model: {
params: {
temperature: 'Temperatura',
temperatureTip:
'Kontroluje przypadkowość: obniżenie powoduje mniej przypadkowych uzupełnień. Gdy temperatura zbliża się do zera, model staje się deterministyczny i powtarzalny.',
top_p: 'Top P',
top_pTip:
'Kontroluje różnorodność poprzez próbkowanie jądra: 0,5 oznacza, że rozważane są połowa wszystkich opcji ważonych prawdopodobieństwem.',
presence_penalty: 'Kara za obecność',
presence_penaltyTip:
'Jak bardzo karać nowe tokeny w zależności od tego, czy pojawiły się już w tekście.\nZwiększa prawdopodobieństwo, że model zacznie rozmawiać o nowych tematach.',
frequency_penalty: 'Kara za częstotliwość',
frequency_penaltyTip:
'Jak bardzo karać nowe tokeny bazując na ich dotychczasowej częstotliwości w tekście.\nZmniejsza prawdopodobieństwo, że model będzie powtarzał tę samą linię dosłownie.',
max_tokens: 'Maksymalna liczba tokenów',
max_tokensTip:
'Służy do ograniczania maksymalnej długości odpowiedzi w tokenach. \nWiększe wartości mogą ograniczyć miejsce na słowa wstępne, dzienniki rozmów i Wiedzę. \nZaleca się ustawienie go poniżej dwóch trzecich\ngpt-4-1106-preview, gpt-4-vision-preview maksymalna liczba tokenów (input 128k output 4k)',
maxTokenSettingTip:
'Twoje ustawienie maksymalnej liczby tokenów jest wysokie, potencjalnie ograniczając miejsce na monity, zapytania i dane. Rozważ ustawienie go poniżej 2/3.',
setToCurrentModelMaxTokenTip:
'Maksymalna liczba tokenów została zaktualizowana do 80% maksymalnej liczby tokenów obecnego modelu {{maxToken}}.',
stop_sequences: 'Sekwencje zatrzymujące',
stop_sequencesTip:
'Do czterech sekwencji, w których API przestanie generować dalsze tokeny. Zwrócony tekst nie będzie zawierał sekwencji zatrzymującej.',
stop_sequencesPlaceholder: 'Wpisz sekwencję i naciśnij Tab',
},
tone: {
Creative: 'Kreatywny',
Balanced: 'Zrównoważony',
Precise: 'Precyzyjny',
Custom: 'Niestandardowy',
},
addMoreModel: 'Przejdź do ustawień, aby dodać więcej modeli',
},
menus: {
status: 'beta',
explore: 'Eksploruj',
apps: 'Studio',
plugins: 'Pluginy',
pluginsTips:
'Integruj pluginy stron trzecich lub twórz pluginy AI kompatybilne z ChatGPT.',
datasets: 'Wiedza',
datasetsTips:
'NADCHODZI: Importuj swoje własne dane tekstowe lub wpisuj dane w czasie rzeczywistym przez Webhook, aby wzmocnić kontekst LLM.',
newApp: 'Nowa aplikacja',
newDataset: 'Utwórz Wiedzę',
tools: 'Narzędzia',
},
userProfile: {
settings: 'Ustawienia',
workspace: 'Przestrzeń robocza',
createWorkspace: 'Utwórz przestrzeń roboczą',
helpCenter: 'Pomoc',
roadmapAndFeedback: 'Opinie',
community: 'Społeczność',
about: 'O',
logout: 'Wyloguj się',
},
settings: {
accountGroup: 'KONTO',
workplaceGroup: 'PRZESTRZEŃ ROBOCZA',
account: 'Moje konto',
members: 'Członkowie',
billing: 'Rozliczenia',
integrations: 'Integracje',
language: 'Język',
provider: 'Dostawca modelu',
dataSource: 'Źródło danych',
plugin: 'Pluginy',
apiBasedExtension: 'Rozszerzenie API',
},
account: {
avatar: 'Awatar',
name: 'Nazwa',
email: 'Email',
password: 'Hasło',
passwordTip:
'Możesz ustawić stałe hasło, jeśli nie chcesz używać tymczasowych kodów logowania',
setPassword: 'Ustaw hasło',
resetPassword: 'Zresetuj hasło',
currentPassword: 'Obecne hasło',
newPassword: 'Nowe hasło',
confirmPassword: 'Potwierdź hasło',
notEqual: 'Dwa hasła są różne.',
langGeniusAccount: 'Konto Dify',
langGeniusAccountTip: 'Twoje konto Dify i powiązane dane użytkownika.',
editName: 'Edytuj nazwę',
showAppLength: 'Pokaż {{length}} aplikacje',
},
members: {
team: 'Zespół',
invite: 'Dodaj',
name: 'NAZWA',
lastActive: 'OSTATNIA AKTYWNOŚĆ',
role: 'ROLE',
pending: 'Oczekujący...',
owner: 'Właściciel',
admin: 'Admin',
adminTip: 'Może tworzyć aplikacje i zarządzać ustawieniami zespołu',
normal: 'Normalny',
normalTip: 'Może tylko korzystać z aplikacji, nie może tworzyć aplikacji',
inviteTeamMember: 'Dodaj członka zespołu',
inviteTeamMemberTip:
'Mogą uzyskać bezpośredni dostęp do danych Twojego zespołu po zalogowaniu.',
email: 'Email',
emailInvalid: 'Nieprawidłowy format e-maila',
emailPlaceholder: 'Proszę podać adresy e-mail',
sendInvite: 'Wyślij zaproszenie',
invitedAsRole: 'Zaproszony jako użytkownik typu {{role}}',
invitationSent: 'Zaproszenie wysłane',
invitationSentTip:
'Zaproszenie zostało wysłane, a oni mogą zalogować się do Dify, aby uzyskać dostęp do danych Twojego zespołu.',
invitationLink: 'Link zaproszenia',
failedinvitationEmails: 'Poniższe osoby nie zostały pomyślnie zaproszone',
ok: 'OK',
removeFromTeam: 'Usuń z zespołu',
removeFromTeamTip: 'Usunie dostęp do zespołu',
setAdmin: 'Ustaw jako administratora',
setMember: 'Ustaw jako zwykłego członka',
disinvite: 'Anuluj zaproszenie',
deleteMember: 'Usuń członka',
you: '(Ty)',
},
integrations: {
connected: 'Połączony',
google: 'Google',
googleAccount: 'Zaloguj się przy użyciu konta Google',
github: 'GitHub',
githubAccount: 'Zaloguj się przy użyciu konta GitHub',
connect: 'Połącz',
},
language: {
displayLanguage: 'Język interfejsu',
timezone: 'Strefa czasowa',
},
provider: {
apiKey: 'Klucz API',
enterYourKey: 'Wprowadź tutaj swój klucz API',
invalidKey: 'Nieprawidłowy klucz API OpenAI',
validatedError: 'Weryfikacja nie powiodła się: ',
validating: 'Weryfikowanie klucza...',
saveFailed: 'Zapis klucza API nie powiódł się',
apiKeyExceedBill: 'Ten KLUCZ API nie ma dostępnych limitów, przeczytaj',
addKey: 'Dodaj klucz',
comingSoon: 'Już wkrótce',
editKey: 'Edytuj',
invalidApiKey: 'Nieprawidłowy klucz API',
azure: {
apiBase: 'Podstawa API',
apiBasePlaceholder:
'Adres URL podstawowy Twojego końcowego punktu Azure OpenAI.',
apiKey: 'Klucz API',
apiKeyPlaceholder: 'Wprowadź tutaj swój klucz API',
helpTip: 'Dowiedz się więcej o usłudze Azure OpenAI',
},
openaiHosted: {
openaiHosted: 'Hostowany OpenAI',
onTrial: 'NA PROBĘ',
exhausted: 'WYCZERPANY LIMIT',
desc: 'Usługa hostowania OpenAI dostarczana przez Dify pozwala korzystać z modeli takich jak GPT-3.5. Przed wyczerpaniem limitu próbnego należy skonfigurować inne dostawców modeli.',
callTimes: 'Czasy wywołań',
usedUp: 'Limit próbny został wyczerpany. Dodaj własnego dostawcę modeli.',
useYourModel: 'Aktualnie używany jest własny dostawca modeli.',
close: 'Zamknij',
},
anthropicHosted: {
anthropicHosted: 'Anthropic Claude',
onTrial: 'NA PROBĘ',
exhausted: 'WYCZERPANY LIMIT',
desc: 'Potężny model, który doskonale sprawdza się w szerokim spektrum zadań, od zaawansowanego dialogu i generowania treści twórczych po szczegółowe instrukcje.',
callTimes: 'Czasy wywołań',
usedUp: 'Limit próbny został wyczerpany. Dodaj własnego dostawcę modeli.',
useYourModel: 'Aktualnie używany jest własny dostawca modeli.',
close: 'Zamknij',
},
anthropic: {
using: 'Zdolność do osadzania jest używana',
enableTip:
'Aby włączyć model Anthropica, musisz najpierw powiązać się z usługą OpenAI lub Azure OpenAI.',
notEnabled: 'Nie włączono',
keyFrom: 'Pobierz swój klucz API od Anthropic',
},
encrypted: {
front: 'Twój KLUCZ API będzie szyfrowany i przechowywany za pomocą',
back: ' technologii.',
},
},
modelProvider: {
notConfigured:
'Systemowy model nie został jeszcze w pełni skonfigurowany, co może skutkować niedostępnością niektórych funkcji.',
systemModelSettings: 'Ustawienia modelu systemowego',
systemModelSettingsLink:
'Dlaczego konieczne jest skonfigurowanie modelu systemowego?',
selectModel: 'Wybierz swój model',
setupModelFirst: 'Proszę najpierw skonfigurować swój model',
systemReasoningModel: {
key: 'Model wnioskowania systemowego',
tip: 'Ustaw domyślny model wnioskowania do użytku przy tworzeniu aplikacji, a także cechy takie jak generowanie nazw dialogów i sugestie następnego pytania będą również korzystać z domyślnego modelu wnioskowania.',
},
embeddingModel: {
key: 'Model osadzania',
tip: 'Ustaw domyślny model do przetwarzania osadzania dokumentów wiedzy; zarówno pozyskiwanie, jak i importowanie wiedzy wykorzystują ten model osadzania do przetwarzania wektorowego. Zmiana spowoduje niezgodność wymiarów wektorów między importowaną wiedzą a pytaniem, co skutkować będzie niepowodzeniem w pozyskiwaniu. Aby uniknąć niepowodzeń, prosimy nie zmieniać tego modelu dowolnie.',
required: 'Model osadzania jest wymagany',
},
speechToTextModel: {
key: 'Model mowy na tekst',
tip: 'Ustaw domyślny model do przetwarzania mowy na tekst w rozmowach.',
},
ttsModel: {
key: 'Model tekstu na mowę',
tip: 'Ustaw domyślny model dla konwersji tekstu na mowę w rozmowach.',
},
rerankModel: {
key: 'Model ponownego rankingu',
tip: 'Model ponownego rankingu zmieni kolejność listy dokumentów kandydatów na podstawie semantycznego dopasowania z zapytaniem użytkownika, poprawiając wyniki rankingu semantycznego',
},
quota: 'Limit',
searchModel: 'Model wyszukiwania',
noModelFound: 'Nie znaleziono modelu dla {{model}}',
models: 'Modele',
showMoreModelProvider: 'Pokaż więcej dostawców modeli',
selector: {
tip: 'Ten model został usunięty. Proszę dodać model lub wybrać inny model.',
emptyTip: 'Brak dostępnych modeli',
emptySetting: 'Przejdź do ustawień, aby skonfigurować',
rerankTip: 'Proszę skonfigurować model ponownego rankingu',
},
card: {
quota: 'LIMIT',
onTrial: 'Na próbę',
paid: 'Płatny',
quotaExhausted: 'Wyczerpany limit',
callTimes: 'Czasy wywołań',
tokens: 'Tokeny',
buyQuota: 'Kup limit',
priorityUse: 'Używanie z priorytetem',
removeKey: 'Usuń klucz API',
tip: 'Priorytet zostanie nadany płatnemu limitowi. Po wyczerpaniu limitu próbnego zostanie użyty limit płatny.',
},
item: {
deleteDesc:
'{{modelName}} są używane jako modele wnioskowania systemowego. Niektóre funkcje mogą nie być dostępne po usunięciu. Proszę potwierdź.',
freeQuota: 'LIMIT GRATIS',
},
addApiKey: 'Dodaj swój klucz API',
invalidApiKey: 'Nieprawidłowy klucz API',
encrypted: {
front: 'Twój KLUCZ API będzie szyfrowany i przechowywany za pomocą',
back: ' technologii.',
},
freeQuota: {
howToEarn: 'Jak zdobyć',
},
addMoreModelProvider: 'DODAJ WIĘCEJ DOSTAWCÓW MODELI',
addModel: 'Dodaj model',
modelsNum: '{{num}} Modele',
showModels: 'Pokaż modele',
showModelsNum: 'Pokaż {{num}} modele',
collapse: 'Zwiń',
config: 'Konfiguracja',
modelAndParameters: 'Model i parametry',
model: 'Model',
featureSupported: '{{feature}} obsługiwane',
callTimes: 'Czasy wywołań',
credits: 'Kredyty wiadomości',
buyQuota: 'Kup limit',
getFreeTokens: 'Odbierz darmowe tokeny',
priorityUsing: 'Priorytetyzacja użycia',
deprecated: 'Przestarzałe',
confirmDelete: 'potwierdzić usunięcie?',
quotaTip: 'Pozostałe dostępne darmowe tokeny',
loadPresets: 'Załaduj ustawienia wstępne',
parameters: 'PARAMETRY',
},
dataSource: {
add: 'Dodaj źródło danych',
connect: 'Połącz',
notion: {
title: 'Notion',
description: 'Korzystanie z Notion jako źródła danych dla Wiedzy.',
connectedWorkspace: 'Połączona przestrzeń robocza',
addWorkspace: 'Dodaj przestrzeń roboczą',
connected: 'Połączono',
disconnected: 'Rozłączono',
changeAuthorizedPages: 'Zmień uprawnione strony',
pagesAuthorized: 'Strony autoryzowane',
sync: 'Synchronizuj',
remove: 'Usuń',
selector: {
pageSelected: 'Zaznaczone strony',
searchPages: 'Szukaj stron...',
noSearchResult: 'Brak wyników wyszukiwania',
addPages: 'Dodaj strony',
preview: 'PODGLĄD',
},
},
},
plugin: {
serpapi: {
apiKey: 'Klucz API',
apiKeyPlaceholder: 'Wprowadź swój klucz API',
keyFrom: 'Pobierz swój klucz SerpAPI ze strony konta SerpAPI',
},
},
apiBasedExtension: {
title:
'Rozszerzenia oparte na interfejsie API zapewniają scentralizowane zarządzanie interfejsami API, upraszczając konfigurację dla łatwego użytkowania w aplikacjach Dify.',
link: 'Dowiedz się, jak opracować własne rozszerzenie interfejsu API.',
linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
add: 'Dodaj rozszerzenie interfejsu API',
selector: {
title: 'Rozszerzenie interfejsu API',
placeholder: 'Wybierz rozszerzenie interfejsu API',
manage: 'Zarządzaj rozszerzeniem interfejsu API',
},
modal: {
title: 'Dodaj rozszerzenie interfejsu API',
editTitle: 'Edytuj rozszerzenie interfejsu API',
name: {
title: 'Nazwa',
placeholder: 'Proszę wprowadź nazwę',
},
apiEndpoint: {
title: 'Koniec API',
placeholder: 'Proszę wprowadź koniec API',
},
apiKey: {
title: 'Klucz API',
placeholder: 'Proszę wprowadź klucz API',
lengthError: 'Długość klucza API nie może być mniejsza niż 5 znaków',
},
},
type: 'Typ',
},
about: {
changeLog: 'Dziennik zmian',
updateNow: 'Aktualizuj teraz',
nowAvailable: 'Dify {{version}} jest teraz dostępny.',
latestAvailable: 'Dify {{version}} jest najnowszą dostępną wersją.',
},
appMenus: {
overview: 'Przegląd',
promptEng: 'Orkiestracja',
apiAccess: 'Dostęp API',
logAndAnn: 'Logi i ogł.',
logs: 'Logi',
},
environment: {
testing: 'TESTOWANIE',
development: 'ROZWOJOWA',
},
appModes: {
completionApp: 'Generator tekstu',
chatApp: 'Aplikacja czatowa',
},
datasetMenus: {
documents: 'Dokumenty',
hitTesting: 'Testowanie poboru',
settings: 'Ustawienia',
emptyTip:
'Wiedza nie została powiązana, przejdź do aplikacji lub wtyczki, aby ukończyć powiązanie.',
viewDoc: 'Zobacz dokumentację',
relatedApp: 'powiązane aplikacje',
},
voiceInput: {
speaking: 'Mów teraz...',
converting: 'Konwertowanie na tekst...',
notAllow: 'mikrofon nieautoryzowany',
},
modelName: {
'gpt-3.5-turbo': 'GPT-3.5-Turbo',
'gpt-3.5-turbo-16k': 'GPT-3.5-Turbo-16K',
'gpt-4': 'GPT-4',
'gpt-4-32k': 'GPT-4-32K',
'text-davinci-003': 'Tekst-Davinci-003',
'text-embedding-ada-002': 'Tekst-Wan-Ada-002',
'whisper-1': 'Szept-1',
'claude-instant-1': 'Claude-Natychmiastowy',
'claude-2': 'Claude-2',
},
chat: {
renameConversation: 'Zmień nazwę rozmowy',
conversationName: 'Nazwa rozmowy',
conversationNamePlaceholder: 'Proszę wprowadź nazwę rozmowy',
conversationNameCanNotEmpty: 'Nazwa rozmowy wymagana',
citation: {
title: 'Cytaty',
linkToDataset: 'Link do Wiedzy',
characters: 'Postacie:',
hitCount: 'Liczba trafień:',
vectorHash: 'Wektor hash:',
hitScore: 'Wynik trafień:',
},
},
promptEditor: {
placeholder:
'Wpisz swoje słowo kluczowe tutaj, wprowadź \'{\' aby wstawić zmienną, wprowadź \'/\' aby wstawić blok treści słownika',
context: {
item: {
title: 'Kontekst',
desc: 'Wstaw szablon kontekstu',
},
modal: {
title: '{{num}} Wiedzy w Kontekście',
add: 'Dodaj Kontekst ',
footer: 'Możesz zarządzać kontekstami poniżej w sekcji Kontekstów.',
},
},
history: {
item: {
title: 'Historia rozmów',
desc: 'Wstaw szablon historycznej wiadomości',
},
modal: {
title: 'PRZYKŁAD',
user: 'Cześć',
assistant: 'Cześć! W czym mogę pomóc?',
edit: 'Edytuj nazwy ról rozmów',
},
},
variable: {
item: {
title: 'Zmienne i Narzędzia Zewnętrzne',
desc: 'Wstaw Zmienne i Narzędzia Zewnętrzne',
},
outputToolDisabledItem: {
title: 'Zmienne',
desc: 'Wstaw Zmienne',
},
modal: {
add: 'Nowa zmienna',
addTool: 'Nowe narzędzie',
},
},
query: {
item: {
title: 'Zapytanie',
desc: 'Wstaw szablon zapytania użytkownika',
},
},
existed: 'Już istnieje w poleceniu',
},
imageUploader: {
uploadFromComputer: 'Załaduj z komputera',
uploadFromComputerReadError: 'Błąd odczytu obrazu, spróbuj ponownie.',
uploadFromComputerUploadError:
'Błąd przesyłania obrazu, prześlij go ponownie.',
uploadFromComputerLimit:
'Obrazy do przesłania nie mogą przekroczyć {{size}} MB',
pasteImageLink: 'Wklej link do obrazu',
pasteImageLinkInputPlaceholder: 'Wklej tutaj link do obrazu',
pasteImageLinkInvalid: 'Nieprawidłowy link obrazu',
imageUpload: 'Przesyłanie obrazu',
},
tag: {
placeholder: 'Wszystkie tagi',
addNew: 'Dodaj nowy tag',
noTag: 'Brak tagów',
noTagYet: 'Brak tagów jeszcze',
addTag: 'Dodaj tagi',
editTag: 'Edytuj tagi',
manageTags: 'Zarządzaj Tagami',
selectorPlaceholder: 'Wpisz, aby wyszukać lub utworzyć',
create: 'Utwórz',
delete: 'Usuń tag',
deleteTip: 'Ten tag jest używany, czy chcesz go usunąć?',
created: 'Tag został pomyślnie utworzony',
failed: 'Nie udało się utworzyć tagu',
},
}
export default translation

31
web/i18n/pl-PL/custom.ts Normal file
View File

@@ -0,0 +1,31 @@
const translation = {
custom: 'Dostosowanie',
upgradeTip: {
prefix: 'Zaktualizuj swój plan, aby',
suffix: 'dostosować swoją markę.',
},
webapp: {
title: 'Dostosuj markę aplikacji internetowej',
removeBrand: 'Usuń zasilane przez Dify',
changeLogo: 'Zmień obraz marki zasilany przez Brand',
changeLogoTip: 'Format SVG lub PNG o minimalnym rozmiarze 40x40px',
},
app: {
title: 'Dostosuj markę nagłówka aplikacji',
changeLogoTip: 'Format SVG lub PNG o minimalnym rozmiarze 80x80px',
},
upload: 'Prześlij',
uploading: 'Przesyłanie',
uploadedFail:
'Wystąpił problem podczas przesyłania obrazu, proszę spróbować ponownie.',
change: 'Zmień',
apply: 'Zastosuj',
restore: 'Przywróć domyślne',
customize: {
contactUs: ' skontaktuj się z nami ',
prefix: 'Aby dostosować logo marki w aplikacji, proszę',
suffix: 'dla aktualizacji do wersji Enterprise.',
},
}
export default translation

View File

@@ -0,0 +1,146 @@
const translation = {
steps: {
header: {
creation: 'Utwórz Wiedzę',
update: 'Dodaj dane',
},
one: 'Wybierz źródło danych',
two: 'Przetwarzanie i Czyszczenie Tekstu',
three: 'Wykonaj i zakończ',
},
error: {
unavailable: 'Ta Wiedza nie jest dostępna',
},
stepOne: {
filePreview: 'Podgląd pliku',
pagePreview: 'Podgląd strony',
dataSourceType: {
file: 'Importuj z pliku tekstowego',
notion: 'Synchronizuj z Notion',
web: 'Synchronizuj z witryny',
},
uploader: {
title: 'Prześlij plik tekstowy',
button: 'Przeciągnij i upuść plik lub',
browse: 'Przeglądaj',
tip: 'Obsługuje {{supportTypes}}. Maksymalnie {{size}}MB każdy.',
validation: {
typeError: 'Nieobsługiwany typ pliku',
size: 'Plik jest za duży. Maksymalnie {{size}}MB',
count: 'Nieobsługiwane przesyłanie wielu plików',
filesNumber: 'Osiągnąłeś limit przesłania partii {{filesNumber}}.',
},
cancel: 'Anuluj',
change: 'Zmień',
failed: 'Przesyłanie nie powiodło się',
},
notionSyncTitle: 'Notion nie jest podłączony',
notionSyncTip:
'Aby synchronizować z Notion, najpierw trzeba ustanowić połączenie z Notion.',
connect: 'Przejdź do połączenia',
button: 'dalej',
emptyDatasetCreation: 'Chcę utworzyć pustą Wiedzę',
modal: {
title: 'Utwórz pustą Wiedzę',
tip: 'Pusta Wiedza nie będzie zawierała żadnych dokumentów, a można przesyłać dokumenty w dowolnym momencie.',
input: 'Nazwa Wiedzy',
placeholder: 'Proszę wpisz',
nameNotEmpty: 'Nazwa nie może być pusta',
nameLengthInvaild: 'Nazwa musi zawierać od 1 do 40 znaków',
cancelButton: 'Anuluj',
confirmButton: 'Utwórz',
failed: 'Utworzenie nie powiodło się',
},
},
stepTwo: {
segmentation: 'Ustawienia bloków tekstu',
auto: 'Automatycznie',
autoDescription:
'Automatyczne ustawianie bloków i reguł preprocessingu. Nieużytkownicy są zaleceni do wyboru tej opcji.',
custom: 'Niestandardowo',
customDescription:
'Dostosuj reguły bloków, długość bloków i reguły preprocessingu itp.',
separator: 'Separator bloków',
separatorPlaceholder:
'Na przykład nowa linia (\\n) lub specjalny separator (np. "***")',
maxLength: 'Maksymalna długość bloku',
overlap: 'Nakładka bloków',
overlapTip:
'Ustawienie nakładki bloków pozwala zachować semantyczną zgodność między nimi, poprawiając efekt pobierania. Zaleca się ustawienie 10%-25% maksymalnej długości bloku.',
overlapCheck:
'nakładka bloków nie powinna być większa niż maksymalna długość bloku',
rules: 'Reguły preprocessingu tekstu',
removeExtraSpaces: 'Zastąp kolejne spacje, nowe linie i tabulatory',
removeUrlEmails: 'Usuń wszystkie adresy URL i e-maile',
removeStopwords: 'Usuń słowa powszechne takie jak "a", "an", "the"',
preview: 'Potwierdź i Podgląd',
reset: 'Reset',
indexMode: 'Tryb indeksowania',
qualified: 'Wysoka jakość',
recommend: 'Polecać',
qualifiedTip:
'Wywołaj domyślne interfejsy wbudowania systemu do przetwarzania, zapewniając wyższą dokładność podczas zapytań przez użytkowników.',
warning: 'Proszę najpierw skonfigurować klucz API dostawcy modelu.',
click: 'Przejdź do ustawień',
economical: 'Ekonomiczny',
economicalTip:
'Użyj offline\'owych silników wektorowych, indeksów słów kluczowych itp., aby zmniejszyć dokładność bez wydawania tokenów',
QATitle: 'Segmentacja w formacie pytania i odpowiedzi',
QATip: 'Włączenie tej opcji spowoduje zużycie większej liczby tokenów',
QALanguage: 'Segmentacja przy użyciu',
emstimateCost: 'Oszacowanie',
emstimateSegment: 'Oszacowane bloki',
segmentCount: 'bloki',
calculating: 'Obliczanie...',
fileSource: 'Przetwarzaj dokumenty',
notionSource: 'Przetwarzaj strony',
other: 'i inne ',
fileUnit: ' plików',
notionUnit: ' stron',
previousStep: 'Poprzedni krok',
nextStep: 'Zapisz & Przetwarzaj',
save: 'Zapisz & Przetwarzaj',
cancel: 'Anuluj',
sideTipTitle: 'Dlaczego blok i preprocess?',
sideTipP1:
'Podczas przetwarzania danych tekstowych, blok i czyszczenie są dwoma ważnymi krokami preprocessingu.',
sideTipP2:
'Segmentacja dzieli długi tekst na akapity, dzięki czemu modele są w stanie lepiej zrozumieć. Poprawia to jakość i trafność wyników modelu.',
sideTipP3:
'Czyszczenie usuwa zbędne znaki i formatowanie, sprawiając, że Wiedza jest czystsza i łatwiejsza do analizy.',
sideTipP4:
'Odpowiednie blok i czyszczenie poprawiają wydajność modelu, zapewniając bardziej dokładne i wartościowe wyniki.',
previewTitle: 'Podgląd',
previewTitleButton: 'Podgląd',
previewButton: 'Przełącz do formatu pytania i odpowiedzi',
previewSwitchTipStart:
'Aktulany podgląd bloku jest w formacie tekstu, przełączenie na podgląd w formacie pytania i odpowiedzi spowoduje',
previewSwitchTipEnd: ' dodatkowe zużycie tokenów',
characters: 'znaki',
indexSettedTip: 'Aby zmienić metodę indeksowania, przejdź do ',
retrivalSettedTip: 'Aby zmienić metodę indeksowania, przejdź do ',
datasetSettingLink: 'ustawień Wiedzy.',
},
stepThree: {
creationTitle: '🎉 Utworzono Wiedzę',
creationContent:
'Automatycznie nadaliśmy nazwę Wiedzy, możesz ją dowolnie zmienić w każdej chwili',
label: 'Nazwa Wiedzy',
additionTitle: '🎉 Przesłano dokument',
additionP1: 'Dokument został przesłany do Wiedzy',
additionP2: ', możesz go znaleźć na liście dokumentów Wiedzy.',
stop: 'Zatrzymaj przetwarzanie',
resume: 'Wznów przetwarzanie',
navTo: 'Przejdź do dokumentu',
sideTipTitle: 'Co dalej',
sideTipContent:
'Po zakończeniu indeksowania dokumentu, Wiedza może być zintegrowana z aplikacją jako kontekst, można znaleźć ustawienie kontekstu na stronie orkiestracji. Można również stworzyć ją jako niezależny plugin indeksowania ChatGPT do wydania.',
modelTitle: 'Czy na pewno chcesz zatrzymać embedded?',
modelContent:
'Jeśli będziesz potrzebować wznowić przetwarzanie później, będziesz kontynuować od miejsca, w którym przerwałeś.',
modelButtonConfirm: 'Potwierdź',
modelButtonCancel: 'Anuluj',
},
}
export default translation

View File

@@ -0,0 +1,350 @@
const translation = {
list: {
title: 'Dokumenty',
desc: 'Wszystkie pliki wiedzy są tutaj pokazane, a cała wiedza może być powiązana z odnośnikami Dify lub zindeksowana za pomocą wtyczki Chat.',
addFile: 'dodaj plik',
addPages: 'Dodaj strony',
table: {
header: {
fileName: 'NAZWA PLIKU',
words: 'SŁOWA',
hitCount: 'LICZBA ZNALEZIEŃ',
uploadTime: 'CZAS WGRANIA',
status: 'STATUS',
action: 'AKCJA',
},
},
action: {
uploadFile: 'Wgraj nowy plik',
settings: 'Ustawienia segmentacji',
addButton: 'Dodaj fragment',
add: 'Dodaj fragment',
batchAdd: 'Dodaj partię',
archive: 'Archiwum',
unarchive: 'Usuń z archiwum',
delete: 'Usuń',
enableWarning: 'Zarchiwizowany plik nie może zostać włączony',
sync: 'Synchronizuj',
},
index: {
enable: 'Włącz',
disable: 'Wyłącz',
all: 'Wszystkie',
enableTip: 'Plik może być zindeksowany',
disableTip: 'Plik nie może być zindeksowany',
},
status: {
queuing: 'Oczekiwanie',
indexing: 'Indeksowanie',
paused: 'Wstrzymane',
error: 'Błąd',
available: 'Dostępny',
enabled: 'Włączony',
disabled: 'Wyłączony',
archived: 'Zaarchiwizowany',
},
empty: {
title: 'Nie ma jeszcze dokumentacji',
upload: {
tip: 'Możesz wgrać pliki, synchronizować z witryny lub z aplikacji internetowych takich jak Notion, GitHub, itp.',
},
sync: {
tip: 'Dify regularnie pobiera pliki z Twojego Notion i dokonuje ich przetwarzania.',
},
},
delete: {
title: 'Czy na pewno chcesz usunąć?',
content:
'Jeśli będziesz musiał wznowić przetwarzanie później, będziesz kontynuować tam, gdzie przerwałeś',
},
batchModal: {
title: 'Dodaj partię fragmentów',
csvUploadTitle: 'Przeciągnij i upuść swój plik CSV tutaj, lub ',
browse: 'wybierz',
tip: 'Plik CSV musi być zgodny z następującą strukturą:',
question: 'pytanie',
answer: 'odpowiedź',
contentTitle: 'treść fragmentu',
content: 'treść',
template: 'Pobierz szablon tutaj',
cancel: 'Anuluj',
run: 'Uruchom partię',
runError: 'Błąd uruchomienia partii',
processing: 'Przetwarzanie partii',
completed: 'Import zakończony',
error: 'Błąd importu',
ok: 'OK',
},
},
metadata: {
title: 'Metadane',
desc: 'Etykietowanie metadanych dla dokumentów pozwala sztucznej inteligencji na dostęp do nich w odpowiednim czasie i ujawnia źródło odniesień dla użytkowników.',
dateTimeFormat: 'D MMMM YYYY, HH:mm',
docTypeSelectTitle: 'Wybierz rodzaj dokumentu',
docTypeChangeTitle: 'Zmień rodzaj dokumentu',
docTypeSelectWarning:
'Jeśli zmieniony zostanie rodzaj dokumentu, teraz wypełnione metadane nie zostaną zachowane',
firstMetaAction: 'Zacznijmy',
placeholder: {
add: 'Dodaj ',
select: 'Wybierz ',
},
source: {
upload_file: 'Wgraj plik',
notion: 'Synchronizuj z Notion',
github: 'Synchronizuj z Github',
},
type: {
book: 'Książka',
webPage: 'Strona internetowa',
paper: 'Artykuł',
socialMediaPost: 'Post w mediach społecznościowych',
personalDocument: 'Dokument osobisty',
businessDocument: 'Dokument biznesowy',
IMChat: 'Czat na komunikatorze',
wikipediaEntry: 'Artykuł w Wikipedii',
notion: 'Synchronizuj z Notion',
github: 'Synchronizuj z Github',
technicalParameters: 'Parametry techniczne',
},
field: {
processRule: {
processDoc: 'Przetwórz dokument',
segmentRule: 'Reguła fragmentacji',
segmentLength: 'Długość fragmentów',
processClean: 'Oczyszczanie tekstu',
},
book: {
title: 'Tytuł',
language: 'Język',
author: 'Autor',
publisher: 'Wydawca',
publicationDate: 'Data publikacji',
ISBN: 'ISBN',
category: 'Kategoria',
},
webPage: {
title: 'Tytuł',
url: 'URL',
language: 'Język',
authorPublisher: 'Autor/Wydawca',
publishDate: 'Data publikacji',
topicsKeywords: 'Tematy/Słowa kluczowe',
description: 'Opis',
},
paper: {
title: 'Tytuł',
language: 'Język',
author: 'Autor',
publishDate: 'Data publikacji',
journalConferenceName: 'Nazwa czasopisma/konferencji',
volumeIssuePage: 'Tom/Wydanie/Strona',
DOI: 'DOI',
topicsKeywords: 'Tematy/Słowa kluczowe',
abstract: 'Abstrakt',
},
socialMediaPost: {
platform: 'Platforma',
authorUsername: 'Autor/Nazwa użytkownika',
publishDate: 'Data publikacji',
postURL: 'Adres URL posta',
topicsTags: 'Tematy/Tagi',
},
personalDocument: {
title: 'Tytuł',
author: 'Autor',
creationDate: 'Data utworzenia',
lastModifiedDate: 'Data ostatniej modyfikacji',
documentType: 'Typ dokumentu',
tagsCategory: 'Tagi/Kategoria',
},
businessDocument: {
title: 'Tytuł',
author: 'Autor',
creationDate: 'Data utworzenia',
lastModifiedDate: 'Data ostatniej modyfikacji',
documentType: 'Typ dokumentu',
departmentTeam: 'Dział/Zespół',
},
IMChat: {
chatPlatform: 'Platforma czatu',
chatPartiesGroupName: 'Podmioty czatu/Nazwa grupy',
participants: 'Uczestnicy',
startDate: 'Data rozpoczęcia',
endDate: 'Data zakończenia',
topicsKeywords: 'Tematy/Słowa kluczowe',
fileType: 'Typ pliku',
},
wikipediaEntry: {
title: 'Tytuł',
language: 'Język',
webpageURL: 'Adres URL strony internetowej',
editorContributor: 'Edytor/Współtwórca',
lastEditDate: 'Data ostatniej edycji',
summaryIntroduction: 'Podsumowanie/Wstęp',
},
notion: {
title: 'Tytuł',
language: 'Język',
author: 'Autor',
createdTime: 'Czas utworzenia',
lastModifiedTime: 'Czas ostatniej modyfikacji',
url: 'URL',
tag: 'Tag',
description: 'Opis',
},
github: {
repoName: 'Nazwa repozytorium',
repoDesc: 'Opis repozytorium',
repoOwner: 'Właściciel repozytorium',
fileName: 'Nazwa pliku',
filePath: 'Ścieżka pliku',
programmingLang: 'Język programowania',
url: 'URL',
license: 'Licencja',
lastCommitTime: 'Czas ostatniego zobowiązania',
lastCommitAuthor: 'Autor ostatniego zobowiązania',
},
originInfo: {
originalFilename: 'Oryginalna nazwa pliku',
originalFileSize: 'Oryginalny rozmiar pliku',
uploadDate: 'Data wgrywania',
lastUpdateDate: 'Data ostatniej aktualizacji',
source: 'Źródło',
},
technicalParameters: {
segmentSpecification: 'Specyfikacja fragmentów',
segmentLength: 'Długość fragmentów',
avgParagraphLength: 'Średnia długość akapitu',
paragraphs: 'Akapity',
hitCount: 'Liczba odwołań',
embeddingTime: 'Czas embedowania',
embeddedSpend: 'Wydatki związane z embedowaniem',
},
},
languageMap: {
zh: 'Chiński',
en: 'Angielski',
es: 'Hiszpański',
fr: 'Francuski',
de: 'Niemiecki',
ja: 'Japoński',
ko: 'Koreański',
ru: 'Rosyjski',
ar: 'Arabski',
pt: 'Portugalski',
it: 'Włoski',
nl: 'Holenderski',
pl: 'Polski',
sv: 'Szwedzki',
tr: 'Turecki',
he: 'Hebrajski',
hi: 'Hinduski',
da: 'Duński',
fi: 'Fiński',
no: 'Norweski',
hu: 'Węgierski',
el: 'Grecki',
cs: 'Czeski',
th: 'Tajski',
id: 'Indonezyjski',
},
categoryMap: {
book: {
fiction: 'Literatura piękna',
biography: 'Biografia',
history: 'Historia',
science: 'Nauka',
technology: 'Technologia',
education: 'Edukacja',
philosophy: 'Filozofia',
religion: 'Religia',
socialSciences: 'Nauki społeczne',
art: 'Sztuka',
travel: 'Podróże',
health: 'Zdrowie',
selfHelp: 'Samorozwój',
businessEconomics: 'Biznes/ekonomia',
cooking: 'Gotowanie',
childrenYoungAdults: 'Dzieci/Młodzież',
comicsGraphicNovels: 'Komiksy/Graphic Novels',
poetry: 'Poezja',
drama: 'Dramat',
other: 'Inne',
},
personalDoc: {
notes: 'Notatki',
blogDraft: 'Wersja robocza bloga',
diary: 'Dziennik',
researchReport: 'Raport badawczy',
bookExcerpt: 'Fragment książki',
schedule: 'Harmonogram',
list: 'Lista',
projectOverview: 'Przegląd projektu',
photoCollection: 'Kolekcja zdjęć',
creativeWriting: 'Twórcze pisanie',
codeSnippet: 'Fragment kodu',
designDraft: 'Projekt/wersja robocza',
personalResume: 'CV',
other: 'Inne',
},
businessDoc: {
meetingMinutes: 'Protokoły zebrań',
researchReport: 'Raport badawczy',
proposal: 'Propozycja',
employeeHandbook: 'Podręcznik pracownika',
trainingMaterials: 'Materiały szkoleniowe',
requirementsDocument: 'Dokument wymagań',
designDocument: 'Dokument projektowy',
productSpecification: 'Specyfikacja produktu',
financialReport: 'Raport finansowy',
marketAnalysis: 'Analiza rynku',
projectPlan: 'Plan projektu',
teamStructure: 'Struktura zespołu',
policiesProcedures: 'Zasady i procedury',
contractsAgreements: 'Umowy',
emailCorrespondence: 'Korespondencja e-mailowa',
other: 'Inne',
},
},
},
embedding: {
processing: 'Przetwarzanie osadzania...',
paused: 'Osadzanie wstrzymane',
completed: 'Osadzanie zakończone',
error: 'Błąd osadzania',
docName: 'Przetwarzanie wstępne dokumentu',
mode: 'Reguła segmentacji',
segmentLength: 'Długość fragmentów',
textCleaning: 'Predefinicja tekstu i czyszczenie',
segments: 'Akapity',
highQuality: 'Tryb wysokiej jakości',
economy: 'Tryb ekonomiczny',
estimate: 'Szacowany czas',
stop: 'Zatrzymaj przetwarzanie',
resume: 'Wznów przetwarzanie',
automatic: 'Automatyczny',
custom: 'Niestandardowy',
previewTip: 'Podgląd akapitu będzie dostępny po zakończeniu osadzania',
},
segment: {
paragraphs: 'Akapity',
keywords: 'Słowa kluczowe',
addKeyWord: 'Dodaj słowo kluczowe',
keywordError: 'Maksymalna długość słowa kluczowego wynosi 20',
characters: 'znaków',
hitCount: 'Liczba odwołań',
vectorHash: 'Wektor hash: ',
questionPlaceholder: 'dodaj pytanie tutaj',
questionEmpty: 'Pytanie nie może być puste',
answerPlaceholder: 'dodaj odpowiedź tutaj',
answerEmpty: 'Odpowiedź nie może być pusta',
contentPlaceholder: 'dodaj treść tutaj',
contentEmpty: 'Treść nie może być pusta',
newTextSegment: 'Nowy segment tekstowy',
newQaSegment: 'Nowy segment Q&A',
delete: 'Usunąć ten fragment?',
},
}
export default translation

View File

@@ -0,0 +1,28 @@
const translation = {
title: 'Testowanie odzyskiwania',
desc: 'Przetestuj efekt uderzenia wiedzy na podstawie podanego tekstu zapytania.',
dateTimeFormat: 'MM/DD/YYYY hh:mm A',
recents: 'Ostatnie',
table: {
header: {
source: 'Źródło',
text: 'Tekst',
time: 'Czas',
},
},
input: {
title: 'Tekst źródłowy',
placeholder: 'Proszę wpisać tekst, zaleca się krótkie zdanie deklaratywne.',
countWarning: 'Do 200 znaków.',
indexWarning: 'Tylko wiedza wysokiej jakości.',
testing: 'Testowanie',
},
hit: {
title: 'AKAPITY ODZYSKIWANIA',
emptyTip: 'Wyniki testowania odzyskiwania będą tu pokazane',
},
noRecentTip: 'Brak ostatnich wyników zapytań tutaj',
viewChart: 'Zobacz WYKRES WEKTOROWY',
}
export default translation

View File

@@ -0,0 +1,38 @@
const translation = {
title: 'Ustawienia wiedzy',
desc: 'Tutaj możesz modyfikować właściwości i metody działania Wiedzy.',
form: {
name: 'Nazwa wiedzy',
namePlaceholder: 'Proszę wprowadzić nazwę wiedzy',
nameError: 'Nazwa nie może być pusta',
desc: 'Opis wiedzy',
descInfo:
'Proszę napisać klarowny opis tekstowy, aby zarysować zawartość Wiedzy. Ten opis będzie wykorzystywany jako podstawa do dopasowywania podczas wyboru z wielu wiedz dla wnioskowania.',
descPlaceholder:
'Opisz, co znajduje się w tej Wiedzy. Szczegółowy opis pozwala sztucznej inteligencji na dostęp do treści Wiedzy w odpowiednim czasie. Jeśli jest pusty, Dify użyje domyślnej strategii trafień.',
descWrite: 'Dowiedz się, jak napisać dobry opis Wiedzy.',
permissions: 'Uprawnienia',
permissionsOnlyMe: 'Tylko ja',
permissionsAllMember: 'Wszyscy członkowie zespołu',
indexMethod: 'Metoda indeksowania',
indexMethodHighQuality: 'Wysoka jakość',
indexMethodHighQualityTip:
'Wywołaj interfejs wbudowywanie OpenAI do przetwarzania, aby zapewnić wyższą dokładność przy zapytaniach użytkowników.',
indexMethodEconomy: 'Ekonomiczna',
indexMethodEconomyTip:
'Użyj silników wektorów offline, indeksów słów kluczowych itp., aby zmniejszyć dokładność bez wydawania tokenów',
embeddingModel: 'Model wbudowywania',
embeddingModelTip: 'Aby zmienić model wbudowywania, przejdź do ',
embeddingModelTipLink: 'Ustawienia',
retrievalSetting: {
title: 'Ustawienia doboru',
learnMore: 'Dowiedz się więcej',
description: ' dotyczące metody doboru.',
longDescription:
' dotyczące metody doboru, możesz to zmienić w dowolnym momencie w ustawieniach wiedzy.',
},
save: 'Zapisz',
},
}
export default translation

55
web/i18n/pl-PL/dataset.ts Normal file
View File

@@ -0,0 +1,55 @@
const translation = {
knowledge: 'Wiedza',
documentCount: ' dokumenty',
wordCount: ' k słów',
appCount: ' powiązane aplikacje',
createDataset: 'Utwórz Wiedzę',
createDatasetIntro:
'Zaimportuj własne dane tekstowe lub zapisuj dane w czasie rzeczywistym za pomocą Webhooka w celu wzmocnienia kontekstu LLM.',
deleteDatasetConfirmTitle: 'Czy na pewno usunąć tę Wiedzę?',
deleteDatasetConfirmContent:
'Usunięcie Wiedzy jest nieodwracalne. Użytkownicy nie będą już mieli dostępu do Twojej Wiedzy, a wszystkie konfiguracje i logi zostaną trwale usunięte.',
datasetDeleted: 'Wiedza usunięta',
datasetDeleteFailed: 'Nie udało się usunąć Wiedzy',
didYouKnow: 'Czy wiedziałeś?',
intro1: 'Wiedzę można zintegrować z aplikacją Dify ',
intro2: 'jako kontekst',
intro3: ',',
intro4: 'lub ',
intro5: 'może być utworzona',
intro6: ' jako samodzielny wtyczka indeksująca ChatGPT do publikacji',
unavailable: 'Niedostępny',
unavailableTip:
'Model osadzający jest niedostępny, domyślny model osadzający musi być skonfigurowany',
datasets: 'WIEDZA',
datasetsApi: 'DOSTĘP DO API',
retrieval: {
semantic_search: {
title: 'Wyszukiwanie wektorowe',
description:
'Generowanie osadzeń zapytań i wyszukiwanie fragmentów tekstu najbardziej podobnych do ich wektorowej reprezentacji.',
},
full_text_search: {
title: 'Wyszukiwanie pełnotekstowe',
description:
'Indeksowanie wszystkich terminów w dokumencie, umożliwiając użytkownikom wyszukiwanie dowolnego terminu i odzyskiwanie odpowiedniego fragmentu tekstu zawierającego te terminy.',
},
hybrid_search: {
title: 'Wyszukiwanie hybrydowe',
description:
'Wykonaj jednocześnie pełnotekstowe wyszukiwanie i wyszukiwanie wektorowe, ponownie porządkuj, aby wybrać najlepsze dopasowanie dla zapytania użytkownika. Konieczna jest konfiguracja API Rerank model.',
recommend: 'Polecany',
},
invertedIndex: {
title: 'Indeks odwrócony',
description:
'Indeks odwrócony to struktura używana do efektywnego odzyskiwania informacji. Zorganizowane według terminów, każdy termin wskazuje na dokumenty lub strony internetowe zawierające go.',
},
change: 'Zmień',
changeRetrievalMethod: 'Zmień metodę odzyskiwania',
},
docsFailedNotice: 'nie udało się zindeksować dokumentów',
retry: 'Ponów',
}
export default translation

42
web/i18n/pl-PL/explore.ts Normal file
View File

@@ -0,0 +1,42 @@
const translation = {
title: 'Odkryj',
sidebar: {
discovery: 'Odkrywanie',
chat: 'Czat',
workspace: 'Przestrzeń robocza',
action: {
pin: 'Przypnij',
unpin: 'Odepnij',
rename: 'Zmień nazwę',
delete: 'Usuń',
},
delete: {
title: 'Usuń aplikację',
content: 'Czy na pewno chcesz usunąć tę aplikację?',
},
},
apps: {
title: 'Odkrywaj aplikacje stworzone przez Dify',
description:
'Wykorzystaj te aplikacje szablonowe natychmiast lub dostosuj własne aplikacje na podstawie szablonów.',
allCategories: 'Polecane',
},
appCard: {
addToWorkspace: 'Dodaj do przestrzeni roboczej',
customize: 'Dostosuj',
},
appCustomize: {
title: 'Utwórz aplikację z {{name}}',
subTitle: 'Ikona i nazwa aplikacji',
nameRequired: 'Nazwa aplikacji jest wymagana',
},
category: {
Assistant: 'Asystent',
Writing: 'Pisanie',
Translate: 'Tłumaczenie',
Programming: 'Programowanie',
HR: 'HR',
},
}
export default translation

4
web/i18n/pl-PL/layout.ts Normal file
View File

@@ -0,0 +1,4 @@
const translation = {
}
export default translation

66
web/i18n/pl-PL/login.ts Normal file
View File

@@ -0,0 +1,66 @@
const translation = {
pageTitle: 'Cześć, zaczynajmy!👋',
welcome: 'Witaj w Dify, zaloguj się, aby kontynuować.',
email: 'Adres e-mail',
emailPlaceholder: 'Twój adres e-mail',
password: 'Hasło',
passwordPlaceholder: 'Twoje hasło',
name: 'Nazwa użytkownika',
namePlaceholder: 'Twoja nazwa użytkownika',
forget: 'Zapomniałeś hasła?',
signBtn: 'Zaloguj się',
sso: 'Kontynuuj za pomocą SSO',
installBtn: 'Ustaw',
setAdminAccount: 'Ustawianie konta administratora',
setAdminAccountDesc:
'Maksymalne uprawnienia dla konta administratora, które można użyć do tworzenia aplikacji i zarządzania dostawcami LLM, itp.',
createAndSignIn: 'Utwórz i zaloguj się',
oneMoreStep: 'Jeszcze jeden krok',
createSample:
'Na podstawie tych informacji, utworzymy dla Ciebie przykładową aplikację',
invitationCode: 'Kod zaproszenia',
invitationCodePlaceholder: 'Twój kod zaproszenia',
interfaceLanguage: 'Język interfejsu',
timezone: 'Strefa czasowa',
go: 'Przejdź do Dify',
sendUsMail:
'Wyślij nam e-mail z swoim wstępem, a my zajmiemy się prośbą o zaproszenie.',
acceptPP: 'Przeczytałem/am i akceptuję politykę prywatności',
reset: 'Uruchom poniższą komendę, aby zresetować swoje hasło',
withGitHub: 'Kontynuuj za pomocą GitHub',
withGoogle: 'Kontynuuj za pomocą Google',
rightTitle: 'Odblokuj pełny potencjał LLM',
rightDesc:
'Łatwo buduj wizualnie atrakcyjne, działające i udoskonalane aplikacje AI.',
tos: 'Warunki świadczenia usług',
pp: 'Polityka prywatności',
tosDesc: 'Założeniem konta zgadzasz się z naszymi',
goToInit: 'Jeśli nie zainicjowałeś konta, przejdź do strony inicjalizacji',
donthave: 'Nie masz?',
invalidInvitationCode: 'Niewłaściwy kod zaproszenia',
accountAlreadyInited: 'Konto już zainicjowane',
error: {
emailEmpty: 'Adres e-mail jest wymagany',
emailInValid: 'Proszę wpisać prawidłowy adres e-mail',
nameEmpty: 'Nazwa jest wymagana',
passwordEmpty: 'Hasło jest wymagane',
passwordInvalid:
'Hasło musi zawierać litery i cyfry, a jego długość musi być większa niż 8',
},
license: {
tip: 'Przed rozpoczęciem wersji społecznościowej Dify, przeczytaj GitHub',
link: 'Licencję open-source',
},
join: 'Dołącz',
joinTipStart: 'Zapraszam Cię do dołączenia do',
joinTipEnd: 'zespołu na Dify',
invalid: 'Link wygasł',
explore: 'Odkryj Dify',
activatedTipStart: 'Dołączyłeś do',
activatedTipEnd: 'zespołu',
activated: 'Zaloguj się teraz',
adminInitPassword: 'Hasło inicjalizacyjne administratora',
validate: 'Sprawdź',
}
export default translation

View File

@@ -0,0 +1,4 @@
const translation = {
}
export default translation

29
web/i18n/pl-PL/run-log.ts Normal file
View File

@@ -0,0 +1,29 @@
const translation = {
input: 'WEJŚCIE',
result: 'WYNIK',
detail: 'SZCZEGÓŁY',
tracing: 'ŚLEDZENIE',
resultPanel: {
status: 'STATUS',
time: 'CZAS WYKONANIA',
tokens: 'CAŁKOWITA LICZBA TOKENÓW',
},
meta: {
title: 'METADANE',
status: 'Status',
version: 'Wersja',
executor: 'Wykonawca',
startTime: 'Czas rozpoczęcia',
time: 'Czas trwania',
tokens: 'Liczba tokenów',
steps: 'Kroki wykonania',
},
resultEmpty: {
title: 'To wykonanie generuje tylko format JSON,',
tipLeft: 'proszę przejdź do ',
link: 'panelu szczegółów',
tipRight: ' aby je zobaczyć.',
},
}
export default translation

View File

@@ -0,0 +1,75 @@
const translation = {
common: {
welcome: 'Witaj w użyciu',
appUnavailable: 'Aplikacja jest niedostępna',
appUnkonwError: 'Aplikacja jest niedostępna',
},
chat: {
newChat: 'Nowy czat',
pinnedTitle: 'Przypięte',
unpinnedTitle: 'Czaty',
newChatDefaultName: 'Nowa rozmowa',
resetChat: 'Resetuj rozmowę',
powerBy: 'Działany przez',
prompt: 'Podpowiedź',
privatePromptConfigTitle: 'Ustawienia rozmowy',
publicPromptConfigTitle: 'Początkowa podpowiedź',
configStatusDes:
'Przed rozpoczęciem możesz zmodyfikować ustawienia rozmowy',
configDisabled: 'Ustawienia poprzedniej sesji zostały użyte w tej sesji.',
startChat: 'Zacznij czat',
privacyPolicyLeft: 'Proszę przeczytać ',
privacyPolicyMiddle: 'politykę prywatności',
privacyPolicyRight: ' dostarczoną przez dewelopera aplikacji.',
deleteConversation: {
title: 'Usuń rozmowę',
content: 'Czy na pewno chcesz usunąć tę rozmowę?',
},
tryToSolve: 'Spróbuj rozwiązać',
temporarySystemIssue: 'Przepraszamy, tymczasowy problem systemowy.',
},
generation: {
tabs: {
create: 'Uruchom raz',
batch: 'Uruchom partię',
saved: 'Zapisane',
},
savedNoData: {
title: 'Nie zapisałeś jeszcze wyniku!',
description:
'Zacznij generować treść i znajdź swoje zapisane wyniki tutaj.',
startCreateContent: 'Zacznij tworzyć treść',
},
title: 'Uzupełnianie AI',
queryTitle: 'Zapytaj o treść',
completionResult: 'Wynik uzupełnienia',
queryPlaceholder: 'Wpisz swoją treść zapytania...',
run: 'Wykonaj',
copy: 'Kopiuj',
resultTitle: 'Uzupełnianie AI',
noData: 'AI poda Ci to, czego chcesz tutaj.',
csvUploadTitle: 'Przeciągnij i upuść plik CSV tutaj lub ',
browse: 'przeglądaj',
csvStructureTitle: 'Plik CSV musi być zgodny z następującą strukturą:',
downloadTemplate: 'Pobierz szablon tutaj',
field: 'Pole',
batchFailed: {
info: '{{num}} nieudanych wykonan',
retry: 'Powtórz',
outputPlaceholder: 'Brak treści wyjściowej',
},
errorMsg: {
empty: 'Proszę wprowadź treść w załadowanym pliku.',
fileStructNotMatch: 'Załadowany plik CSV nie pasuje do struktury.',
emptyLine: 'Wiersz {{rowIndex}} jest pusty',
invalidLine:
'Wiersz {{rowIndex}}: wartość {{varName}} nie może być pusta',
moreThanMaxLengthLine:
'Wiersz {{rowIndex}}: wartość {{varName}} nie może mieć więcej niż {{maxLength}} znaków',
atLeastOne:
'Proszę wprowadź co najmniej jeden wiersz w załadowanym pliku.',
},
},
}
export default translation

119
web/i18n/pl-PL/tools.ts Normal file
View File

@@ -0,0 +1,119 @@
const translation = {
title: 'Narzędzia',
createCustomTool: 'Utwórz niestandardowe narzędzie',
type: {
all: 'Wszystkie',
builtIn: 'Wbudowane',
custom: 'Niestandardowe',
},
contribute: {
line1: 'Interesuje mnie ',
line2: 'współtworzenie narzędzi dla Dify.',
viewGuide: 'Zobacz przewodnik',
},
author: 'Przez',
auth: {
unauthorized: 'Autoryzacja',
authorized: 'Zautoryzowane',
setup: 'Skonfiguruj autoryzację aby użyć',
setupModalTitle: 'Konfiguruj autoryzację',
setupModalTitleDescription:
'Po skonfigurowaniu poświadczeń wszyscy członkowie w przestrzeni roboczej mogą używać tego narzędzia podczas projektowania aplikacji.',
},
includeToolNum: '{{num}} narzędzi zawarte',
addTool: 'Dodaj narzędzie',
createTool: {
title: 'Utwórz niestandardowe narzędzie',
editAction: 'Konfiguruj',
editTitle: 'Edytuj niestandardowe narzędzie',
name: 'Nazwa',
toolNamePlaceHolder: 'Wprowadź nazwę narzędzia',
schema: 'Schemat',
schemaPlaceHolder: 'Wprowadź tutaj swój schemat OpenAPI',
viewSchemaSpec: 'Zobacz specyfikację OpenAPI-Swagger',
importFromUrl: 'Importuj z adresu URL',
importFromUrlPlaceHolder: 'https://...',
urlError: 'Proszę podać prawidłowy URL',
examples: 'Przykłady',
exampleOptions: {
json: 'Pogoda (JSON)',
yaml: 'Sklep Zoologiczny (YAML)',
blankTemplate: 'Pusty szablon',
},
availableTools: {
title: 'Dostępne narzędzia',
name: 'Nazwa',
description: 'Opis',
method: 'Metoda',
path: 'Ścieżka',
action: 'Akcje',
test: 'Test',
},
authMethod: {
title: 'Metoda autoryzacji',
type: 'Typ autoryzacji',
keyTooltip:
'Klucz nagłówka HTTP, Możesz pozostawić go z "Autoryzacja" jeśli nie wiesz co to jest lub ustaw go na niestandardową wartość',
types: {
none: 'Brak',
api_key: 'Klucz API',
apiKeyPlaceholder: 'Nazwa nagłówka HTTP dla Klucza API',
apiValuePlaceholder: 'Wprowadź Klucz API',
},
key: 'Klucz',
value: 'Wartość',
},
authHeaderPrefix: {
title: 'Typ autoryzacji',
types: {
basic: 'Podstawowa',
bearer: 'Bearer',
custom: 'Niestandardowa',
},
},
privacyPolicy: 'Polityka prywatności',
privacyPolicyPlaceholder: 'Proszę wprowadzić politykę prywatności',
},
test: {
title: 'Test',
parametersValue: 'Parametry i Wartość',
parameters: 'Parametry',
value: 'Wartość',
testResult: 'Wyniki testu',
testResultPlaceholder: 'Wynik testu pojawi się tutaj',
},
thought: {
using: 'Używanie',
used: 'Użyty',
requestTitle: 'Żądanie do',
responseTitle: 'Odpowiedź od',
},
setBuiltInTools: {
info: 'Informacje',
setting: 'Ustawienia',
toolDescription: 'Opis narzędzia',
parameters: 'parametry',
string: 'ciąg znaków',
number: 'liczba',
required: 'Wymagane',
infoAndSetting: 'Informacje i Ustawienia',
},
noCustomTool: {
title: 'Brak niestandardowych narzędzi!',
content:
'Dodaj i zarządzaj niestandardowymi narzędziami tutaj, aby budować aplikacje AI.',
createTool: 'Utwórz Narzędzie',
},
noSearchRes: {
title: 'Przykro nam, brak wyników!',
content:
'Nie znaleźliśmy żadnych narzędzi pasujących do Twojego wyszukiwania.',
reset: 'Resetuj Wyszukiwanie',
},
builtInPromptTitle: 'Komunikat',
toolRemoved: 'Narzędzie usunięte',
notAuthorized: 'Narzędzie nieautoryzowane',
howToGet: 'Jak uzyskać',
}
export default translation

354
web/i18n/pl-PL/workflow.ts Normal file
View File

@@ -0,0 +1,354 @@
const translation = {
common: {
editing: 'Edytowanie',
autoSaved: 'Autozapisano',
unpublished: 'Nieopublikowany',
published: 'Opublikowany',
publish: 'Opublikuj',
update: 'Aktualizuj',
run: 'Uruchom',
running: 'Uruchamianie',
inRunMode: 'W trybie Uruchom',
inPreview: 'Podgląd',
inPreviewMode: 'W trybie Podgląd',
preview: 'Podgląd',
viewRunHistory: 'Zobacz historię uruchomień',
runHistory: 'Historia Uruchomień',
goBackToEdit: 'Wróć do edytora',
conversationLog: 'Dziennik Konwersacji',
features: 'Funkcje',
debugAndPreview: 'Debugowanie i Podgląd',
restart: 'Uruchom Ponownie',
currentDraft: 'Aktualny Szkic',
currentDraftUnpublished: 'Aktualny Szkic Nieopublikowany',
latestPublished: 'Ostatnio Opublikowany',
publishedAt: 'Opublikowany',
restore: 'Przywróć',
runApp: 'Uruchom Aplikację',
batchRunApp: 'Uruchom Aplikację Partiami',
accessAPIReference: 'Dostęp do Referencji API',
embedIntoSite: 'Osadź na Stronie',
addTitle: 'Dodaj tytuł...',
addDescription: 'Dodaj opis...',
noVar: 'Brak zmiennej',
searchVar: 'Szukaj zmiennej',
variableNamePlaceholder: 'Nazwa zmiennej',
setVarValuePlaceholder: 'Ustaw zmienną',
needConnecttip: 'Ten krok nie jest połączony z niczym',
maxTreeDepth: 'Maksymalny limit {{depth}} węzłów na gałąź',
needEndNode: 'Należy dodać Blok Końcowy',
needAnswerNode: 'Należy dodać Blok Odpowiedzi',
workflowProcess: 'Proces Przepływu',
notRunning: 'Nie uruchamiany jeszcze',
previewPlaceholder: 'Wprowadź treść w poniższym polu, aby rozpocząć debugowanie Chatbota',
effectVarConfirm: {
title: 'Usuń Zmienną',
content: 'Zmienna jest używana w innych węzłach. Czy nadal chcesz ją usunąć?',
},
insertVarTip: 'Naciśnij klawisz \'/\' aby szybko wstawić',
processData: 'Przetwarzaj Dane',
input: 'Wejście',
output: 'Wyjście',
jinjaEditorPlaceholder: 'Wprowadź \'/\' lub \'{\' aby wstawić zmienną',
viewOnly: 'Tylko Podgląd',
showRunHistory: 'Pokaż Historię Uruchomień',
enableJinja: 'Włącz wsparcie dla szablonów Jinja',
learnMore: 'Czytaj więcej',
},
errorMsg: {
fieldRequired: '{{field}} jest wymagane',
authRequired: 'Autoryzacja jest wymagana',
invalidJson: '{{field}} jest nieprawidłowy JSON',
fields: {
variable: 'Nazwa Zmiennej',
variableValue: 'Wartość Zmiennej',
code: 'Kod',
model: 'Model',
rerankModel: 'Model Ponownej Klasyfikacji',
},
invalidVariable: 'Nieprawidłowa zmienna',
},
singleRun: {
testRun: 'Testuj Uruchomienie ',
startRun: 'Uruchomienie',
running: 'Uruchamianie',
},
tabs: {
'searchBlock': 'Szukaj Bloku',
'blocks': 'Bloki',
'builtInTool': 'Wbudowany Narzędzie',
'customTool': 'Niestandardowe Narzędzie',
'question-understand': 'Zrozumienie Pytania',
'logic': 'Logika',
'transform': 'Transformacja',
'utilities': 'Użyteczność',
'noResult': 'Brak pasujących wyników',
},
blocks: {
'start': 'Start',
'end': 'Koniec',
'answer': 'Odpowiedź',
'llm': 'LLM',
'knowledge-retrieval': 'Odzyskiwanie Wiedzy',
'question-classifier': 'Klasyfikator Pytań',
'if-else': 'IF/ELSE',
'code': 'Kod',
'template-transform': 'Szablon',
'http-request': 'Żądanie HTTP',
'variable-assigner': 'Przypisywacz Zmiennych',
},
blocksAbout: {
'start': 'Definiuje początkowe parametry uruchamiania przepływu',
'end': 'Definiuje koniec i typ wyniku przepływu',
'answer': 'Definiuje treść odpowiedzi w rozmowie czatowej',
'llm': 'Wywołuje duże modele językowe do odpowiedzi na pytania lub przetwarzania języka naturalnego',
'knowledge-retrieval': 'Pozwala na wyszukiwanie treści tekstowych związanych z pytaniami użytkowników z Wiedzy',
'question-classifier': 'Definiuje warunki klasyfikacji pytań użytkowników, LLM może określić, jak postępuje rozmowa na podstawie opisu klasyfikacji',
'if-else': 'Pozwala na podział przepływu na dwie gałęzie na podstawie warunków if/else',
'code': 'Wykonuje fragment kodu Pythona lub NodeJS w celu zastosowania niestandardowej logiki',
'template-transform': 'Konwertuje dane na ciąg za pomocą składni szablonu Jinja',
'http-request': 'Pozwala na wysyłanie żądań serwera za pośrednictwem protokołu HTTP',
'variable-assigner': 'Przypisuje zmienne w różnych gałęziach do tej samej zmiennej w celu uzyskania zharmonizowanej konfiguracji post-węzłów',
},
operator: {
zoomIn: 'Powiększ',
zoomOut: 'Pomniejsz',
zoomTo50: 'Powiększ do 50%',
zoomTo100: 'Powiększ do 100%',
zoomToFit: 'Dopasuj do rozmiaru',
},
panel: {
userInputField: 'Pole Wejściowe Użytkownika',
changeBlock: 'Zmień Blok',
helpLink: 'Link Pomocniczy',
about: 'O Autorze',
createdBy: 'Utworzone przez',
nextStep: 'Następny Krok',
addNextStep: 'Dodaj następny blok w tym przepływie',
selectNextStep: 'Wybierz Następny Blok',
runThisStep: 'Uruchom ten krok',
checklist: 'Lista kontrolna',
checklistTip: 'Upewnij się, że wszystkie problemy są rozwiązane przed opublikowaniem',
checklistResolved: 'Wszystkie problemy zostały rozwiązane',
organizeBlocks: 'Organizuj bloki',
change: 'Zmień',
},
nodes: {
common: {
outputVars: 'Zmienne Wyjściowe',
insertVarTip: 'Wstaw Zmienną',
memory: {
memory: 'Pamięć',
memoryTip: 'Ustawienia pamięci czatu',
windowSize: 'Rozmiar Okna',
conversationRoleName: 'Nazwa Roli Konwersacji',
user: 'Prefiks użytkownika',
assistant: 'Prefiks asystenta',
},
memories: {
title: 'Wspomnienia',
tip: 'Pamięć czatu',
builtIn: 'Wbudowane',
},
},
start: {
required: 'wymagane',
inputField: 'Pole Wejściowe',
builtInVar: 'Zmienne Wbudowane',
outputVars: {
query: 'Wejście użytkownika',
memories: {
des: 'Historia rozmowy',
type: 'typ wiadomości',
content: 'treść wiadomości',
},
files: 'Lista plików',
},
noVarTip: 'Ustaw wejścia, które można użyć w Przepływie',
},
end: {
outputs: 'Wyjścia',
output: {
type: 'typ wyjścia',
variable: 'zmienna wyjścia',
},
type: {
'none': 'Brak',
'plain-text': 'Tekst Prosty',
'structured': 'Strukturyzowany',
},
},
answer: {
answer: 'Odpowiedź',
outputVars: 'Zmienne Wyjściowe',
},
llm: {
model: 'model',
variables: 'zmienne',
context: 'kontekst',
contextTooltip: 'Możesz zaimportować Wiedzę jako kontekst',
notSetContextInPromptTip: 'Aby włączyć funkcję kontekstu, proszę wypełnić zmienną kontekstu w PROMPT.',
prompt: 'prompt',
roleDescription: {
system: 'Daj instrukcje na wysokim poziomie dla rozmowy',
user: 'Dostarcz instrukcje, zapytania lub jakiekolwiek wejście oparte na tekście do modelu',
assistant: 'Odpowiedzi modelu na wiadomości użytkownika',
},
addMessage: 'Dodaj Wiadomość',
vision: 'wizja',
files: 'Pliki',
resolution: {
name: 'Rozdzielczość',
high: 'Wysoka',
low: 'Niska',
},
outputVars: {
output: 'Generuj zawartość',
usage: 'Informacje o użyciu modelu',
},
singleRun: {
variable: 'Zmienna',
},
sysQueryInUser: 'sys.query w wiadomości użytkownika jest wymagane',
},
knowledgeRetrieval: {
queryVariable: 'Zmienna Zapytania',
knowledge: 'Wiedza',
outputVars: {
output: 'Odzyskane dane podzielone',
content: 'Zawartość podzielona',
title: 'Tytuł podzielony',
icon: 'Ikona podzielona',
url: 'URL podzielony',
metadata: 'Inne metadane',
},
},
http: {
inputVars: 'Zmienne Wejściowe',
api: 'API',
apiPlaceholder: 'Wprowadź URL, wpisz \'/\' aby wstawić zmienną',
notStartWithHttp: 'API powinno rozpoczynać się od http:// lub https://',
key: 'Klucz',
value: 'Wartość',
bulkEdit: 'Edycja Masowa',
keyValueEdit: 'Edycja Klucz-Wartość',
headers: 'Nagłówki',
params: 'Parametry',
body: 'Treść',
outputVars: {
body: 'Zawartość Odpowiedzi',
statusCode: 'Kod Stanu Odpowiedzi',
headers: 'Lista Nagłówków Odpowiedzi w formacie JSON',
files: 'Lista plików',
},
authorization: {
'authorization': 'Autoryzacja',
'authorizationType': 'Typ Autoryzacji',
'no-auth': 'Brak',
'api-key': 'Klucz API',
'auth-type': 'Typ Autoryzacji',
'basic': 'Podstawowa',
'bearer': 'Bearer',
'custom': 'Niestandardowa',
'api-key-title': 'Klucz API',
'header': 'Nagłówek',
},
insertVarPlaceholder: 'wpisz \'/\' aby wstawić zmienną',
timeout: {
title: 'Limit czasu',
connectLabel: 'Limit czasu połączenia',
connectPlaceholder: 'Wprowadź limit czasu połączenia w sekundach',
readLabel: 'Limit czasu odczytu',
readPlaceholder: 'Wprowadź limit czasu odczytu w sekundach',
writeLabel: 'Limit czasu zapisu',
writePlaceholder: 'Wprowadź limit czasu zapisu w sekundach',
},
},
code: {
inputVars: 'Zmienne Wejściowe',
outputVars: 'Zmienne Wyjściowe',
},
templateTransform: {
inputVars: 'Zmienne Wejściowe',
code: 'Kod',
codeSupportTip: 'Obsługuje tylko Jinja2',
outputVars: {
output: 'Przekształcona zawartość',
},
},
ifElse: {
if: 'Jeśli',
else: 'W przeciwnym razie',
elseDescription: 'Służy do zdefiniowania logiki, która powinna być wykonana, gdy warunek if nie jest spełniony.',
and: 'i',
or: 'lub',
operator: 'Operator',
notSetVariable: 'Najpierw ustaw zmienną',
comparisonOperator: {
'contains': 'zawiera',
'not contains': 'nie zawiera',
'start with': 'zaczyna się od',
'end with': 'kończy się na',
'is': 'jest',
'is not': 'nie jest',
'empty': 'jest pusty',
'not empty': 'nie jest pusty',
'null': 'jest pusty',
'not null': 'nie jest pusty',
},
enterValue: 'Wprowadź wartość',
addCondition: 'Dodaj Warunek',
conditionNotSetup: 'Warunek NIE jest ustawiony',
},
variableAssigner: {
title: 'Przypisz zmienne',
outputType: 'Typ Wyjścia',
outputVarType: 'Typ Zmiennej Wyjściowej',
varNotSet: 'Zmienna nieustawiona',
noVarTip: 'Dodaj zmienne do przypisania',
type: {
string: 'Tekst',
number: 'Liczba',
object: 'Obiekt',
array: 'Tablica',
},
outputVars: {
output: 'Wartość zmiennej przypisanej',
},
},
tool: {
toAuthorize: 'Aby autoryzować',
inputVars: 'Zmienne Wejściowe',
outputVars: {
text: 'wygenerowana zawartość narzędzia',
files: {
title: 'wygenerowane pliki narzędzia',
type: 'Typ wsparcia. Obecnie obsługuje tylko obraz',
transfer_method: 'Metoda transferu. Wartość to remote_url lub local_file',
url: 'URL obrazu',
upload_file_id: 'Identyfikator przesyłanego pliku',
},
},
},
questionClassifiers: {
model: 'model',
inputVars: 'Zmienne Wejściowe',
outputVars: {
className: 'Nazwa Klasy',
},
class: 'Klasa',
classNamePlaceholder: 'Wpisz nazwę swojej klasy',
advancedSetting: 'Ustawienia Zaawansowane',
topicName: 'Nazwa Tematu',
topicPlaceholder: 'Wpisz nazwę swojego tematu',
addClass: 'Dodaj Klasę',
instruction: 'Instrukcja',
instructionPlaceholder: 'Wpisz swoją instrukcję',
},
},
tracing: {
stopBy: 'Zatrzymano przez {{user}}',
},
}
export default translation