{ "translations": {
    "OpenAI Integration" : "OpenAI Integration",
    "Quota exceeded" : "Quota exceeded",
    "Text generation quota exceeded" : "Text generation quota exceeded",
    "Image generation quota exceeded" : "Image generation quota exceeded",
    "Audio transcription quota exceeded" : "Audio transcription quota exceeded",
    "Speech generation quota exceeded" : "Speech generation quota exceeded",
    "View quota" : "View quota",
    "OpenAI's Text to Speech" : "OpenAI's Text to Speech",
    "Invalid models response received" : "Invalid models response received",
    "Default" : "Default",
    "Text generation" : "Text generation",
    "Image generation" : "Image generation",
    "Audio transcription" : "Audio transcription",
    "Text to speech" : "Text to speech",
    "Unknown" : "Unknown",
    "tokens" : "tokens",
    "images" : "images",
    "seconds" : "seconds",
    "characters" : "characters",
    "Unknown error while retrieving quota usage." : "Unknown error while retrieving quota usage.",
    "Unknown text generation error" : "Unknown text generation error",
    "Could not read audio file." : "Could not read audio file.",
    "Unknown audio trancription error" : "Unknown audio trancription error",
    "Unknown image generation error" : "Unknown image generation error",
    "Bad HTTP method" : "Bad HTTP method",
    "Bad credentials" : "Bad credentials",
    "API request error: " : "API request error: ",
    "Invalid API Key/Basic Auth: " : "Invalid API Key/Basic Auth: ",
    "Name" : "Surname",
    "Usage" : "Usage",
    "Quota pool for rule %d" : "Quota pool for rule %d",
    "Detect language" : "Detect language",
    "Maximum output words" : "Maximum output words",
    "The maximum number of words/tokens that can be generated in the output." : "The maximum number of words/tokens that can be generated in the output.",
    "Model" : "Model",
    "The model used to generate the output" : "The model used to generate the output",
    "Analyze images" : "Analyse images",
    "Ask a question about the given images." : "Ask a question about the given images.",
    "Images" : "Images",
    "Images to ask a question about" : "Images to ask a question about",
    "Question" : "Question",
    "What to ask about the image." : "What to ask about the image.",
    "Generated response" : "Generated response",
    "The answer to the question" : "The answer to the question",
    "Completion model" : "Completion model",
    "The model used to generate the completion" : "The model used to generate the completion",
    "Output voice" : "Output voice",
    "The voice used to generate speech" : "The voice used to generate speech",
    "Memories" : "Memories",
    "The memories to be injected into the chat session." : "The memories to be injected into the chat session.",
    "Text-to-speech model" : "Text-to-speech model",
    "The model used to generate the speech" : "The model used to generate the speech",
    "Speed" : "Speed",
    "Speech speed modifier (Valid values: 0.25-4)" : "Speech speed modifier (Valid values: 0.25-4)",
    "Speech speed modifier" : "Speech speed modifier",
    "Remote audio ID" : "Remote audio ID",
    "The ID of the audio response returned by the remote service" : "The ID of the audio response returned by the remote service",
    "Remote audio expiration date" : "Remote audio expiration date",
    "The remote audio response stays available in the service until this date" : "The remote audio response stays available in the service until this date",
    "Language" : "Language",
    "The language of the audio file" : "The language of the audio file",
    "Friendlier" : "Friendlier",
    "More formal" : "More formal",
    "Funnier" : "Funnier",
    "More casual" : "More casual",
    "More urgent" : "More urgent",
    "The maximum number of words/tokens that can be generated in the completion." : "The maximum number of words/tokens that can be generated in the completion.",
    "Change Tone" : "Change Tone",
    "Ask a question about your data." : "Ask a question about your data.",
    "Input text" : "Input text",
    "Write a text that you want the assistant to rewrite in another tone." : "Write a text that you want the assistant to rewrite in another tone.",
    "Desired tone" : "Desired tone",
    "In which tone should your text be rewritten?" : "In which tone should your text be rewritten?",
    "The rewritten text in the desired tone, written by the assistant:" : "The rewritten text in the desired tone, written by the assistant:",
    "Size" : "Size",
    "Optional. The size of the generated images. Must be in 256x256 format. Default is %s" : "Optional. The size of the generated images. Must be in 256x256 format. Default is %s",
    "The model used to generate the images" : "The model used to generate the images",
    "Cannot generate more than 12 images at once" : "Cannot generate more than 12 images at once",
    "Cannot generate less than 1 image" : "Cannot generate less than 1 image",
    "Cannot generate images larger than 4096x4096" : "Cannot generate images larger than 4096x4096",
    "Voice" : "Voice",
    "The voice to use" : "The voice to use",
    "This was generated using Artificial Intelligence." : "This was generated using Artificial Intelligence.",
    "Generate speech" : "Generate speech",
    "Generate speech from a transcript" : "Generate speech from a transcript",
    "Prompt" : "Prompt",
    "Write transcript that you want the assistant to generate speech from" : "Write transcript that you want the assistant to generate speech from",
    "Output speech" : "Output speech",
    "The generated speech" : "The generated speech",
    "Input text cannot be empty" : "Input text cannot be empty",
    "OpenAI and LocalAI integration" : "OpenAI and LocalAI integration",
    "Integration of OpenAI and LocalAI services" : "Integration of OpenAI and LocalAI services",
    "⚠️ The smart pickers have been removed from this app\nas they are now included in the [Assistant app](https://apps.nextcloud.com/apps/assistant).\n\nThis app implements:\n\n* Text generation providers: Free prompt, Summarize, Headline, Context Write, Chat, and Reformulate (using any available large language model)\n* A Translation provider (using any available language model)\n* A SpeechToText provider (using Whisper)\n* An image generation provider\n\n⚠️ Context Write, Summarize, Headline and Reformulate have mainly been tested with OpenAI.\nThey might work when connecting to other services, without any guarantee.\n\nInstead of connecting to the OpenAI API for these, you can also connect to a self-hosted [LocalAI](https://localai.io) instance or [Ollama](https://ollama.com/) instance\nor to any service that implements an API similar to the OpenAI one, for example:\n[IONOS AI Model Hub](https://docs.ionos.com/cloud/ai/ai-model-hub), [Plusserver](https://www.plusserver.com/en/ai-platform/) or [MistralAI](https://mistral.ai).\n\n⚠️ This app is mainly tested with OpenAI. We do not guarantee it works perfectly\nwith other services that implement OpenAI-compatible APIs with slight differences.\n\n## Improve AI task pickup speed\n\nTo avoid task processing execution delay, setup at 4 background job workers in the main server (where Nextcloud is installed). The setup process is documented here: https://docs.nextcloud.com/server/latest/admin_manual/ai/overview.html#improve-ai-task-pickup-speed\n\n## Ethical AI Rating\n### Rating for Text generation using ChatGPT via the OpenAI API: 🔴\n\nNegative:\n* The software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be run on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n\n### Rating for Translation using ChatGPT via the OpenAI API: 🔴\n\nNegative:\n* The software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be run on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n### Rating for Image generation using DALL·E via the OpenAI API: 🔴\n\nNegative:\n* The software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be ran on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via the OpenAI API: 🟡\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can run on-premise\n\nNegative:\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n### Rating for Text-To-Speech via the OpenAI API: 🔴\n\nNegative:\n* The software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be ran on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n### Rating for Text generation via LocalAI: 🟢\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can be ran on-premises\n* The training data is freely available, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n\n### Rating for Image generation using Stable Diffusion via LocalAI : 🟡\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via LocalAI: 🟡\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/)." : "⚠️ The smart pickers have been removed from this app\nas they are now included in the [Assistant app](https://apps.nextcloud.com/apps/assistant).\n\nThis app implements:\n\n* Text generation providers: Free prompt, Summarize, Headline, Context Write, Chat, and Reformulate (using any available large language model)\n* A Translation provider (using any available language model)\n* A SpeechToText provider (using Whisper)\n* An image generation provider\n\n⚠️ Context Write, Summarize, Headline and Reformulate have mainly been tested with OpenAI.\nThey might work when connecting to other services, without any guarantee.\n\nInstead of connecting to the OpenAI API for these, you can also connect to a self-hosted [LocalAI](https://localai.io) instance or [Ollama](https://ollama.com/) instance\nor to any service that implements an API similar to the OpenAI one, for example:\n[IONOS AI Model Hub](https://docs.ionos.com/cloud/ai/ai-model-hub), [Plusserver](https://www.plusserver.com/en/ai-platform/) or [MistralAI](https://mistral.ai).\n\n⚠️ This app is mainly tested with OpenAI. We do not guarantee it works perfectly\nwith other services that implement OpenAI-compatible APIs with slight differences.\n\n## Improve AI task pickup speed\n\nTo avoid task processing execution delay, setup at 4 background job workers in the main server (where Nextcloud is installed). The setup process is documented here: https://docs.nextcloud.com/server/latest/admin_manual/ai/overview.html#improve-ai-task-pickup-speed\n\n## Ethical AI Rating\n### Rating for Text generation using ChatGPT via the OpenAI API: 🔴\n\nNegative:\n* The software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be run on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n\n### Rating for Translation using ChatGPT via the OpenAI API: 🔴\n\nNegative:\n* The software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be run on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n### Rating for Image generation using DALL·E via the OpenAI API: 🔴\n\nNegative:\n* The software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be ran on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via the OpenAI API: 🟡\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can run on-premise\n\nNegative:\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n### Rating for Text-To-Speech via the OpenAI API: 🔴\n\nNegative:\n* The software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be ran on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n### Rating for Text generation via LocalAI: 🟢\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can be ran on-premises\n* The training data is freely available, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n\n### Rating for Image generation using Stable Diffusion via LocalAI : 🟡\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via LocalAI: 🟡\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
    "JSON object. Check the API documentation to get the list of all available parameters. For example: {example}" : "JSON object. Check the API documentation to get the list of all available parameters. For example: {example}",
    "Must be in 256x256 format (default is {default})" : "Must be in 256x256 format (default is {default})",
    "Failed to auto update config" : "Failed to auto update config",
    "Failed to load models" : "Failed to load models",
    "Failed to load quota info" : "Failed to load quota info",
    "OpenAI admin options saved" : "OpenAI admin options saved",
    "Failed to save OpenAI admin options" : "Failed to save OpenAI admin options",
    "The Assistant app is not enabled. You need it to use the features provided by the OpenAI/LocalAI integration app." : "The Assistant app is not enabled. You need it to use the features provided by the OpenAI/LocalAI integration app.",
    "Assistant app" : "Assistant app",
    "Services with an OpenAI-compatible API:" : "Services with an OpenAI-compatible API:",
    "Service URL" : "Service URL",
    "Example: {example}" : "Example: {example}",
    "Leave empty to use {openaiApiUrl}" : "Leave empty to use {openaiApiUrl}",
    "With the current configuration, the target URL used to get the models is:" : "With the current configuration, the target URL used to get the models is:",
    "This should include the address of your LocalAI instance (or any service implementing an API similar to OpenAI) along with the root path of the API. More often than not \"/v1\" at the end is required even if the model list loads without it. This URL will be accessed by your Nextcloud server." : "This should include the address of your LocalAI instance (or any service implementing an API similar to OpenAI) along with the root path of the API. More often than not \"/v1\" at the end is required even if the model list loads without it. This URL will be accessed by your Nextcloud server.",
    "This can be a local address with a port like {example}. In this case, make sure 'allow_local_remote_servers' is set to true in config.php." : "This can be a local address with a port like {example}. In this case, make sure 'allow_local_remote_servers' is set to true in config.php.",
    "Service name (optional)" : "Service name (optional)",
    "Example: LocalAI of university ABC" : "Example: LocalAI of university ABC",
    "This name will be displayed as provider name in the AI admin settings" : "This name will be displayed as provider name in the AI admin settings",
    "Request timeout (seconds)" : "Request timeout (seconds)",
    "Timeout for the request to the external API" : "Timeout for the request to the external API",
    "Authentication" : "Authentication",
    "Authentication method" : "Authentication method",
    "API key" : "API key",
    "Basic Authentication" : "Basic Authentication",
    "API key (mandatory with OpenAI)" : "API key (mandatory with OpenAI)",
    "You can create an API key in your OpenAI account settings" : "You can create an API key in your OpenAI account settings",
    "Basic Auth user" : "Basic Auth user",
    "Basic Auth password" : "Basic Auth password",
    "Text completion endpoint" : "Text completion endpoint",
    "Chat completions" : "Chat completions",
    "Completions" : "Completions",
    "Selection of chat/completion endpoint is not available for OpenAI since it implicitly uses chat completions for \"instruction following\" fine-tuned models." : "Selection of chat/completion endpoint is not available for OpenAI since it implicitly uses chat completions for \"instruction following\" fine-tuned models.",
    "Using the chat endpoint may improve text generation quality for \"instruction following\" fine-tuned models." : "Using the chat endpoint may improve text generation quality for \"instruction following\" fine-tuned models.",
    "Default completion model to use" : "Default completion model to use",
    "More information about OpenAI models" : "More information about OpenAI models",
    "More information about LocalAI models" : "More information about LocalAI models",
    "Extra completion model parameters" : "Extra completion model parameters",
    "Max input tokens per request" : "Max input tokens per request",
    "Split the prompt into chunks with each chunk being no more than the specified number of tokens (0 disables chunking)" : "Split the prompt into chunks with each chunk being no more than the specified number of tokens (0 disables chunking)",
    "Max output tokens per request" : "Max output tokens per request",
    "Maximum number of output tokens generated for a single text generation prompt. This also applies to the Speech-to-Text tasks." : "Maximum number of output tokens generated for a single text generation prompt. This also applies to the Speech-to-Text tasks.",
    "image generation" : "image generation",
    "Default image generation model to use" : "Default image generation model to use",
    "No models to list" : "No models to list",
    "Default image size" : "Default image size",
    "Use authentication for image retrieval request" : "Use authentication for image retrieval request",
    "audio transcription" : "audio transcription",
    "Default transcription model to use" : "Default transcription model to use",
    "text to speech" : "text to speech",
    "Default speech generation model to use" : "Default speech generation model to use",
    "TTS Voices" : "TTS Voices",
    "A list of voices supported by the endpoint you are using. Defaults to openai's list." : "A list of voices supported by the endpoint you are using. Defaults to openai's list.",
    "Default voice to use" : "Default voice to use",
    "Usage limits" : "Usage limits",
    "Usage quotas per time period" : "Usage quotas per time period",
    "A per-user quota for each quota type can be set. If the user has not provided their own API key, and a rule is not specified for this user or any of their groups, this quota will be enforced." : "A per-user quota for each quota type can be set. If the user has not provided their own API key, and a rule is not specified for this user or any of their groups, this quota will be enforced.",
    "\"0\" means unlimited usage for a particular quota type." : "\"0\" means unlimited usage for a particular quota type.",
    "Quota type" : "Quota type",
    "Per-user quota / period" : "Per-user quota / period",
    "Current system-wide usage / period" : "Current system-wide usage / period",
    "A per-user limit for usage of this API type (0 for unlimited)" : "A per-user limit for usage of this API type (0 for unlimited)",
    "Time period (days) for usage storage" : "Time period (days) for usage storage",
    "Start date" : "Start date",
    "End date" : "End date",
    "Download quota usage" : "Download quota usage",
    "Quota Rules" : "Quota Rules",
    "Select enabled features" : "Select enabled features",
    "Translation provider (to translate Talk messages for example)" : "Translation provider (to translate Talk messages for example)",
    "Text processing providers (to generate text, summarize, context write, etc.)" : "Text processing providers (to generate text, summarize, context write, etc.)",
    "Image generation provider" : "Image generation provider",
    "Speech-to-text provider (to transcribe Talk recordings for example)" : "Speech-to-text provider (to transcribe Talk recordings for example)",
    "Text-to-speech provider" : "Text-to-speech provider",
    "Analyze image provider" : "Analyze image provider",
    "This quota period is from {startDate} to {endDate}" : "This quota period is from {startDate} to {endDate}",
    "_The quota is kept over a floating period of the last %n day_::_The quota is kept over a floating period of the last %n days_" : ["The quota is kept over a floating period of the last %n day","The quota is kept over a floating period of the last %n days"],
    "OpenAI options saved" : "OpenAI options saved",
    "Failed to save OpenAI options" : "Failed to save OpenAI options",
    "Speech to Text Default Language" : "Speech to Text Default Language",
    "Default language" : "Default language",
    "Your administrator defined a custom service address" : "Your administrator defined a custom service address",
    "Leave the API key empty to use the one defined by administrators" : "Leave the API key empty to use the one defined by administrators",
    "You can create a free API key in your OpenAI account settings" : "You can create a free API key in your OpenAI account settings",
    "Leave the username and password empty to use the ones defined by your administrator" : "Leave the username and password empty to use the ones defined by your administrator",
    "Usage quota info" : "Usage quota info",
    "If you see a shared quota usage of 50% and a usage of 10% that means that you have used 10% of the total shared quota, and the sum of all other users affected by this quota is 40%." : "If you see a shared quota usage of 50% and a usage of 10% that means that you have used 10% of the total shared quota, and the sum of all other users affected by this quota is 40%.",
    "Shared Usage" : "Shared Usage",
    "Not Shared" : "Not Shared",
    "Specifying your own API key will allow unlimited usage" : "Specifying your own API key will allow unlimited usage",
    "Days" : "Days",
    "Months" : "Months",
    "_Quota will be enforced based on last %n day of usage_::_Quota will be enforced based on last %n days of usage_" : ["Quota will be enforced based on last %n day of usage","Quota will be enforced based on last %n days of usage"],
    "_Quota will reset for all the users every month on day number {nth_day}_::_Quota will reset for all the users every %n months on day number {nth_day}_" : ["Quota will reset for all the users every month on day number {nth_day}","Quota will reset for all the users every %n months on day number {nth_day}"],
    "Quota enforcement time" : "Quota enforcement time",
    "Reset quota every" : "Reset quota every",
    "Daily quotas are floating quotas while monthly reset on a certain day of the month" : "Daily quotas are floating quotas while monthly reset on a certain day of the month",
    "On day" : "On day",
    "Who?" : "Who?",
    "Impossible to get user/group list" : "Impossible to get user/group list",
    "No recommendations. Start typing." : "No recommendations. Start typing.",
    "No result." : "No result.",
    "Quota rule created" : "Quota rule created",
    "Failed to add quota rule" : "Failed to add quota rule",
    "Quota rule deleted" : "Quota rule deleted",
    "Failed to delete quota rule" : "Failed to delete quota rule",
    "Rules can be set for specific groups or users. These rules will override the global quota settings." : "Rules can be set for specific groups or users. These rules will override the global quota settings.",
    "Only the rule with the highest priority is active if multiple rules match." : "Only the rule with the highest priority is active if multiple rules match.",
    "Add Quota rule" : "Add Quota rule",
    "Quota rule saved" : "Quota rule saved",
    "Rule {number}" : "Rule {number}",
    "Who this rule applies to?" : "Who this rule applies to?",
    "Select users/groups" : "Select users/groups",
    "Category" : "Category",
    "Shared quota" : "Shared quota",
    "Quota per user" : "Quota per user",
    "Rule Priority" : "Rule Priority",
    "Use shared quota" : "Use shared quota",
    "Save" : "Save",
    "Delete" : "Delete",
    "Hide override config for {aiTask}" : "Hide override config for {aiTask}",
    "Show override config for {aiTask}" : "Show override config for {aiTask}",
    "Service url overridden for {task} to {url}" : "Service url overridden for {task} to {url}",
    "Service URL override" : "Service URL override",
    "With the current configuration, the target URL used to get the models for {aiTask} is:" : "With the current configuration, the target URL used to get the models for {aiTask} is:",
    "Use \"{newParam}\" parameter instead of the deprecated \"{deprecatedParam}\"" : "Use \"{newParam}\" parameter instead of the deprecated \"{deprecatedParam}\"",
    "OpenAI's DALL-E 2" : "OpenAI's DALL-E 2"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}