aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/l10n/hu.js2
-rw-r--r--lib/l10n/hu.json2
-rw-r--r--lib/l10n/pl.js122
-rw-r--r--lib/l10n/pl.json122
-rw-r--r--lib/l10n/sw.js5
-rw-r--r--lib/l10n/sw.json5
-rw-r--r--lib/l10n/tr.js50
-rw-r--r--lib/l10n/tr.json50
-rw-r--r--lib/private/Encryption/EncryptionEventListener.php17
-rw-r--r--lib/private/Files/Storage/DAV.php10
-rw-r--r--lib/private/Http/Client/Response.php33
-rw-r--r--lib/private/Remote/Instance.php8
-rw-r--r--lib/private/Updater/VersionCheck.php17
-rw-r--r--lib/private/legacy/OC_Response.php1
-rw-r--r--lib/public/Files/Config/Event/UserMountAddedEvent.php3
-rw-r--r--lib/public/Files/Config/Event/UserMountRemovedEvent.php3
-rw-r--r--lib/public/Files/Config/Event/UserMountUpdatedEvent.php5
-rw-r--r--lib/public/Http/Client/IResponse.php3
18 files changed, 361 insertions, 97 deletions
diff --git a/lib/l10n/hu.js b/lib/l10n/hu.js
index a4d342fb56f..21d0f6b986f 100644
--- a/lib/l10n/hu.js
+++ b/lib/l10n/hu.js
@@ -77,6 +77,8 @@ OC.L10N.register(
"Empty file" : "Üres fájl",
"Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "A(z) %s azonosítójú modul nem létezik. Engedélyezze az alkalmazásbeállításokban, vagy lépjen kapcsolatba a rendszergazdával.",
"Dot files are not allowed" : "A ponttal kezdődő fájlok nem engedélyezettek",
+ "%1$s (renamed)" : "%1$s (átnevezve)",
+ "renamed file" : "átnevezett fájl",
"Filenames must not end with \"%1$s\"." : "Fájlnév nem végződhet így: „%1$s”.",
"File already exists" : "A fájl már létezik",
"Invalid path" : "Érvénytelen útvonal",
diff --git a/lib/l10n/hu.json b/lib/l10n/hu.json
index 54c0297d8e9..e40d8174716 100644
--- a/lib/l10n/hu.json
+++ b/lib/l10n/hu.json
@@ -75,6 +75,8 @@
"Empty file" : "Üres fájl",
"Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "A(z) %s azonosítójú modul nem létezik. Engedélyezze az alkalmazásbeállításokban, vagy lépjen kapcsolatba a rendszergazdával.",
"Dot files are not allowed" : "A ponttal kezdődő fájlok nem engedélyezettek",
+ "%1$s (renamed)" : "%1$s (átnevezve)",
+ "renamed file" : "átnevezett fájl",
"Filenames must not end with \"%1$s\"." : "Fájlnév nem végződhet így: „%1$s”.",
"File already exists" : "A fájl már létezik",
"Invalid path" : "Érvénytelen útvonal",
diff --git a/lib/l10n/pl.js b/lib/l10n/pl.js
index 4b551782476..884ae246664 100644
--- a/lib/l10n/pl.js
+++ b/lib/l10n/pl.js
@@ -38,6 +38,7 @@ OC.L10N.register(
"Server version %s or higher is required." : "Wymagana jest wersja serwera %s lub wyższa.",
"Server version %s or lower is required." : "Wymagana jest wersja serwera %s lub niższa.",
"Logged in account must be an admin, a sub admin or gotten special right to access this setting" : "Zalogowane konto musi być administratorem, subadministratorem lub posiadać specjalne uprawnienia, aby uzyskać dostęp do tego ustawienia",
+ "Your current IP address doesn't allow you to perform admin actions" : "Twój obecny adres IP nie pozwala na wykonywanie działań administracyjnych",
"Logged in account must be an admin or sub admin" : "Zalogowane konto musi być administratorem lub subadministratorem",
"Logged in account must be an admin" : "Zalogowane konto musi być administratorem",
"Wiping of device %s has started" : "Rozpoczęto czyszczenie urządzenia %s",
@@ -58,7 +59,11 @@ OC.L10N.register(
"Avatar image is not square" : "Obraz awatara nie jest kwadratowy",
"Files" : "Pliki",
"View profile" : "Zobacz profil",
+ "same time" : "jednocześnie",
"_%nh_::_%nh_" : ["%nh","%nh","%nh","%ngodz."],
+ "_%nm_::_%nm_" : ["%nmin","%nmin","%nmin","%nmin"],
+ "%s ahead" : "o %s wcześniej",
+ "%s behind" : "o %s później",
"Local time: %s" : "Czas lokalny: %s",
"today" : "dzisiaj",
"tomorrow" : "jutro",
@@ -81,14 +86,32 @@ OC.L10N.register(
"seconds ago" : "przed chwilą",
"Empty file" : "Pusty plik",
"Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Moduł o ID: %s nie istnieje. Włącz go w ustawieniach aplikacji lub skontaktuj się z administratorem.",
+ "No file conversion providers available" : "Brak dostępnych usług konwersji plików.",
+ "File is too large to convert" : "Plik jest zbyt duży, aby go przekonwertować.",
+ "Destination does not match conversion extension" : "Docelowy format nie odpowiada rozszerzeniu konwersji",
+ "Could not convert file" : "Nie można przekonwertować pliku",
+ "Destination does not exist" : "Folder docelowy nie istnieje",
+ "Destination is not creatable" : "Nie można utworzyć folderu docelowego",
"Dot files are not allowed" : "Pliki z kropką są niedozwolone",
"%1$s (renamed)" : "%1$s (zmieniona nazwa)",
"renamed file" : "zmieniona nazwa pliku",
+ "\"%1$s\" is a forbidden file or folder name." : "\"%1$s\" jest zabronioną nazwą pliku lub folderu.",
+ "\"%1$s\" is a forbidden prefix for file or folder names." : "\"%1$s\" jest zabronionym przedrostkiem dla nazw plików lub folderów.",
+ "\"%1$s\" is not allowed inside a file or folder name." : "\"%1$s\" nie jest dozwolone w nazwie pliku ani folderu.",
+ "\"%1$s\" is a forbidden file type." : "\"%1$s\" jest zabronionym typem pliku.",
+ "Filenames must not end with \"%1$s\"." : "Nazwa pliku nie może być zakończona znakiem \"%1$s\"",
"Invalid parent path" : "Nieprawidłowa ścieżka nadrzędna",
"File already exists" : "Plik już istnieje",
"Invalid path" : "Niewłaściwa ścieżka",
"Failed to create file from template" : "Nie udało się utworzyć pliku z szablonu",
"Templates" : "Szablony",
+ "Storage %s cannot be moved" : "Magazynu %s nie można przenieść",
+ "Moving a share (%s) into a shared folder is not allowed" : "Przenoszenie udziału (%s) do folderu współdzielonego jest niedozwolone",
+ "Moving a storage (%s) into a shared folder is not allowed" : "Przenoszenie magazynu (%s) do folderu współdzielonego jest niedozwolone",
+ "Moving a share (%s) into another share (%s) is not allowed" : "Przenoszenie udziału (%s) do innego udziału (%s) jest niedozwolone",
+ "Moving a share (%s) into another storage (%s) is not allowed" : "Przenoszenie udziału (%s) do innego magazynu (%s) jest niedozwolone",
+ "Moving a storage (%s) into a share (%s) is not allowed" : "Przenoszenie magazynu (%s) do udziału (%s) jest niedozwolone",
+ "Moving a storage (%s) into another storage (%s) is not allowed" : "Przenoszenie magazynu (%s) do innego magazynu (%s) jest niedozwolone",
"Path contains invalid segments" : "Ścieżka zawiera nieprawidłowe segmenty",
"Filename is a reserved word" : "Nazwa pliku jest słowem zastrzeżonym",
"Filename contains at least one invalid character" : "Nazwa pliku zawiera co najmniej jeden nieprawidłowy znak",
@@ -130,8 +153,12 @@ OC.L10N.register(
"Enter the database Login for %s" : "Wpisz logowanie do bazy danych dla %s",
"Enter the database name for %s" : "Podaj nazwę bazy danych dla %s",
"You cannot use dots in the database name %s" : "Nie można używać kropek w nazwie bazy danych %s",
+ "MySQL Login and/or password not valid" : "Nieprawidłowy login i/lub hasło do MySQL",
"You need to enter details of an existing account." : "Musisz wprowadzić szczegółowe dane dla istniejącego konta.",
"Oracle connection could not be established" : "Nie można nawiązać połączenia z bazą danych Oracle",
+ "Oracle Login and/or password not valid" : "Nieprawidłowy login i/lub hasło do Oracle",
+ "PostgreSQL Login and/or password not valid" : "Nieprawidłowy login i/lub hasło do PostgreSQL",
+ "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk!" : "Mac OS X nie jest obsługiwany i %s może nie działać poprawnie na tej platformie. Używasz na własne ryzyko!",
"For the best results, please consider using a GNU/Linux server instead." : "Aby uzyskać najlepszy efekt, rozważ użycie serwera GNU/Linux.",
"It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Wydaje się, że ta instancja %s używa PHP dla 32-bitowego środowiska, ponieważ open_basedir został tak skonfigurowany w php.ini. Doprowadzi to do problemów z plikami powyżej 4 GB i jest bardzo niezalecane.",
"Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Usuń ustawienie open_basedir w php.ini lub przełącz na PHP 64-bitowe.",
@@ -154,12 +181,14 @@ OC.L10N.register(
"Share recipient should not be empty" : "Odbiorca udostępnienia nie powinien być pusty",
"Share recipient is not a valid circle" : "Odbiorca udostępnienia nie jest prawidłowym kręgiem",
"Unknown share type" : "Nieznany typ udostępnienia",
+ "Share initiator must be set" : "Należy ustawić inicjatora współdzielenia",
"Cannot share with yourself" : "Nie można dzielić się ze sobą",
"Shared path must be set" : "Należy ustawić ścieżkę współdzieloną",
"Shared path must be either a file or a folder" : "Udostępniona ścieżka musi być plikiem lub katalogiem",
"You cannot share your root folder" : "Nie możesz udostępnić swojego katalogu głównego root",
"You are not allowed to share %s" : "Nie możesz udostępnić %s",
"Valid permissions are required for sharing" : "Do udostępniania wymagane są ważne uprawnienia",
+ "File shares cannot have create or delete permissions" : "Udostępnione pliki nie mogą mieć uprawnień do tworzenia ani usuwania",
"Cannot increase permissions of %s" : "Nie można zwiększyć uprawnień %s",
"Shares need at least read permissions" : "Udostępnianie wymaga co najmniej uprawnień do odczytu",
"Files cannot be shared with delete permissions" : "Pliki nie mogą zostać udostępnione z prawem do usuwania",
@@ -168,18 +197,26 @@ OC.L10N.register(
"Expiration date is enforced" : "Obowiązuje data ważności",
"_Cannot set expiration date more than %n day in the future_::_Cannot set expiration date more than %n days in the future_" : ["Nie można utworzyć daty wygaśnięcia na %n dzień do przodu","Nie można utworzyć daty wygaśnięcia na %n dni do przodu","Nie można utworzyć daty wygaśnięcia na %n dni do przodu","Nie można utworzyć daty wygaśnięcia na %n dni do przodu"],
"Sharing is only allowed with group members" : "Udostępnianie jest dozwolone tylko członkom grupy",
+ "Sharing %s failed, because this item is already shared with the account %s" : "Udostępnianie %s nie powiodło się, ponieważ ten element jest już współdzielony z kontem %s",
"Group sharing is now allowed" : "Udostępnianie grupowe jest teraz dozwolone",
"Sharing is only allowed within your own groups" : "Udostępnianie jest dozwolone wyłącznie w obrębie własnych grup",
"Path is already shared with this group" : "Ścieżka jest już udostępniona tej grupie",
"Link sharing is not allowed" : "Udostępnianie odnośników jest niedozwolone",
"Public upload is not allowed" : "Przesyłanie publiczne nie jest dozwolone",
+ "You cannot share a folder that contains other shares" : "Nie można udostępnić folderu zawierającego inne udostępnienia",
"Sharing is disabled" : "Udostępnianie jest wyłączone",
"Sharing is disabled for you" : "Udostępnianie jest dla Ciebie wyłączone",
"Cannot share with the share owner" : "Nie można udostępnić właścicielowi udziału",
"Share does not have a full ID" : "Udział nie ma pełnego identyfikatora",
"Cannot change share type" : "Nie można zmienić typu udziału",
"Can only update recipient on user shares" : "Może aktualizować odbiorców tylko w przypadku udziałów użytkownika",
+ "Cannot enable sending the password by Talk with an empty password" : "Nie można włączyć wysyłania hasła przez Talk przy pustym haśle",
+ "Cannot enable sending the password by Talk without setting a new password" : "Nie można włączyć wysyłania hasła przez Talk bez ustawienia nowego hasła",
+ "Cannot disable sending the password by Talk without setting a new password" : "Nie można wyłączyć wysyłania hasła przez Talk bez ustawienia nowego hasła",
+ "Share provider does not support accepting" : "Dostawca współdzielenia nie obsługuje przyjmowania",
+ "Cannot change target of link share" : "Nie można zmienić celu współdzielonego linku",
"Invalid share recipient" : "Nieprawidłowy odbiorca udostępnienia",
+ "Group \"%s\" does not exist" : "Grupa \"%s\" nie istnieje",
"The requested share does not exist anymore" : "Żądane udostępnienie już nie istnieje",
"The requested share comes from a disabled user" : "Żądane udostępnienie pochodzi od wyłączonego użytkownika",
"The user was not created because the user limit has been reached. Check your notifications to learn more." : "Użytkownik nie został utworzony, ponieważ osiągnięto limit użytkowników. Sprawdź swoje powiadomienia, aby dowiedzieć się więcej.",
@@ -238,6 +275,7 @@ OC.L10N.register(
"A valid Login must be provided" : "Należy podać poprawny login",
"Login contains whitespace at the beginning or at the end" : "Login zawiera spacje na początku lub na końcu",
"Login must not consist of dots only" : "Login nie może składać się wyłącznie z kropek",
+ "Username is too long" : "Nazwa użytkownika jest zbyt długa",
"Login is invalid because files already exist for this user" : "Login jest nieprawidłowy, ponieważ dla tego użytkownika istnieją już pliki",
"Account disabled" : "Konto wyłączone",
"Login canceled by app" : "Logowanie anulowane przez aplikację",
@@ -275,6 +313,7 @@ OC.L10N.register(
"Your data directory must be an absolute path." : "Katalog danych musi mieć ścieżkę absolutną.",
"Check the value of \"datadirectory\" in your configuration." : "Sprawdź wartość \"datadirectory\" w swojej konfiguracji.",
"Your data directory is invalid." : "Katalog danych jest nieprawidłowy.",
+ "Ensure there is a file called \"%1$s\" in the root of the data directory. It should have the content: \"%2$s\"" : "Upewnij się, że w katalogu głównym danych znajduje się plik o nazwie \"%1$s\". Powinien on zawierać: \"%2$s\"",
"Action \"%s\" not supported or implemented." : "Akcja \"%s\" jest niewspierana lub niezaimplementowana.",
"Authentication failed, wrong token or provider ID given" : "Uwierzytelnienie nie powiodło się, podano nieprawidłowy token lub ID dostawcy",
"Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Brak parametrów w celu uzupełnienia żądania. Brakujące parametry: \"%s\"",
@@ -286,34 +325,114 @@ OC.L10N.register(
"Storage connection error. %s" : "Błąd połączenia z magazynem. %s",
"Storage is temporarily not available" : "Magazyn jest tymczasowo niedostępny",
"Storage connection timeout. %s" : "Limit czasu połączenia do magazynu. %s",
+ "To allow this check to run you have to make sure that your Web server can connect to itself. Therefore it must be able to resolve and connect to at least one of its `trusted_domains` or the `overwrite.cli.url`. This failure may be the result of a server-side DNS mismatch or outbound firewall rule." : "Aby umożliwić wykonanie tego sprawdzenia, upewnij się, że serwer WWW może połączyć się sam ze sobą. Musi on być w stanie rozpoznać i połączyć się przynajmniej z jedną z wartości 'trusted_domains' lub 'overwrite.cli.url'. Błąd ten może być wynikiem niezgodności DNS po stronie serwera lub reguły zapory sieciowej wychodzącej.",
"Transcribe audio" : "Transkrypcja dźwięku",
"Transcribe the things said in an audio" : "Transkrypcja wypowiedzi w formie audio",
"Audio input" : "Wejście dźwięku",
"The audio to transcribe" : "Dźwięk do transkrypcji",
"Transcription" : "Transkrypcja",
"The transcribed text" : "Tekst transkrypcji",
+ "Chat with an agent" : "Czat z agentem",
+ "Chat message" : "Wiadomość czatu",
+ "A chat message to send to the agent." : "Wiadomość czatu do wysłania do agenta.",
"Confirmation" : "Potwierdzenie",
+ "Whether to confirm previously requested actions: 0 for denial and 1 for confirmation." : "Czy potwierdzić wcześniej żądane działania: 0 — odmowa, 1 — potwierdzenie.",
+ "Conversation token" : "Token konwersacji",
+ "A token representing the conversation." : "Token reprezentujący konwersację.",
"Generated response" : "Wygenerowana odpowiedź",
+ "The response from the chat model." : "Odpowiedź z modelu czatu.",
+ "The new conversation token" : "Nowy token konwersacji",
+ "Send this along with the next interaction." : "Wyślij to razem z następną interakcją.",
+ "Requested actions by the agent" : "Żądane działania agenta",
+ "Actions that the agent would like to carry out in JSON format." : "Działania, które agent chciałby wykonać w formacie JSON.",
+ "Context write" : "Zapis kontekstu",
+ "Writes text in a given style based on the provided source material." : "Tworzy tekst w określonym stylu na podstawie dostarczonego materiału źródłowego.",
"Writing style" : "Styl pisania",
+ "Demonstrate a writing style that you would like to immitate" : "Zaprezentuj styl pisania, który chciałbyś naśladować",
"Source material" : "Materiał źródłowy",
+ "The content that would like to be rewritten in the new writing style" : "Treść, która ma zostać przepisana w nowym stylu pisania",
+ "Generated text" : "Wygenerowany tekst",
+ "The generated text with content from the source material in the given style" : "Wygenerowany tekst z treścią z materiału źródłowego w określonym stylu",
+ "Emoji generator" : "Generator emoji",
+ "Takes text and generates a representative emoji for it." : "Przyjmuje tekst i generuje pasującą emoji.",
+ "The text to generate an emoji for" : "Tekst, dla którego ma zostać wygenerowana emoji",
+ "Generated emoji" : "Wygenerowane emoji",
+ "The generated emoji based on the input text" : "Wygenerowana emoji na podstawie wprowadzonego tekstu",
+ "Generate image" : "Generuj obraz",
+ "Generate an image from a text prompt" : "Wygeneruj obraz z opisu tekstowego",
+ "Prompt" : "Polecenie",
"Describe the image you want to generate" : "Opisz obraz, który chcesz wygenerować",
"Number of images" : "Liczba obrazów",
"How many images to generate" : "Ile obrazów wygenerować",
"Output images" : "Obrazy wyjściowe",
"The generated images" : "Wygenerowane obrazy",
+ "Generate speech" : "Generuj mowę",
+ "Generate speech from a transcript" : "Wygeneruj mowę z transkryptu",
+ "Write transcript that you want the assistant to generate speech from" : "Napisz transkrypt, na podstawie którego asystent ma wygenerować mowę",
+ "Output speech" : "Wygenerowana mowa",
+ "The generated speech" : "Wygenerowana mowa",
+ "Free text to text prompt" : "Dowolny tekst jako polecenie wejściowe",
+ "Runs an arbitrary prompt through a language model that returns a reply" : "Przetwarza dowolne polecenie za pomocą modelu językowego, który zwraca odpowiedź",
+ "Describe a task that you want the assistant to do or ask a question" : "Opisz zadanie, które ma wykonać asystent, lub zadaj pytanie",
+ "Generated reply" : "Wygenerowana odpowiedź",
+ "The generated text from the assistant" : "Wygenerowany tekst od asystenta",
"Change Tone" : "Zmień ton wypowiedzi",
+ "Change the tone of a piece of text." : "Zmień ton fragmentu tekstu",
"Write a text that you want the assistant to rewrite in another tone." : "Napisz tekst, który chcesz, aby asystent napisał inaczej.",
"Desired tone" : "Pożądany ton wypowiedzi",
"In which tone should your text be rewritten?" : "W jakim tonie powinien zostać napisany Twój tekst?",
"The rewritten text in the desired tone, written by the assistant:" : "Przepisany tekst w pożądanym tonie, napisany przez asystenta:",
"Chat" : "Rozmowa",
+ "Chat with the assistant" : "Czat z asystentem",
+ "System prompt" : "Polecenie systemowe",
+ "Define rules and assumptions that the assistant should follow during the conversation." : "Określ zasady i założenia, których asystent powinien przestrzegać podczas rozmowy",
"Chat history" : "Historia rozmów",
+ "The history of chat messages before the current message, starting with a message by the user" : "Historia wiadomości czatu przed bieżącą wiadomością, zaczynając od wiadomości użytkownika",
+ "Response message" : "Wiadomość odpowiedzi",
+ "The generated response as part of the conversation" : "Wygenerowana odpowiedź jako część rozmowy",
+ "Chat with tools" : "Czat z użyciem narzędzi",
+ "Chat with the language model with tool calling support." : "Czat z modelem językowym z obsługą wywoływania narzędzi",
+ "Tool message" : "Wiadomość narzędzia",
+ "The result of tool calls in the last interaction" : "Wynik wywołań narzędzi w ostatniej interakcji",
+ "Available tools" : "Dostępne narzędzia",
+ "The available tools in JSON format" : "Dostępne narzędzia w formacie JSON",
+ "The response from the chat model" : "Odpowiedź z modelu czatu",
+ "Tool calls" : "Wywołania narzędzi",
+ "Tools call instructions from the model in JSON format" : "Instrukcje wywołań narzędzi z modelu w formacie JSON",
+ "Formalize text" : "Sformalizuj tekst",
+ "Takes a text and makes it sound more formal" : "Pobiera tekst i sprawia, że brzmi bardziej formalnie",
+ "Write a text that you want the assistant to formalize" : "Napisz tekst, który chcesz, aby asystent sformalizował",
+ "Formalized text" : "Sformalizowany tekst",
+ "The formalized text" : "Sformalizowany tekst",
+ "Generate a headline" : "Wygeneruj nagłówek",
"Generates a possible headline for a text." : "Generuje możliwy nagłówek tekstu.",
"Original text" : "Tekst oryginalny",
+ "The original text to generate a headline for" : "Oryginalny tekst, do którego ma zostać wygenerowany nagłówek",
+ "The generated headline" : "Wygenerowany nagłówek",
+ "Proofread" : "Korekta",
+ "Proofreads a text and lists corrections" : "Sprawdza tekst i podaje poprawki",
"Text" : "Tekst",
+ "The text to proofread" : "Tekst do korekty",
+ "Corrections" : "Poprawki",
+ "The corrections that should be made in your text" : "Poprawki, które należy wprowadzić w Twoim tekście",
+ "Reformulate text" : "Przekształć tekst",
+ "Takes a text and reformulates it" : "Pobiera tekst i przekształca go",
+ "Write a text that you want the assistant to reformulate" : "Napisz tekst, który chcesz, aby asystent przekształcił",
+ "Reformulated text" : "Przekształcony tekst",
+ "The reformulated text, written by the assistant" : "Przekształcony tekst napisany przez asystenta",
+ "Simplify text" : "Uprość tekst",
+ "Takes a text and simplifies it" : "Pobiera tekst i upraszcza go",
+ "Write a text that you want the assistant to simplify" : "Napisz tekst, który chcesz, aby asystent uprościł",
+ "Simplified text" : "Uproszczony tekst",
+ "The simplified text" : "Uproszczony tekst",
"Summarize" : "Podsumuj",
+ "Summarizes a text" : "Tworzy podsumowanie tekstu",
+ "The original text to summarize" : "Oryginalny tekst do podsumowania",
"Summary" : "Podsumowanie",
+ "The generated summary" : "Wygenerowane podsumowanie",
"Extract topics" : "Wyodrębnij tematy",
+ "Extracts topics from a text and outputs them separated by commas" : "Wydobywa tematy z tekstu i zwraca je oddzielone przecinkami",
+ "The original text to extract topics from" : "Oryginalny tekst, z którego mają zostać wydobyte tematy",
"Topics" : "Tematy",
"The list of extracted topics" : "Lista wyodrębnionych tematów",
"Translate" : "Tłumaczenie",
@@ -332,6 +451,7 @@ OC.L10N.register(
"Summarizes text by reducing its length without losing key information." : "Podsumowuje tekst, zmniejszając jego długość bez utraty kluczowych informacji.",
"Extracts topics from a text and outputs them separated by commas." : "Wyodrębnia tematy z tekstu i wyświetla je oddzielone przecinkami.",
"File is currently busy, please try again later" : "Plik jest obecnie niedostępny, spróbuj później",
- "Cannot download file" : "Nie można pobrać pliku"
+ "Cannot download file" : "Nie można pobrać pliku",
+ "Login is too long" : "Login jest zbyt długi"
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
diff --git a/lib/l10n/pl.json b/lib/l10n/pl.json
index ee8cd672e0e..cfdcc25a3a3 100644
--- a/lib/l10n/pl.json
+++ b/lib/l10n/pl.json
@@ -36,6 +36,7 @@
"Server version %s or higher is required." : "Wymagana jest wersja serwera %s lub wyższa.",
"Server version %s or lower is required." : "Wymagana jest wersja serwera %s lub niższa.",
"Logged in account must be an admin, a sub admin or gotten special right to access this setting" : "Zalogowane konto musi być administratorem, subadministratorem lub posiadać specjalne uprawnienia, aby uzyskać dostęp do tego ustawienia",
+ "Your current IP address doesn't allow you to perform admin actions" : "Twój obecny adres IP nie pozwala na wykonywanie działań administracyjnych",
"Logged in account must be an admin or sub admin" : "Zalogowane konto musi być administratorem lub subadministratorem",
"Logged in account must be an admin" : "Zalogowane konto musi być administratorem",
"Wiping of device %s has started" : "Rozpoczęto czyszczenie urządzenia %s",
@@ -56,7 +57,11 @@
"Avatar image is not square" : "Obraz awatara nie jest kwadratowy",
"Files" : "Pliki",
"View profile" : "Zobacz profil",
+ "same time" : "jednocześnie",
"_%nh_::_%nh_" : ["%nh","%nh","%nh","%ngodz."],
+ "_%nm_::_%nm_" : ["%nmin","%nmin","%nmin","%nmin"],
+ "%s ahead" : "o %s wcześniej",
+ "%s behind" : "o %s później",
"Local time: %s" : "Czas lokalny: %s",
"today" : "dzisiaj",
"tomorrow" : "jutro",
@@ -79,14 +84,32 @@
"seconds ago" : "przed chwilą",
"Empty file" : "Pusty plik",
"Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Moduł o ID: %s nie istnieje. Włącz go w ustawieniach aplikacji lub skontaktuj się z administratorem.",
+ "No file conversion providers available" : "Brak dostępnych usług konwersji plików.",
+ "File is too large to convert" : "Plik jest zbyt duży, aby go przekonwertować.",
+ "Destination does not match conversion extension" : "Docelowy format nie odpowiada rozszerzeniu konwersji",
+ "Could not convert file" : "Nie można przekonwertować pliku",
+ "Destination does not exist" : "Folder docelowy nie istnieje",
+ "Destination is not creatable" : "Nie można utworzyć folderu docelowego",
"Dot files are not allowed" : "Pliki z kropką są niedozwolone",
"%1$s (renamed)" : "%1$s (zmieniona nazwa)",
"renamed file" : "zmieniona nazwa pliku",
+ "\"%1$s\" is a forbidden file or folder name." : "\"%1$s\" jest zabronioną nazwą pliku lub folderu.",
+ "\"%1$s\" is a forbidden prefix for file or folder names." : "\"%1$s\" jest zabronionym przedrostkiem dla nazw plików lub folderów.",
+ "\"%1$s\" is not allowed inside a file or folder name." : "\"%1$s\" nie jest dozwolone w nazwie pliku ani folderu.",
+ "\"%1$s\" is a forbidden file type." : "\"%1$s\" jest zabronionym typem pliku.",
+ "Filenames must not end with \"%1$s\"." : "Nazwa pliku nie może być zakończona znakiem \"%1$s\"",
"Invalid parent path" : "Nieprawidłowa ścieżka nadrzędna",
"File already exists" : "Plik już istnieje",
"Invalid path" : "Niewłaściwa ścieżka",
"Failed to create file from template" : "Nie udało się utworzyć pliku z szablonu",
"Templates" : "Szablony",
+ "Storage %s cannot be moved" : "Magazynu %s nie można przenieść",
+ "Moving a share (%s) into a shared folder is not allowed" : "Przenoszenie udziału (%s) do folderu współdzielonego jest niedozwolone",
+ "Moving a storage (%s) into a shared folder is not allowed" : "Przenoszenie magazynu (%s) do folderu współdzielonego jest niedozwolone",
+ "Moving a share (%s) into another share (%s) is not allowed" : "Przenoszenie udziału (%s) do innego udziału (%s) jest niedozwolone",
+ "Moving a share (%s) into another storage (%s) is not allowed" : "Przenoszenie udziału (%s) do innego magazynu (%s) jest niedozwolone",
+ "Moving a storage (%s) into a share (%s) is not allowed" : "Przenoszenie magazynu (%s) do udziału (%s) jest niedozwolone",
+ "Moving a storage (%s) into another storage (%s) is not allowed" : "Przenoszenie magazynu (%s) do innego magazynu (%s) jest niedozwolone",
"Path contains invalid segments" : "Ścieżka zawiera nieprawidłowe segmenty",
"Filename is a reserved word" : "Nazwa pliku jest słowem zastrzeżonym",
"Filename contains at least one invalid character" : "Nazwa pliku zawiera co najmniej jeden nieprawidłowy znak",
@@ -128,8 +151,12 @@
"Enter the database Login for %s" : "Wpisz logowanie do bazy danych dla %s",
"Enter the database name for %s" : "Podaj nazwę bazy danych dla %s",
"You cannot use dots in the database name %s" : "Nie można używać kropek w nazwie bazy danych %s",
+ "MySQL Login and/or password not valid" : "Nieprawidłowy login i/lub hasło do MySQL",
"You need to enter details of an existing account." : "Musisz wprowadzić szczegółowe dane dla istniejącego konta.",
"Oracle connection could not be established" : "Nie można nawiązać połączenia z bazą danych Oracle",
+ "Oracle Login and/or password not valid" : "Nieprawidłowy login i/lub hasło do Oracle",
+ "PostgreSQL Login and/or password not valid" : "Nieprawidłowy login i/lub hasło do PostgreSQL",
+ "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk!" : "Mac OS X nie jest obsługiwany i %s może nie działać poprawnie na tej platformie. Używasz na własne ryzyko!",
"For the best results, please consider using a GNU/Linux server instead." : "Aby uzyskać najlepszy efekt, rozważ użycie serwera GNU/Linux.",
"It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Wydaje się, że ta instancja %s używa PHP dla 32-bitowego środowiska, ponieważ open_basedir został tak skonfigurowany w php.ini. Doprowadzi to do problemów z plikami powyżej 4 GB i jest bardzo niezalecane.",
"Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Usuń ustawienie open_basedir w php.ini lub przełącz na PHP 64-bitowe.",
@@ -152,12 +179,14 @@
"Share recipient should not be empty" : "Odbiorca udostępnienia nie powinien być pusty",
"Share recipient is not a valid circle" : "Odbiorca udostępnienia nie jest prawidłowym kręgiem",
"Unknown share type" : "Nieznany typ udostępnienia",
+ "Share initiator must be set" : "Należy ustawić inicjatora współdzielenia",
"Cannot share with yourself" : "Nie można dzielić się ze sobą",
"Shared path must be set" : "Należy ustawić ścieżkę współdzieloną",
"Shared path must be either a file or a folder" : "Udostępniona ścieżka musi być plikiem lub katalogiem",
"You cannot share your root folder" : "Nie możesz udostępnić swojego katalogu głównego root",
"You are not allowed to share %s" : "Nie możesz udostępnić %s",
"Valid permissions are required for sharing" : "Do udostępniania wymagane są ważne uprawnienia",
+ "File shares cannot have create or delete permissions" : "Udostępnione pliki nie mogą mieć uprawnień do tworzenia ani usuwania",
"Cannot increase permissions of %s" : "Nie można zwiększyć uprawnień %s",
"Shares need at least read permissions" : "Udostępnianie wymaga co najmniej uprawnień do odczytu",
"Files cannot be shared with delete permissions" : "Pliki nie mogą zostać udostępnione z prawem do usuwania",
@@ -166,18 +195,26 @@
"Expiration date is enforced" : "Obowiązuje data ważności",
"_Cannot set expiration date more than %n day in the future_::_Cannot set expiration date more than %n days in the future_" : ["Nie można utworzyć daty wygaśnięcia na %n dzień do przodu","Nie można utworzyć daty wygaśnięcia na %n dni do przodu","Nie można utworzyć daty wygaśnięcia na %n dni do przodu","Nie można utworzyć daty wygaśnięcia na %n dni do przodu"],
"Sharing is only allowed with group members" : "Udostępnianie jest dozwolone tylko członkom grupy",
+ "Sharing %s failed, because this item is already shared with the account %s" : "Udostępnianie %s nie powiodło się, ponieważ ten element jest już współdzielony z kontem %s",
"Group sharing is now allowed" : "Udostępnianie grupowe jest teraz dozwolone",
"Sharing is only allowed within your own groups" : "Udostępnianie jest dozwolone wyłącznie w obrębie własnych grup",
"Path is already shared with this group" : "Ścieżka jest już udostępniona tej grupie",
"Link sharing is not allowed" : "Udostępnianie odnośników jest niedozwolone",
"Public upload is not allowed" : "Przesyłanie publiczne nie jest dozwolone",
+ "You cannot share a folder that contains other shares" : "Nie można udostępnić folderu zawierającego inne udostępnienia",
"Sharing is disabled" : "Udostępnianie jest wyłączone",
"Sharing is disabled for you" : "Udostępnianie jest dla Ciebie wyłączone",
"Cannot share with the share owner" : "Nie można udostępnić właścicielowi udziału",
"Share does not have a full ID" : "Udział nie ma pełnego identyfikatora",
"Cannot change share type" : "Nie można zmienić typu udziału",
"Can only update recipient on user shares" : "Może aktualizować odbiorców tylko w przypadku udziałów użytkownika",
+ "Cannot enable sending the password by Talk with an empty password" : "Nie można włączyć wysyłania hasła przez Talk przy pustym haśle",
+ "Cannot enable sending the password by Talk without setting a new password" : "Nie można włączyć wysyłania hasła przez Talk bez ustawienia nowego hasła",
+ "Cannot disable sending the password by Talk without setting a new password" : "Nie można wyłączyć wysyłania hasła przez Talk bez ustawienia nowego hasła",
+ "Share provider does not support accepting" : "Dostawca współdzielenia nie obsługuje przyjmowania",
+ "Cannot change target of link share" : "Nie można zmienić celu współdzielonego linku",
"Invalid share recipient" : "Nieprawidłowy odbiorca udostępnienia",
+ "Group \"%s\" does not exist" : "Grupa \"%s\" nie istnieje",
"The requested share does not exist anymore" : "Żądane udostępnienie już nie istnieje",
"The requested share comes from a disabled user" : "Żądane udostępnienie pochodzi od wyłączonego użytkownika",
"The user was not created because the user limit has been reached. Check your notifications to learn more." : "Użytkownik nie został utworzony, ponieważ osiągnięto limit użytkowników. Sprawdź swoje powiadomienia, aby dowiedzieć się więcej.",
@@ -236,6 +273,7 @@
"A valid Login must be provided" : "Należy podać poprawny login",
"Login contains whitespace at the beginning or at the end" : "Login zawiera spacje na początku lub na końcu",
"Login must not consist of dots only" : "Login nie może składać się wyłącznie z kropek",
+ "Username is too long" : "Nazwa użytkownika jest zbyt długa",
"Login is invalid because files already exist for this user" : "Login jest nieprawidłowy, ponieważ dla tego użytkownika istnieją już pliki",
"Account disabled" : "Konto wyłączone",
"Login canceled by app" : "Logowanie anulowane przez aplikację",
@@ -273,6 +311,7 @@
"Your data directory must be an absolute path." : "Katalog danych musi mieć ścieżkę absolutną.",
"Check the value of \"datadirectory\" in your configuration." : "Sprawdź wartość \"datadirectory\" w swojej konfiguracji.",
"Your data directory is invalid." : "Katalog danych jest nieprawidłowy.",
+ "Ensure there is a file called \"%1$s\" in the root of the data directory. It should have the content: \"%2$s\"" : "Upewnij się, że w katalogu głównym danych znajduje się plik o nazwie \"%1$s\". Powinien on zawierać: \"%2$s\"",
"Action \"%s\" not supported or implemented." : "Akcja \"%s\" jest niewspierana lub niezaimplementowana.",
"Authentication failed, wrong token or provider ID given" : "Uwierzytelnienie nie powiodło się, podano nieprawidłowy token lub ID dostawcy",
"Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Brak parametrów w celu uzupełnienia żądania. Brakujące parametry: \"%s\"",
@@ -284,34 +323,114 @@
"Storage connection error. %s" : "Błąd połączenia z magazynem. %s",
"Storage is temporarily not available" : "Magazyn jest tymczasowo niedostępny",
"Storage connection timeout. %s" : "Limit czasu połączenia do magazynu. %s",
+ "To allow this check to run you have to make sure that your Web server can connect to itself. Therefore it must be able to resolve and connect to at least one of its `trusted_domains` or the `overwrite.cli.url`. This failure may be the result of a server-side DNS mismatch or outbound firewall rule." : "Aby umożliwić wykonanie tego sprawdzenia, upewnij się, że serwer WWW może połączyć się sam ze sobą. Musi on być w stanie rozpoznać i połączyć się przynajmniej z jedną z wartości 'trusted_domains' lub 'overwrite.cli.url'. Błąd ten może być wynikiem niezgodności DNS po stronie serwera lub reguły zapory sieciowej wychodzącej.",
"Transcribe audio" : "Transkrypcja dźwięku",
"Transcribe the things said in an audio" : "Transkrypcja wypowiedzi w formie audio",
"Audio input" : "Wejście dźwięku",
"The audio to transcribe" : "Dźwięk do transkrypcji",
"Transcription" : "Transkrypcja",
"The transcribed text" : "Tekst transkrypcji",
+ "Chat with an agent" : "Czat z agentem",
+ "Chat message" : "Wiadomość czatu",
+ "A chat message to send to the agent." : "Wiadomość czatu do wysłania do agenta.",
"Confirmation" : "Potwierdzenie",
+ "Whether to confirm previously requested actions: 0 for denial and 1 for confirmation." : "Czy potwierdzić wcześniej żądane działania: 0 — odmowa, 1 — potwierdzenie.",
+ "Conversation token" : "Token konwersacji",
+ "A token representing the conversation." : "Token reprezentujący konwersację.",
"Generated response" : "Wygenerowana odpowiedź",
+ "The response from the chat model." : "Odpowiedź z modelu czatu.",
+ "The new conversation token" : "Nowy token konwersacji",
+ "Send this along with the next interaction." : "Wyślij to razem z następną interakcją.",
+ "Requested actions by the agent" : "Żądane działania agenta",
+ "Actions that the agent would like to carry out in JSON format." : "Działania, które agent chciałby wykonać w formacie JSON.",
+ "Context write" : "Zapis kontekstu",
+ "Writes text in a given style based on the provided source material." : "Tworzy tekst w określonym stylu na podstawie dostarczonego materiału źródłowego.",
"Writing style" : "Styl pisania",
+ "Demonstrate a writing style that you would like to immitate" : "Zaprezentuj styl pisania, który chciałbyś naśladować",
"Source material" : "Materiał źródłowy",
+ "The content that would like to be rewritten in the new writing style" : "Treść, która ma zostać przepisana w nowym stylu pisania",
+ "Generated text" : "Wygenerowany tekst",
+ "The generated text with content from the source material in the given style" : "Wygenerowany tekst z treścią z materiału źródłowego w określonym stylu",
+ "Emoji generator" : "Generator emoji",
+ "Takes text and generates a representative emoji for it." : "Przyjmuje tekst i generuje pasującą emoji.",
+ "The text to generate an emoji for" : "Tekst, dla którego ma zostać wygenerowana emoji",
+ "Generated emoji" : "Wygenerowane emoji",
+ "The generated emoji based on the input text" : "Wygenerowana emoji na podstawie wprowadzonego tekstu",
+ "Generate image" : "Generuj obraz",
+ "Generate an image from a text prompt" : "Wygeneruj obraz z opisu tekstowego",
+ "Prompt" : "Polecenie",
"Describe the image you want to generate" : "Opisz obraz, który chcesz wygenerować",
"Number of images" : "Liczba obrazów",
"How many images to generate" : "Ile obrazów wygenerować",
"Output images" : "Obrazy wyjściowe",
"The generated images" : "Wygenerowane obrazy",
+ "Generate speech" : "Generuj mowę",
+ "Generate speech from a transcript" : "Wygeneruj mowę z transkryptu",
+ "Write transcript that you want the assistant to generate speech from" : "Napisz transkrypt, na podstawie którego asystent ma wygenerować mowę",
+ "Output speech" : "Wygenerowana mowa",
+ "The generated speech" : "Wygenerowana mowa",
+ "Free text to text prompt" : "Dowolny tekst jako polecenie wejściowe",
+ "Runs an arbitrary prompt through a language model that returns a reply" : "Przetwarza dowolne polecenie za pomocą modelu językowego, który zwraca odpowiedź",
+ "Describe a task that you want the assistant to do or ask a question" : "Opisz zadanie, które ma wykonać asystent, lub zadaj pytanie",
+ "Generated reply" : "Wygenerowana odpowiedź",
+ "The generated text from the assistant" : "Wygenerowany tekst od asystenta",
"Change Tone" : "Zmień ton wypowiedzi",
+ "Change the tone of a piece of text." : "Zmień ton fragmentu tekstu",
"Write a text that you want the assistant to rewrite in another tone." : "Napisz tekst, który chcesz, aby asystent napisał inaczej.",
"Desired tone" : "Pożądany ton wypowiedzi",
"In which tone should your text be rewritten?" : "W jakim tonie powinien zostać napisany Twój tekst?",
"The rewritten text in the desired tone, written by the assistant:" : "Przepisany tekst w pożądanym tonie, napisany przez asystenta:",
"Chat" : "Rozmowa",
+ "Chat with the assistant" : "Czat z asystentem",
+ "System prompt" : "Polecenie systemowe",
+ "Define rules and assumptions that the assistant should follow during the conversation." : "Określ zasady i założenia, których asystent powinien przestrzegać podczas rozmowy",
"Chat history" : "Historia rozmów",
+ "The history of chat messages before the current message, starting with a message by the user" : "Historia wiadomości czatu przed bieżącą wiadomością, zaczynając od wiadomości użytkownika",
+ "Response message" : "Wiadomość odpowiedzi",
+ "The generated response as part of the conversation" : "Wygenerowana odpowiedź jako część rozmowy",
+ "Chat with tools" : "Czat z użyciem narzędzi",
+ "Chat with the language model with tool calling support." : "Czat z modelem językowym z obsługą wywoływania narzędzi",
+ "Tool message" : "Wiadomość narzędzia",
+ "The result of tool calls in the last interaction" : "Wynik wywołań narzędzi w ostatniej interakcji",
+ "Available tools" : "Dostępne narzędzia",
+ "The available tools in JSON format" : "Dostępne narzędzia w formacie JSON",
+ "The response from the chat model" : "Odpowiedź z modelu czatu",
+ "Tool calls" : "Wywołania narzędzi",
+ "Tools call instructions from the model in JSON format" : "Instrukcje wywołań narzędzi z modelu w formacie JSON",
+ "Formalize text" : "Sformalizuj tekst",
+ "Takes a text and makes it sound more formal" : "Pobiera tekst i sprawia, że brzmi bardziej formalnie",
+ "Write a text that you want the assistant to formalize" : "Napisz tekst, który chcesz, aby asystent sformalizował",
+ "Formalized text" : "Sformalizowany tekst",
+ "The formalized text" : "Sformalizowany tekst",
+ "Generate a headline" : "Wygeneruj nagłówek",
"Generates a possible headline for a text." : "Generuje możliwy nagłówek tekstu.",
"Original text" : "Tekst oryginalny",
+ "The original text to generate a headline for" : "Oryginalny tekst, do którego ma zostać wygenerowany nagłówek",
+ "The generated headline" : "Wygenerowany nagłówek",
+ "Proofread" : "Korekta",
+ "Proofreads a text and lists corrections" : "Sprawdza tekst i podaje poprawki",
"Text" : "Tekst",
+ "The text to proofread" : "Tekst do korekty",
+ "Corrections" : "Poprawki",
+ "The corrections that should be made in your text" : "Poprawki, które należy wprowadzić w Twoim tekście",
+ "Reformulate text" : "Przekształć tekst",
+ "Takes a text and reformulates it" : "Pobiera tekst i przekształca go",
+ "Write a text that you want the assistant to reformulate" : "Napisz tekst, który chcesz, aby asystent przekształcił",
+ "Reformulated text" : "Przekształcony tekst",
+ "The reformulated text, written by the assistant" : "Przekształcony tekst napisany przez asystenta",
+ "Simplify text" : "Uprość tekst",
+ "Takes a text and simplifies it" : "Pobiera tekst i upraszcza go",
+ "Write a text that you want the assistant to simplify" : "Napisz tekst, który chcesz, aby asystent uprościł",
+ "Simplified text" : "Uproszczony tekst",
+ "The simplified text" : "Uproszczony tekst",
"Summarize" : "Podsumuj",
+ "Summarizes a text" : "Tworzy podsumowanie tekstu",
+ "The original text to summarize" : "Oryginalny tekst do podsumowania",
"Summary" : "Podsumowanie",
+ "The generated summary" : "Wygenerowane podsumowanie",
"Extract topics" : "Wyodrębnij tematy",
+ "Extracts topics from a text and outputs them separated by commas" : "Wydobywa tematy z tekstu i zwraca je oddzielone przecinkami",
+ "The original text to extract topics from" : "Oryginalny tekst, z którego mają zostać wydobyte tematy",
"Topics" : "Tematy",
"The list of extracted topics" : "Lista wyodrębnionych tematów",
"Translate" : "Tłumaczenie",
@@ -330,6 +449,7 @@
"Summarizes text by reducing its length without losing key information." : "Podsumowuje tekst, zmniejszając jego długość bez utraty kluczowych informacji.",
"Extracts topics from a text and outputs them separated by commas." : "Wyodrębnia tematy z tekstu i wyświetla je oddzielone przecinkami.",
"File is currently busy, please try again later" : "Plik jest obecnie niedostępny, spróbuj później",
- "Cannot download file" : "Nie można pobrać pliku"
+ "Cannot download file" : "Nie można pobrać pliku",
+ "Login is too long" : "Login jest zbyt długi"
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
} \ No newline at end of file
diff --git a/lib/l10n/sw.js b/lib/l10n/sw.js
index ed407a1c902..1e14a7e863a 100644
--- a/lib/l10n/sw.js
+++ b/lib/l10n/sw.js
@@ -6,6 +6,7 @@ OC.L10N.register(
"Invalid image" : "Taswira si halisi",
"Files" : "Mafaili",
"View profile" : "Angalia wasifu",
+ "Local time: %s" : "Muda wa kawaida: %s",
"_%n year ago_::_%n years ago_" : ["%n year ago","%n years ago"],
"seconds ago" : "sukunde zilizopita",
"%1$s (renamed)" : "%1$s (iliyopew jina jipya)",
@@ -18,6 +19,10 @@ OC.L10N.register(
"Log out" : "Ondoka",
"Accounts" : "Akaunti",
"Email" : "Barua pepe",
+ "Phone" : "Simu",
+ "Twitter" : "Twitter",
+ "Website" : "Wavuti",
+ "Address" : "Anwani",
"About" : "Kuhusu",
"Additional settings" : "Mipangilio ya nyongeza",
"Sunday" : "Jumapili",
diff --git a/lib/l10n/sw.json b/lib/l10n/sw.json
index a94d2dc64e4..a4d0bdc97d8 100644
--- a/lib/l10n/sw.json
+++ b/lib/l10n/sw.json
@@ -4,6 +4,7 @@
"Invalid image" : "Taswira si halisi",
"Files" : "Mafaili",
"View profile" : "Angalia wasifu",
+ "Local time: %s" : "Muda wa kawaida: %s",
"_%n year ago_::_%n years ago_" : ["%n year ago","%n years ago"],
"seconds ago" : "sukunde zilizopita",
"%1$s (renamed)" : "%1$s (iliyopew jina jipya)",
@@ -16,6 +17,10 @@
"Log out" : "Ondoka",
"Accounts" : "Akaunti",
"Email" : "Barua pepe",
+ "Phone" : "Simu",
+ "Twitter" : "Twitter",
+ "Website" : "Wavuti",
+ "Address" : "Anwani",
"About" : "Kuhusu",
"Additional settings" : "Mipangilio ya nyongeza",
"Sunday" : "Jumapili",
diff --git a/lib/l10n/tr.js b/lib/l10n/tr.js
index 17fb3a949f2..5f28ef658ab 100644
--- a/lib/l10n/tr.js
+++ b/lib/l10n/tr.js
@@ -83,9 +83,9 @@ OC.L10N.register(
"_in %n minute_::_in %n minutes_" : ["%n dakika içinde","%n dakika içinde"],
"_%n minute ago_::_%n minutes ago_" : ["%n dakika önce","%n dakika önce"],
"in a few seconds" : "bir kaç saniye içinde",
- "seconds ago" : "saniyeler önce",
+ "seconds ago" : "saniye önce",
"Empty file" : "Dosya boş",
- "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "%s kimlikli modül bulunamadı. Lütfen uygulamalarınız içinden modülü etkinleştirin ya da BT yöneticiniz ile görüşün.",
+ "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "%s kimlikli modül bulunamadı. Lütfen uygulamalarınız içinden modülü kullanıma alın ya da BT yöneticiniz ile görüşün.",
"No file conversion providers available" : "Kullanılabilecek bir dosya dönüştürücü hizmeti sağlayıcı yok",
"File is too large to convert" : "Dosya dönüştürülmek için çok büyük",
"Destination does not match conversion extension" : "Hedef dönüştürme eklentisiyle eşleşmiyor",
@@ -93,6 +93,8 @@ OC.L10N.register(
"Destination does not exist" : "Hedef bulunamadı",
"Destination is not creatable" : "Hedef oluşturulamadı",
"Dot files are not allowed" : "Nokta dosyalarına izin verilmiyor",
+ "%1$s (renamed)" : "%1$s (yeniden adlandırıldı)",
+ "renamed file" : "dosyayı yeniden adlandırdı",
"\"%1$s\" is a forbidden file or folder name." : "\"%1$s\" dosya ya da klasör adı olarak kullanılamaz.",
"\"%1$s\" is a forbidden prefix for file or folder names." : "\"%1$s\" dosya ya da klasör adı ön eki olarak kullanılamaz.",
"\"%1$s\" is not allowed inside a file or folder name." : "\"%1$s\" bir dosya ya da klasör adında kullanılamaz.",
@@ -147,10 +149,10 @@ OC.L10N.register(
"Pronouns" : "Hitaplar",
"Unknown account" : "Hesap bilinmiyor",
"Additional settings" : "Ek ayarlar",
- "Enter the database Login and name for %s" : "%s için veritabanı adını ve kullanıcı adını yazın",
- "Enter the database Login for %s" : "%s için veritabanı kullanıcı adını yazın",
- "Enter the database name for %s" : "%s için veritabanı adını yazın",
- "You cannot use dots in the database name %s" : "%s veritabanı adında nokta kullanamazsınız",
+ "Enter the database Login and name for %s" : "%s için veri tabanı adını ve kullanıcı adını yazın",
+ "Enter the database Login for %s" : "%s için veri tabanı kullanıcı adını yazın",
+ "Enter the database name for %s" : "%s için veri tabanı adını yazın",
+ "You cannot use dots in the database name %s" : "%s veri tabanı adında nokta kullanamazsınız",
"MySQL Login and/or password not valid" : "MySQL kullanıcı adı ve/veya parolası geçersiz",
"You need to enter details of an existing account." : "Var olan bir hesabın bilgilerini yazmalısınız.",
"Oracle connection could not be established" : "Oracle ile bağlantı kurulamadı",
@@ -163,16 +165,16 @@ OC.L10N.register(
"Set an admin Login." : "Bir yönetici kullanıcı adı yazın.",
"Set an admin password." : "Bir yönetici parolası yazın.",
"Cannot create or write into the data directory %s" : "%s veri klasörü oluşturulamadı ya da içine yazılamadı",
- "Sharing backend %s must implement the interface OCP\\Share_Backend" : "Paylaşım arka ucu %s OCP\\Share_Backend arayüzünü desteklemeli",
- "Sharing backend %s not found" : "%s paylaşım arka ucu bulunamadı",
- "Sharing backend for %s not found" : "%s için paylaşım arka ucu bulunamadı",
+ "Sharing backend %s must implement the interface OCP\\Share_Backend" : "Paylaşım arka yüzü %s OCP\\Share_Backend arayüzünü desteklemeli",
+ "Sharing backend %s not found" : "%s paylaşım arka yüzü bulunamadı",
+ "Sharing backend for %s not found" : "%s için paylaşım arka yüzü bulunamadı",
"%1$s shared %2$s with you" : "%1$s, sizinle %2$s ögesini paylaştı",
"Open %s" : "%s ögesini aç",
"%1$s via %2$s" : "%1$s, %2$s aracılığıyla",
"%1$s shared %2$s with you and wants to add:" : "%1$s sizinle %2$s ögesini paylaştı ve eklemenizi istiyor:",
"%1$s shared %2$s with you and wants to add" : "%1$s sizinle %2$s ögesini paylaştı ve eklemenizi istiyor",
"%s added a note to a file shared with you" : "%s sizinle paylaştığı bir dosyaya bir not ekledi",
- "Passwords are enforced for link and mail shares" : "Bağlantı ve e-posta paylaşımları için parolalar zorunludur",
+ "Passwords are enforced for link and mail shares" : "Bağlantı ve e-posta paylaşımları için parola kullanılması zorunlu kılınmış",
"Share recipient is not a valid user" : "Paylaşım alıcısı geçerli bir kullanıcı değil",
"Share recipient is not a valid group" : "Paylaşım alıcısı geçerli bir grup değil",
"Share recipient should be empty" : "Paylaşım alıcısı boş olmalı",
@@ -192,7 +194,7 @@ OC.L10N.register(
"Files cannot be shared with delete permissions" : "Silme izni ile dosya paylaşılamaz",
"Files cannot be shared with create permissions" : "Ekleme izni ile dosya paylaşılamaz",
"Expiration date is in the past" : "Geçerlilik sonu tarihi geçmişte",
- "Expiration date is enforced" : "Geçerlilik sonu tarihi dayatılıyor",
+ "Expiration date is enforced" : "Geçerlilik sonu tarihi zorunlu kılınmış",
"_Cannot set expiration date more than %n day in the future_::_Cannot set expiration date more than %n days in the future_" : ["Paylaşımların geçerlilik süreleri, gelecekte %n günden fazla olamaz","Paylaşımların geçerlilik süreleri, gelecekte %n günden fazla olamaz"],
"Sharing is only allowed with group members" : "Paylaşım yalnızca grup üyeleri ile yapılabilir",
"Sharing %s failed, because this item is already shared with the account %s" : "%s paylaşılamadı. Bu öge zaten %s hesabı ile paylaşılmış",
@@ -202,21 +204,21 @@ OC.L10N.register(
"Link sharing is not allowed" : "Bağlantı paylaşımına izin verilmiyor",
"Public upload is not allowed" : "Herkese açık yüklemeye izin verilmiyor",
"You cannot share a folder that contains other shares" : "Başka paylaşımların bulunduğu bir klasörü paylaşamazsınız",
- "Sharing is disabled" : "Paylaşım devre dışı bırakılmış",
- "Sharing is disabled for you" : "Paylaşım sizin için devre dışı bırakılmış",
+ "Sharing is disabled" : "Paylaşım kullanımdan kaldırılmış",
+ "Sharing is disabled for you" : "Paylaşım sizin için kullanımdan kaldırılmış",
"Cannot share with the share owner" : "Paylaşımı sahibi ile paylaşamazsınız",
"Share does not have a full ID" : "Paylaşımın tam kimliği yok",
"Cannot change share type" : "Paylaşım türü değiştirilemez",
"Can only update recipient on user shares" : "Yalnızca kullanıcı paylaşımlarındaki alıcıyı güncelleyebilir",
- "Cannot enable sending the password by Talk with an empty password" : "Boş bir parola ile Talk uygulaması ile parola gönderme özelliği etkinleştirilemez",
- "Cannot enable sending the password by Talk without setting a new password" : "Yeni bir parola ayarlanmadan Talk uygulaması ile parola gönderme özelliği etkinleştirilemez",
- "Cannot disable sending the password by Talk without setting a new password" : "Yeni bir parola ayarlanmadan Sohbet uygulaması ile parola gönderme devre dışı bırakılamaz",
+ "Cannot enable sending the password by Talk with an empty password" : "Boş bir parola kullanarak Konuş uygulaması ile parola gönderme özelliği açılamaz",
+ "Cannot enable sending the password by Talk without setting a new password" : "Yeni bir parola ayarlanmadan Konuş uygulaması ile parola gönderme özelliği açılamaz",
+ "Cannot disable sending the password by Talk without setting a new password" : "Yeni bir parola ayarlanmadan Konuş uygulaması ile parola gönderme özelliği kapatılamaz",
"Share provider does not support accepting" : "Paylaşım hizmeti sağlayıcısı kabul etmeyi desteklemiyor",
"Cannot change target of link share" : "Bağlantı paylaşımının hedefi değiştirilemedi",
"Invalid share recipient" : "Paylaşım alıcısı geçersiz",
"Group \"%s\" does not exist" : "\"%s\" grubu bulunamadı",
"The requested share does not exist anymore" : "Erişilmek istenilen paylaşım artık yok",
- "The requested share comes from a disabled user" : "Erişilmek istenilen paylaşım devre dışı bırakılmış bir kullanıcıdan geliyor",
+ "The requested share comes from a disabled user" : "Erişilmek istenilen paylaşım kullanımdan kaldırılmış bir kullanıcıdan geliyor",
"The user was not created because the user limit has been reached. Check your notifications to learn more." : "Kullanıcı sayısı sınırına ulaşıldığından kullanıcı eklenemedi. Ayrıntılı bilgi almak için bildirimlerinize bakın.",
"Could not find category \"%s\"" : "\"%s\" kategorisi bulunamadı",
"Input text" : "Giriş metni",
@@ -273,20 +275,21 @@ OC.L10N.register(
"A valid Login must be provided" : "Geçerli bir kullanıcı adı yazmalısınız",
"Login contains whitespace at the beginning or at the end" : "Kullanıcı adının başında ya da sonunda boşluk var",
"Login must not consist of dots only" : "Kullanıcı adı yalnızca noktalardan oluşamaz",
+ "Username is too long" : "Kullanıcı adı çok uzun",
"Login is invalid because files already exist for this user" : "Kullanıcı adı geçersiz, bu kullanıcı için zaten bazı dosyalar var",
- "Account disabled" : "Hesap devre dışı bırakılmış",
+ "Account disabled" : "Hesap kullanımdan kaldırılmış",
"Login canceled by app" : "Oturum açma uygulama tarafından iptal edildi",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "\"%1$s\" uygulaması, şu gereklilikler sağlanmadığı için kurulamıyor: %2$s",
"a safe home for all your data" : "verileriniz için güvenli bir barınak",
- "Application is not enabled" : "Uygulama etkin değil",
+ "Application is not enabled" : "Uygulama kullanıma alınmamış",
"Authentication error" : "Kimlik doğrulama sorunu",
"Token expired. Please reload page." : "Kodun geçerlilik süresi dolmuş. Lütfen sayfayı yenileyin.",
- "No database drivers (sqlite, mysql, or postgresql) installed." : "Herhangi bir veritabanı sürücüsü (sqlite, mysql ya da postgresql) kurulmamış.",
+ "No database drivers (sqlite, mysql, or postgresql) installed." : "Herhangi bir veri tabanı sürücüsü (sqlite, mysql ya da postgresql) kurulmamış.",
"Cannot write into \"config\" directory." : "\"config\" klasörüne yazılamadı.",
"This can usually be fixed by giving the web server write access to the config directory. See %s" : "Bu sorun genellikle, site sunucusuna config klasörüne yazma izni verilerek çözülebilir. %s bölümüne bakın",
"Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Ya da config.php dosyasının salt okunur olarak kalmasını istiyorsanız içindeki \"config_is_read_only\" seçeneğini true olarak ayarlayın. %s bölümüne bakabilirsiniz",
"Cannot write into \"apps\" directory." : "\"apps\" klasörüne yazılamadı.",
- "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Bu sorun genellikle, site sunucusuna apps klasörüne yazma izni verilerek ya da yapılandırma dosyasından uygulama mağazası devre dışı bırakılarak çözülebilir.",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Bu sorun genellikle, site sunucusuna apps klasörüne yazma izni verilerek ya da yapılandırma dosyasından uygulama mağazası kullanımdan kaldırılarak çözülebilir.",
"Cannot create \"data\" directory." : "\"data\" klasörü oluşturulamadı",
"This can usually be fixed by giving the web server write access to the root directory. See %s" : "Bu sorun genellikle, site sunucusuna kök klasöre yazma izni verilerek çözülebilir. %s bölümüne bakın",
"Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "İzinler genellikle, site sunucusuna kök klasöre yazma izni verilerek düzeltilebilir. %s bölümüne bakın.",
@@ -363,6 +366,11 @@ OC.L10N.register(
"How many images to generate" : "Oluşturulacak görsel sayısı",
"Output images" : "Çıktı görselleri",
"The generated images" : "Oluşturulan görseller",
+ "Generate speech" : "Konuşma oluştur",
+ "Generate speech from a transcript" : "Bir yazıya dönüştürmeden konuşma oluştur",
+ "Write transcript that you want the assistant to generate speech from" : "Yardımcının konuşma oluşturmasını istediğiniz yazı dönüştürmesini yazın",
+ "Output speech" : "Konuşma çıktısı",
+ "The generated speech" : "Oluşturulan konuşma",
"Free text to text prompt" : "Ücretsiz yazıdan yazıya istemi",
"Runs an arbitrary prompt through a language model that returns a reply" : "Dil modeli ile bir yanıt döndüren isteğe bağlı bir bilgi istemi çalıştırır",
"Describe a task that you want the assistant to do or ask a question" : "Yardımcının yapmasını istediğiniz bir görevi tanımlayın ya da bir soru sorun",
diff --git a/lib/l10n/tr.json b/lib/l10n/tr.json
index a548f3300cb..2e46571c57f 100644
--- a/lib/l10n/tr.json
+++ b/lib/l10n/tr.json
@@ -81,9 +81,9 @@
"_in %n minute_::_in %n minutes_" : ["%n dakika içinde","%n dakika içinde"],
"_%n minute ago_::_%n minutes ago_" : ["%n dakika önce","%n dakika önce"],
"in a few seconds" : "bir kaç saniye içinde",
- "seconds ago" : "saniyeler önce",
+ "seconds ago" : "saniye önce",
"Empty file" : "Dosya boş",
- "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "%s kimlikli modül bulunamadı. Lütfen uygulamalarınız içinden modülü etkinleştirin ya da BT yöneticiniz ile görüşün.",
+ "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "%s kimlikli modül bulunamadı. Lütfen uygulamalarınız içinden modülü kullanıma alın ya da BT yöneticiniz ile görüşün.",
"No file conversion providers available" : "Kullanılabilecek bir dosya dönüştürücü hizmeti sağlayıcı yok",
"File is too large to convert" : "Dosya dönüştürülmek için çok büyük",
"Destination does not match conversion extension" : "Hedef dönüştürme eklentisiyle eşleşmiyor",
@@ -91,6 +91,8 @@
"Destination does not exist" : "Hedef bulunamadı",
"Destination is not creatable" : "Hedef oluşturulamadı",
"Dot files are not allowed" : "Nokta dosyalarına izin verilmiyor",
+ "%1$s (renamed)" : "%1$s (yeniden adlandırıldı)",
+ "renamed file" : "dosyayı yeniden adlandırdı",
"\"%1$s\" is a forbidden file or folder name." : "\"%1$s\" dosya ya da klasör adı olarak kullanılamaz.",
"\"%1$s\" is a forbidden prefix for file or folder names." : "\"%1$s\" dosya ya da klasör adı ön eki olarak kullanılamaz.",
"\"%1$s\" is not allowed inside a file or folder name." : "\"%1$s\" bir dosya ya da klasör adında kullanılamaz.",
@@ -145,10 +147,10 @@
"Pronouns" : "Hitaplar",
"Unknown account" : "Hesap bilinmiyor",
"Additional settings" : "Ek ayarlar",
- "Enter the database Login and name for %s" : "%s için veritabanı adını ve kullanıcı adını yazın",
- "Enter the database Login for %s" : "%s için veritabanı kullanıcı adını yazın",
- "Enter the database name for %s" : "%s için veritabanı adını yazın",
- "You cannot use dots in the database name %s" : "%s veritabanı adında nokta kullanamazsınız",
+ "Enter the database Login and name for %s" : "%s için veri tabanı adını ve kullanıcı adını yazın",
+ "Enter the database Login for %s" : "%s için veri tabanı kullanıcı adını yazın",
+ "Enter the database name for %s" : "%s için veri tabanı adını yazın",
+ "You cannot use dots in the database name %s" : "%s veri tabanı adında nokta kullanamazsınız",
"MySQL Login and/or password not valid" : "MySQL kullanıcı adı ve/veya parolası geçersiz",
"You need to enter details of an existing account." : "Var olan bir hesabın bilgilerini yazmalısınız.",
"Oracle connection could not be established" : "Oracle ile bağlantı kurulamadı",
@@ -161,16 +163,16 @@
"Set an admin Login." : "Bir yönetici kullanıcı adı yazın.",
"Set an admin password." : "Bir yönetici parolası yazın.",
"Cannot create or write into the data directory %s" : "%s veri klasörü oluşturulamadı ya da içine yazılamadı",
- "Sharing backend %s must implement the interface OCP\\Share_Backend" : "Paylaşım arka ucu %s OCP\\Share_Backend arayüzünü desteklemeli",
- "Sharing backend %s not found" : "%s paylaşım arka ucu bulunamadı",
- "Sharing backend for %s not found" : "%s için paylaşım arka ucu bulunamadı",
+ "Sharing backend %s must implement the interface OCP\\Share_Backend" : "Paylaşım arka yüzü %s OCP\\Share_Backend arayüzünü desteklemeli",
+ "Sharing backend %s not found" : "%s paylaşım arka yüzü bulunamadı",
+ "Sharing backend for %s not found" : "%s için paylaşım arka yüzü bulunamadı",
"%1$s shared %2$s with you" : "%1$s, sizinle %2$s ögesini paylaştı",
"Open %s" : "%s ögesini aç",
"%1$s via %2$s" : "%1$s, %2$s aracılığıyla",
"%1$s shared %2$s with you and wants to add:" : "%1$s sizinle %2$s ögesini paylaştı ve eklemenizi istiyor:",
"%1$s shared %2$s with you and wants to add" : "%1$s sizinle %2$s ögesini paylaştı ve eklemenizi istiyor",
"%s added a note to a file shared with you" : "%s sizinle paylaştığı bir dosyaya bir not ekledi",
- "Passwords are enforced for link and mail shares" : "Bağlantı ve e-posta paylaşımları için parolalar zorunludur",
+ "Passwords are enforced for link and mail shares" : "Bağlantı ve e-posta paylaşımları için parola kullanılması zorunlu kılınmış",
"Share recipient is not a valid user" : "Paylaşım alıcısı geçerli bir kullanıcı değil",
"Share recipient is not a valid group" : "Paylaşım alıcısı geçerli bir grup değil",
"Share recipient should be empty" : "Paylaşım alıcısı boş olmalı",
@@ -190,7 +192,7 @@
"Files cannot be shared with delete permissions" : "Silme izni ile dosya paylaşılamaz",
"Files cannot be shared with create permissions" : "Ekleme izni ile dosya paylaşılamaz",
"Expiration date is in the past" : "Geçerlilik sonu tarihi geçmişte",
- "Expiration date is enforced" : "Geçerlilik sonu tarihi dayatılıyor",
+ "Expiration date is enforced" : "Geçerlilik sonu tarihi zorunlu kılınmış",
"_Cannot set expiration date more than %n day in the future_::_Cannot set expiration date more than %n days in the future_" : ["Paylaşımların geçerlilik süreleri, gelecekte %n günden fazla olamaz","Paylaşımların geçerlilik süreleri, gelecekte %n günden fazla olamaz"],
"Sharing is only allowed with group members" : "Paylaşım yalnızca grup üyeleri ile yapılabilir",
"Sharing %s failed, because this item is already shared with the account %s" : "%s paylaşılamadı. Bu öge zaten %s hesabı ile paylaşılmış",
@@ -200,21 +202,21 @@
"Link sharing is not allowed" : "Bağlantı paylaşımına izin verilmiyor",
"Public upload is not allowed" : "Herkese açık yüklemeye izin verilmiyor",
"You cannot share a folder that contains other shares" : "Başka paylaşımların bulunduğu bir klasörü paylaşamazsınız",
- "Sharing is disabled" : "Paylaşım devre dışı bırakılmış",
- "Sharing is disabled for you" : "Paylaşım sizin için devre dışı bırakılmış",
+ "Sharing is disabled" : "Paylaşım kullanımdan kaldırılmış",
+ "Sharing is disabled for you" : "Paylaşım sizin için kullanımdan kaldırılmış",
"Cannot share with the share owner" : "Paylaşımı sahibi ile paylaşamazsınız",
"Share does not have a full ID" : "Paylaşımın tam kimliği yok",
"Cannot change share type" : "Paylaşım türü değiştirilemez",
"Can only update recipient on user shares" : "Yalnızca kullanıcı paylaşımlarındaki alıcıyı güncelleyebilir",
- "Cannot enable sending the password by Talk with an empty password" : "Boş bir parola ile Talk uygulaması ile parola gönderme özelliği etkinleştirilemez",
- "Cannot enable sending the password by Talk without setting a new password" : "Yeni bir parola ayarlanmadan Talk uygulaması ile parola gönderme özelliği etkinleştirilemez",
- "Cannot disable sending the password by Talk without setting a new password" : "Yeni bir parola ayarlanmadan Sohbet uygulaması ile parola gönderme devre dışı bırakılamaz",
+ "Cannot enable sending the password by Talk with an empty password" : "Boş bir parola kullanarak Konuş uygulaması ile parola gönderme özelliği açılamaz",
+ "Cannot enable sending the password by Talk without setting a new password" : "Yeni bir parola ayarlanmadan Konuş uygulaması ile parola gönderme özelliği açılamaz",
+ "Cannot disable sending the password by Talk without setting a new password" : "Yeni bir parola ayarlanmadan Konuş uygulaması ile parola gönderme özelliği kapatılamaz",
"Share provider does not support accepting" : "Paylaşım hizmeti sağlayıcısı kabul etmeyi desteklemiyor",
"Cannot change target of link share" : "Bağlantı paylaşımının hedefi değiştirilemedi",
"Invalid share recipient" : "Paylaşım alıcısı geçersiz",
"Group \"%s\" does not exist" : "\"%s\" grubu bulunamadı",
"The requested share does not exist anymore" : "Erişilmek istenilen paylaşım artık yok",
- "The requested share comes from a disabled user" : "Erişilmek istenilen paylaşım devre dışı bırakılmış bir kullanıcıdan geliyor",
+ "The requested share comes from a disabled user" : "Erişilmek istenilen paylaşım kullanımdan kaldırılmış bir kullanıcıdan geliyor",
"The user was not created because the user limit has been reached. Check your notifications to learn more." : "Kullanıcı sayısı sınırına ulaşıldığından kullanıcı eklenemedi. Ayrıntılı bilgi almak için bildirimlerinize bakın.",
"Could not find category \"%s\"" : "\"%s\" kategorisi bulunamadı",
"Input text" : "Giriş metni",
@@ -271,20 +273,21 @@
"A valid Login must be provided" : "Geçerli bir kullanıcı adı yazmalısınız",
"Login contains whitespace at the beginning or at the end" : "Kullanıcı adının başında ya da sonunda boşluk var",
"Login must not consist of dots only" : "Kullanıcı adı yalnızca noktalardan oluşamaz",
+ "Username is too long" : "Kullanıcı adı çok uzun",
"Login is invalid because files already exist for this user" : "Kullanıcı adı geçersiz, bu kullanıcı için zaten bazı dosyalar var",
- "Account disabled" : "Hesap devre dışı bırakılmış",
+ "Account disabled" : "Hesap kullanımdan kaldırılmış",
"Login canceled by app" : "Oturum açma uygulama tarafından iptal edildi",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "\"%1$s\" uygulaması, şu gereklilikler sağlanmadığı için kurulamıyor: %2$s",
"a safe home for all your data" : "verileriniz için güvenli bir barınak",
- "Application is not enabled" : "Uygulama etkin değil",
+ "Application is not enabled" : "Uygulama kullanıma alınmamış",
"Authentication error" : "Kimlik doğrulama sorunu",
"Token expired. Please reload page." : "Kodun geçerlilik süresi dolmuş. Lütfen sayfayı yenileyin.",
- "No database drivers (sqlite, mysql, or postgresql) installed." : "Herhangi bir veritabanı sürücüsü (sqlite, mysql ya da postgresql) kurulmamış.",
+ "No database drivers (sqlite, mysql, or postgresql) installed." : "Herhangi bir veri tabanı sürücüsü (sqlite, mysql ya da postgresql) kurulmamış.",
"Cannot write into \"config\" directory." : "\"config\" klasörüne yazılamadı.",
"This can usually be fixed by giving the web server write access to the config directory. See %s" : "Bu sorun genellikle, site sunucusuna config klasörüne yazma izni verilerek çözülebilir. %s bölümüne bakın",
"Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Ya da config.php dosyasının salt okunur olarak kalmasını istiyorsanız içindeki \"config_is_read_only\" seçeneğini true olarak ayarlayın. %s bölümüne bakabilirsiniz",
"Cannot write into \"apps\" directory." : "\"apps\" klasörüne yazılamadı.",
- "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Bu sorun genellikle, site sunucusuna apps klasörüne yazma izni verilerek ya da yapılandırma dosyasından uygulama mağazası devre dışı bırakılarak çözülebilir.",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Bu sorun genellikle, site sunucusuna apps klasörüne yazma izni verilerek ya da yapılandırma dosyasından uygulama mağazası kullanımdan kaldırılarak çözülebilir.",
"Cannot create \"data\" directory." : "\"data\" klasörü oluşturulamadı",
"This can usually be fixed by giving the web server write access to the root directory. See %s" : "Bu sorun genellikle, site sunucusuna kök klasöre yazma izni verilerek çözülebilir. %s bölümüne bakın",
"Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "İzinler genellikle, site sunucusuna kök klasöre yazma izni verilerek düzeltilebilir. %s bölümüne bakın.",
@@ -361,6 +364,11 @@
"How many images to generate" : "Oluşturulacak görsel sayısı",
"Output images" : "Çıktı görselleri",
"The generated images" : "Oluşturulan görseller",
+ "Generate speech" : "Konuşma oluştur",
+ "Generate speech from a transcript" : "Bir yazıya dönüştürmeden konuşma oluştur",
+ "Write transcript that you want the assistant to generate speech from" : "Yardımcının konuşma oluşturmasını istediğiniz yazı dönüştürmesini yazın",
+ "Output speech" : "Konuşma çıktısı",
+ "The generated speech" : "Oluşturulan konuşma",
"Free text to text prompt" : "Ücretsiz yazıdan yazıya istemi",
"Runs an arbitrary prompt through a language model that returns a reply" : "Dil modeli ile bir yanıt döndüren isteğe bağlı bir bilgi istemi çalıştırır",
"Describe a task that you want the assistant to do or ask a question" : "Yardımcının yapmasını istediğiniz bir görevi tanımlayın ya da bir soru sorun",
diff --git a/lib/private/Encryption/EncryptionEventListener.php b/lib/private/Encryption/EncryptionEventListener.php
index 59ac0dea932..d51b4b0d531 100644
--- a/lib/private/Encryption/EncryptionEventListener.php
+++ b/lib/private/Encryption/EncryptionEventListener.php
@@ -17,7 +17,9 @@ use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\EventDispatcher\IEventListener;
use OCP\Files\Events\Node\NodeRenamedEvent;
+use OCP\Files\NotFoundException;
use OCP\IUser;
+use OCP\IUserManager;
use OCP\IUserSession;
use OCP\Share\Events\ShareCreatedEvent;
use OCP\Share\Events\ShareDeletedEvent;
@@ -31,6 +33,7 @@ class EncryptionEventListener implements IEventListener {
private IUserSession $userSession,
private SetupManager $setupManager,
private Manager $encryptionManager,
+ private IUserManager $userManager,
) {
}
@@ -50,10 +53,14 @@ class EncryptionEventListener implements IEventListener {
} elseif ($event instanceof ShareCreatedEvent) {
$this->getUpdate()->postShared($event->getShare()->getNode());
} elseif ($event instanceof ShareDeletedEvent) {
- // In case the unsharing happens in a background job, we don't have
- // a session and we load instead the user from the UserManager
- $owner = $event->getShare()->getNode()->getOwner();
- $this->getUpdate($owner)->postUnshared($event->getShare()->getNode());
+ try {
+ // In case the unsharing happens in a background job, we don't have
+ // a session and we load instead the user from the UserManager
+ $owner = $this->userManager->get($event->getShare()->getShareOwner());
+ $this->getUpdate($owner)->postUnshared($event->getShare()->getNode());
+ } catch (NotFoundException $e) {
+ /* The node was deleted already, nothing to update */
+ }
} elseif ($event instanceof NodeRestoredEvent) {
$this->getUpdate()->postRestore($event->getTarget());
}
@@ -78,7 +85,7 @@ class EncryptionEventListener implements IEventListener {
$this->updater = new Update(
new Util(
new View(),
- \OC::$server->getUserManager(),
+ $this->userManager,
\OC::$server->getGroupManager(),
\OC::$server->getConfig()),
\OC::$server->getEncryptionManager(),
diff --git a/lib/private/Files/Storage/DAV.php b/lib/private/Files/Storage/DAV.php
index 10670d6331a..afd8f87e2de 100644
--- a/lib/private/Files/Storage/DAV.php
+++ b/lib/private/Files/Storage/DAV.php
@@ -350,7 +350,13 @@ class DAV extends Common {
}
}
- return $response->getBody();
+ $content = $response->getBody();
+
+ if ($content === null || is_string($content)) {
+ return false;
+ }
+
+ return $content;
case 'w':
case 'wb':
case 'a':
@@ -390,6 +396,8 @@ class DAV extends Common {
$this->writeBack($tmpFile, $path);
});
}
+
+ return false;
}
public function writeBack(string $tmpFile, string $path): void {
diff --git a/lib/private/Http/Client/Response.php b/lib/private/Http/Client/Response.php
index adf83306d07..dc0b17ab075 100644
--- a/lib/private/Http/Client/Response.php
+++ b/lib/private/Http/Client/Response.php
@@ -11,49 +11,25 @@ namespace OC\Http\Client;
use OCP\Http\Client\IResponse;
use Psr\Http\Message\ResponseInterface;
-/**
- * Class Response
- *
- * @package OC\Http
- */
class Response implements IResponse {
- /** @var ResponseInterface */
- private $response;
-
- /**
- * @var bool
- */
- private $stream;
+ private ResponseInterface $response;
+ private bool $stream;
- /**
- * @param ResponseInterface $response
- * @param bool $stream
- */
- public function __construct(ResponseInterface $response, $stream = false) {
+ public function __construct(ResponseInterface $response, bool $stream = false) {
$this->response = $response;
$this->stream = $stream;
}
- /**
- * @return string|resource
- */
public function getBody() {
return $this->stream ?
$this->response->getBody()->detach():
$this->response->getBody()->getContents();
}
- /**
- * @return int
- */
public function getStatusCode(): int {
return $this->response->getStatusCode();
}
- /**
- * @param string $key
- * @return string
- */
public function getHeader(string $key): string {
$headers = $this->response->getHeader($key);
@@ -64,9 +40,6 @@ class Response implements IResponse {
return $headers[0];
}
- /**
- * @return array
- */
public function getHeaders(): array {
return $this->response->getHeaders();
}
diff --git a/lib/private/Remote/Instance.php b/lib/private/Remote/Instance.php
index ac3233b93c9..b85813ebf71 100644
--- a/lib/private/Remote/Instance.php
+++ b/lib/private/Remote/Instance.php
@@ -123,7 +123,13 @@ class Instance implements IInstance {
private function downloadStatus($url) {
try {
$request = $this->clientService->newClient()->get($url);
- return $request->getBody();
+ $content = $request->getBody();
+
+ // IResponse.getBody responds with null|resource if returning a stream response was requested.
+ // As that's not the case here, we can just ignore the psalm warning by adding an assertion.
+ assert(is_string($content));
+
+ return $content;
} catch (\Exception $e) {
return false;
}
diff --git a/lib/private/Updater/VersionCheck.php b/lib/private/Updater/VersionCheck.php
index 53bfc0d5d5f..be410b06c3e 100644
--- a/lib/private/Updater/VersionCheck.php
+++ b/lib/private/Updater/VersionCheck.php
@@ -105,17 +105,20 @@ class VersionCheck {
}
/**
- * @codeCoverageIgnore
- * @param string $url
- * @return resource|string
* @throws \Exception
*/
- protected function getUrlContent($url) {
- $client = $this->clientService->newClient();
- $response = $client->get($url, [
+ protected function getUrlContent(string $url): string {
+ $response = $this->clientService->newClient()->get($url, [
'timeout' => 5,
]);
- return $response->getBody();
+
+ $content = $response->getBody();
+
+ // IResponse.getBody responds with null|resource if returning a stream response was requested.
+ // As that's not the case here, we can just ignore the psalm warning by adding an assertion.
+ assert(is_string($content));
+
+ return $content;
}
private function computeCategory(): int {
diff --git a/lib/private/legacy/OC_Response.php b/lib/private/legacy/OC_Response.php
index 86274f5fcb7..c45852b4b1d 100644
--- a/lib/private/legacy/OC_Response.php
+++ b/lib/private/legacy/OC_Response.php
@@ -78,7 +78,6 @@ class OC_Response {
header('X-Frame-Options: SAMEORIGIN'); // Disallow iFraming from other domains
header('X-Permitted-Cross-Domain-Policies: none'); // https://www.adobe.com/devnet/adobe-media-server/articles/cross-domain-xml-for-streaming.html
header('X-Robots-Tag: noindex, nofollow'); // https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag
- header('X-XSS-Protection: 1; mode=block'); // Enforce browser based XSS filters
}
}
}
diff --git a/lib/public/Files/Config/Event/UserMountAddedEvent.php b/lib/public/Files/Config/Event/UserMountAddedEvent.php
index f2846f2ff2b..8abd7512188 100644
--- a/lib/public/Files/Config/Event/UserMountAddedEvent.php
+++ b/lib/public/Files/Config/Event/UserMountAddedEvent.php
@@ -11,7 +11,6 @@ namespace OCP\Files\Config\Event;
use OCP\EventDispatcher\Event;
use OCP\Files\Config\ICachedMountInfo;
-use OCP\Files\Mount\IMountPoint;
/**
* Event emitted when a user mount was added.
@@ -20,7 +19,7 @@ use OCP\Files\Mount\IMountPoint;
*/
class UserMountAddedEvent extends Event {
public function __construct(
- public readonly IMountPoint|ICachedMountInfo $mountPoint,
+ public readonly ICachedMountInfo $mountPoint,
) {
parent::__construct();
}
diff --git a/lib/public/Files/Config/Event/UserMountRemovedEvent.php b/lib/public/Files/Config/Event/UserMountRemovedEvent.php
index bdf264c9c4b..0de7cfc4a99 100644
--- a/lib/public/Files/Config/Event/UserMountRemovedEvent.php
+++ b/lib/public/Files/Config/Event/UserMountRemovedEvent.php
@@ -11,7 +11,6 @@ namespace OCP\Files\Config\Event;
use OCP\EventDispatcher\Event;
use OCP\Files\Config\ICachedMountInfo;
-use OCP\Files\Mount\IMountPoint;
/**
* Event emitted when a user mount was removed.
@@ -20,7 +19,7 @@ use OCP\Files\Mount\IMountPoint;
*/
class UserMountRemovedEvent extends Event {
public function __construct(
- public readonly IMountPoint|ICachedMountInfo $mountPoint,
+ public readonly ICachedMountInfo $mountPoint,
) {
parent::__construct();
}
diff --git a/lib/public/Files/Config/Event/UserMountUpdatedEvent.php b/lib/public/Files/Config/Event/UserMountUpdatedEvent.php
index 36d9cd55562..f797bef134e 100644
--- a/lib/public/Files/Config/Event/UserMountUpdatedEvent.php
+++ b/lib/public/Files/Config/Event/UserMountUpdatedEvent.php
@@ -11,7 +11,6 @@ namespace OCP\Files\Config\Event;
use OCP\EventDispatcher\Event;
use OCP\Files\Config\ICachedMountInfo;
-use OCP\Files\Mount\IMountPoint;
/**
* Event emitted when a user mount was moved.
@@ -20,8 +19,8 @@ use OCP\Files\Mount\IMountPoint;
*/
class UserMountUpdatedEvent extends Event {
public function __construct(
- public readonly IMountPoint|ICachedMountInfo $oldMountPoint,
- public readonly IMountPoint|ICachedMountInfo $newMountPoint,
+ public readonly ICachedMountInfo $oldMountPoint,
+ public readonly ICachedMountInfo $newMountPoint,
) {
parent::__construct();
}
diff --git a/lib/public/Http/Client/IResponse.php b/lib/public/Http/Client/IResponse.php
index deec2cf97b1..53032ef2a37 100644
--- a/lib/public/Http/Client/IResponse.php
+++ b/lib/public/Http/Client/IResponse.php
@@ -15,8 +15,9 @@ namespace OCP\Http\Client;
*/
interface IResponse {
/**
- * @return string|resource
+ * @return null|resource|string
* @since 8.1.0
+ * @sicne 8.2.0 with stream enabled, the function returns null or a resource
*/
public function getBody();