418 lines
22 KiB
YAML
418 lines
22 KiB
YAML
en:
|
|
discourse_automation:
|
|
ai:
|
|
flag_types:
|
|
review: "Add post to review queue"
|
|
spam: "Flag as spam and hide post"
|
|
scriptables:
|
|
llm_triage:
|
|
title: Triage posts using AI
|
|
description: "Triage posts using a large language model"
|
|
flagged_post: |
|
|
<div>Response from the model:</div>
|
|
<p>%%LLM_RESPONSE%%</p>
|
|
<b>Triggered by the <a href="/admin/plugins/discourse-automation/%%AUTOMATION_ID%%">%%AUTOMATION_NAME%%</a> rule.</b>
|
|
llm_report:
|
|
title: Periodic report using AI
|
|
description: "Periodic report based on a large language model"
|
|
site_settings:
|
|
discourse_ai_enabled: "Enable the discourse AI plugin."
|
|
ai_artifact_security: "The AI artifact system generates IFRAMEs with runnable code. Strict mode disables sharing and forces an extra click to run code. Lax mode allows sharing of artifacts and runs code directly. Disabled mode disables the artifact system."
|
|
ai_toxicity_enabled: "Enable the toxicity module."
|
|
ai_toxicity_inference_service_api_endpoint: "URL where the API is running for the toxicity module"
|
|
ai_toxicity_inference_service_api_key: "API key for the toxicity API"
|
|
ai_toxicity_inference_service_api_model: "Model to use for inference. Multilingual model works with Italian, French, Russian, Portuguese, Spanish and Turkish."
|
|
ai_toxicity_flag_automatically: "Automatically flag posts / chat messages that are above the configured thresholds."
|
|
ai_toxicity_flag_threshold_toxicity: "Toxicity: a rude, disrespectful, or unreasonable comment that is somewhat likely to make you leave a discussion or give up on sharing your perspective"
|
|
ai_toxicity_flag_threshold_severe_toxicity: "Severe Toxicity: a very hateful, aggressive, or disrespectful comment that is very likely to make you leave a discussion or give up on sharing your perspective"
|
|
ai_toxicity_flag_threshold_obscene: "Obscene"
|
|
ai_toxicity_flag_threshold_identity_attack: "Identity Attack"
|
|
ai_toxicity_flag_threshold_insult: "Insult"
|
|
ai_toxicity_flag_threshold_threat: "Threat"
|
|
ai_toxicity_flag_threshold_sexual_explicit: "Sexual Explicit"
|
|
ai_toxicity_groups_bypass: "Users on those groups will not have their posts classified by the toxicity module."
|
|
|
|
ai_sentiment_enabled: "Enable the sentiment module."
|
|
ai_sentiment_inference_service_api_endpoint: "URL where the API is running for the sentiment module"
|
|
ai_sentiment_inference_service_api_key: "API key for the sentiment API"
|
|
ai_sentiment_models: "Models to use for inference. Sentiment classifies post on the positive/neutral/negative space. Emotion classifies on the anger/disgust/fear/joy/neutral/sadness/surprise space."
|
|
|
|
ai_nsfw_detection_enabled: "Enable the NSFW module."
|
|
ai_nsfw_inference_service_api_endpoint: "URL where the API is running for the NSFW module"
|
|
ai_nsfw_inference_service_api_key: "API key for the NSFW API"
|
|
ai_nsfw_flag_automatically: "Automatically flag NSFW posts that are above the configured thresholds."
|
|
ai_nsfw_flag_threshold_general: "General Threshold for an image to be considered NSFW."
|
|
ai_nsfw_flag_threshold_drawings: "Threshold for a drawing to be considered NSFW."
|
|
ai_nsfw_flag_threshold_hentai: "Threshold for an image classified as hentai to be considered NSFW."
|
|
ai_nsfw_flag_threshold_porn: "Threshold for an image classified as porn to be considered NSFW."
|
|
ai_nsfw_flag_threshold_sexy: "Threshold for an image classified as sexy to be considered NSFW."
|
|
ai_nsfw_models: "Models to use for NSFW inference."
|
|
|
|
ai_openai_embeddings_url: "Custom URL used for the OpenAI embeddings API. (in the case of Azure it can be: https://COMPANY.openai.azure.com/openai/deployments/DEPLOYMENT/embeddings?api-version=2023-05-15)"
|
|
ai_openai_api_key: "API key for OpenAI API. ONLY used for embeddings and Dall-E. For GPT use the LLM config tab"
|
|
ai_hugging_face_tei_endpoint: URL where the API is running for the Hugging Face text embeddings inference
|
|
ai_hugging_face_tei_api_key: API key for Hugging Face text embeddings inference
|
|
|
|
ai_helper_enabled: "Enable the AI helper."
|
|
composer_ai_helper_allowed_groups: "Users on these groups will see the AI helper button in the composer."
|
|
ai_helper_allowed_in_pm: "Enable the composer's AI helper in PMs."
|
|
ai_helper_model: "Model to use for the AI helper."
|
|
ai_helper_custom_prompts_allowed_groups: "Users on these groups will see the custom prompt option in the AI helper."
|
|
ai_helper_automatic_chat_thread_title_delay: "Delay in minutes before the AI helper automatically sets the chat thread title."
|
|
ai_helper_automatic_chat_thread_title: "Automatically set the chat thread titles based on thread contents."
|
|
ai_helper_illustrate_post_model: "Model to use for the composer AI helper's illustrate post feature"
|
|
ai_helper_enabled_features: "Select the features to enable in the AI helper."
|
|
post_ai_helper_allowed_groups: "User groups allowed to access AI Helper features in posts"
|
|
ai_helper_image_caption_model: "Select the model to use for generating image captions"
|
|
ai_auto_image_caption_allowed_groups: "Users on these groups can toggle automatic image captioning."
|
|
|
|
ai_embeddings_enabled: "Enable the embeddings module."
|
|
ai_embeddings_discourse_service_api_endpoint: "URL where the API is running for the embeddings module"
|
|
ai_embeddings_discourse_service_api_key: "API key for the embeddings API"
|
|
ai_embeddings_model: "Use all-mpnet-base-v2 for local and fast inference in english, text-embedding-ada-002 to use OpenAI API (need API key) and multilingual-e5-large for local multilingual embeddings"
|
|
ai_embeddings_generate_for_pms: "Generate embeddings for personal messages."
|
|
ai_embeddings_semantic_related_topics_enabled: "Use Semantic Search for related topics."
|
|
ai_embeddings_semantic_related_topics: "Maximum number of topics to show in related topic section."
|
|
ai_embeddings_backfill_batch_size: "Number of embeddings to backfill every 15 minutes."
|
|
ai_embeddings_pg_connection_string: "PostgreSQL connection string for the embeddings module. Needs pgvector extension enabled and a series of tables created. See docs for more info."
|
|
ai_embeddings_semantic_search_enabled: "Enable full-page semantic search."
|
|
ai_embeddings_semantic_quick_search_enabled: "Enable semantic search option in search menu popup."
|
|
ai_embeddings_semantic_related_include_closed_topics: "Include closed topics in semantic search results"
|
|
ai_embeddings_semantic_search_hyde_model: "Model used to expand keywords to get better results during a semantic search"
|
|
ai_embeddings_per_post_enabled: Generate embeddings for each post
|
|
|
|
ai_summarization_enabled: "Enable the topic summarization module."
|
|
ai_summarization_model: "Model to use for summarization."
|
|
ai_custom_summarization_allowed_groups: "Groups allowed to use create new summaries."
|
|
ai_pm_summarization_allowed_groups: "Groups allowed to create and view summaries in PMs."
|
|
ai_summarize_max_hot_topics_gists_per_batch: "After updating topics in the hot list, we'll generate brief summaries of the first N ones. (Disabled when 0)"
|
|
ai_hot_topic_gists_allowed_groups: "Groups allowed to see gists in the hot topics list."
|
|
ai_summary_backfill_maximum_topics_per_hour: "Number of topic summaries to backfill per hour."
|
|
|
|
ai_bot_enabled: "Enable the AI Bot module."
|
|
ai_bot_enable_chat_warning: "Display a warning when PM chat is initiated. Can be overriden by editing the translation string: discourse_ai.ai_bot.pm_warning"
|
|
ai_bot_allowed_groups: "When the GPT Bot has access to the PM, it will reply to members of these groups."
|
|
ai_bot_debugging_allowed_groups: "Allow these groups to see a debug button on posts which displays the raw AI request and response"
|
|
ai_bot_public_sharing_allowed_groups: "Allow these groups to share AI personal messages with the public via a unique publicly available link. Note: if your site requires login, shares will also require login."
|
|
ai_bot_add_to_header: "Display a button in the header to start a PM with a AI Bot"
|
|
ai_bot_github_access_token: "GitHub access token for use with GitHub AI tools (required for search support)"
|
|
|
|
ai_stability_api_key: "API key for the stability.ai API"
|
|
ai_stability_engine: "Image generation engine to use for the stability.ai API"
|
|
ai_stability_api_url: "URL for the stability.ai API"
|
|
|
|
ai_google_custom_search_api_key: "API key for the Google Custom Search API see: https://developers.google.com/custom-search"
|
|
ai_google_custom_search_cx: "CX for Google Custom Search API"
|
|
|
|
reviewables:
|
|
reasons:
|
|
flagged_by_toxicity: The AI plugin flagged this after classifying it as toxic.
|
|
flagged_by_nsfw: The AI plugin flagged this after classifying at least one of the attached images as NSFW.
|
|
|
|
reports:
|
|
overall_sentiment:
|
|
title: "Overall sentiment"
|
|
description: 'The chart compares the number of posts classified as either positive or negative. These are calculated when positive or negative scores > the set threshold score. This means neutral posts are not shown. Private messages (PMs) are also excluded. Classified with "cardiffnlp/twitter-roberta-base-sentiment-latest"'
|
|
xaxis: "Positive(%)"
|
|
yaxis: "Date"
|
|
emotion_admiration:
|
|
title: Admiration
|
|
emotion_amusement:
|
|
title: Amusement
|
|
emotion_anger:
|
|
title: Anger
|
|
emotion_annoyance:
|
|
title: Annoyance
|
|
emotion_approval:
|
|
title: Approval
|
|
emotion_caring:
|
|
title: Caring
|
|
emotion_confusion:
|
|
title: Confusion
|
|
emotion_curiosity:
|
|
title: Curiosity
|
|
emotion_desire:
|
|
title: Desire
|
|
emotion_disappointment:
|
|
title: Disappointment
|
|
emotion_disapproval:
|
|
title: Disapproval
|
|
emotion_disgust:
|
|
title: Disgust
|
|
emotion_embarrassment:
|
|
title: Embarrassment
|
|
emotion_excitement:
|
|
title: Excitement
|
|
emotion_fear:
|
|
title: Fear
|
|
emotion_gratitude:
|
|
title: Gratitude
|
|
emotion_grief:
|
|
title: Grief
|
|
emotion_joy:
|
|
title: Joy
|
|
emotion_love:
|
|
title: Love
|
|
emotion_nervousness:
|
|
title: Nervousness
|
|
emotion_neutral:
|
|
title: Neutral
|
|
emotion_optimism:
|
|
title: Optimism
|
|
emotion_pride:
|
|
title: Pride
|
|
emotion_realization:
|
|
title: Realization
|
|
emotion_relief:
|
|
title: Relief
|
|
emotion_remorse:
|
|
title: Remorse
|
|
emotion_sadness:
|
|
title: Sadness
|
|
emotion_surprise:
|
|
title: Surprise
|
|
|
|
discourse_ai:
|
|
unknown_model: "Unknown AI model"
|
|
|
|
tools:
|
|
custom_name: "%{name} (custom)"
|
|
presets:
|
|
browse_web_jina:
|
|
name: "Browse web (jina.ai)"
|
|
exchange_rate:
|
|
name: "Exchange rate"
|
|
stock_quote:
|
|
name: "Stock quote (AlphaVantage)"
|
|
image_generation:
|
|
name: "Flux image generator (Together.ai)"
|
|
empty_tool:
|
|
name: "Start from blank..."
|
|
|
|
ai_helper:
|
|
errors:
|
|
completion_request_failed: "Something went wrong while trying to provide suggestions. Please, try again."
|
|
prompts:
|
|
translate: Translate to %{language}
|
|
generate_titles: Suggest topic titles
|
|
proofread: Proofread text
|
|
markdown_table: Generate Markdown table
|
|
custom_prompt: "Custom Prompt"
|
|
explain: "Explain"
|
|
illustrate_post: "Illustrate Post"
|
|
painter:
|
|
attribution:
|
|
stable_diffusion_xl: "Image by Stable Diffusion XL"
|
|
dall_e_3: "Image by DALL-E 3"
|
|
image_caption:
|
|
attribution: "Captioned by AI"
|
|
|
|
share_ai:
|
|
read_more: "Read full transcript"
|
|
onebox_title: "AI Conversation with %{llm_name}"
|
|
formatted_excerpt: "AI Conversation with %{llm_name}:\n %{excerpt}"
|
|
title: "%{title} - AI Conversation - %{site_name}"
|
|
errors:
|
|
not_allowed: "You are not allowed to share this topic"
|
|
other_people_in_pm: "Personal messages with other humans cannot be shared publicly"
|
|
other_content_in_pm: "Personal messages containing posts from other people cannot be shared publicly"
|
|
failed_to_share: "Failed to share the conversation"
|
|
conversation_deleted: "Conversation share deleted successfully"
|
|
ai_bot:
|
|
default_pm_prefix: "[Untitled AI bot PM]"
|
|
personas:
|
|
default_llm_required: "Default LLM model is required prior to enabling Chat"
|
|
cannot_delete_system_persona: "System personas cannot be deleted, please disable it instead"
|
|
cannot_edit_system_persona: "System personas can only be renamed, you may not edit tools or system prompt, instead disable and make a copy"
|
|
github_helper:
|
|
name: "GitHub Helper"
|
|
description: "AI Bot specialized in assisting with GitHub-related tasks and questions"
|
|
general:
|
|
name: Forum Helper
|
|
description: "General purpose AI Bot capable of performing various tasks"
|
|
artist:
|
|
name: Artist
|
|
description: "AI Bot specialized in generating images"
|
|
sql_helper:
|
|
name: SQL Helper
|
|
description: "AI Bot specialized in helping craft SQL queries on this Discourse instance"
|
|
settings_explorer:
|
|
name: Settings Explorer
|
|
description: "AI Bot specialized in helping explore Discourse site settings"
|
|
researcher:
|
|
name: Researcher
|
|
description: "AI Bot with Google access that can research information for you"
|
|
creative:
|
|
name: Creative
|
|
description: "AI Bot with no external integrations specialized in creative tasks"
|
|
dall_e3:
|
|
name: "DALL-E 3"
|
|
description: "AI Bot specialized in generating images using DALL-E 3"
|
|
discourse_helper:
|
|
name: "Discourse Helper"
|
|
description: "AI Bot specialized in helping with Discourse related tasks"
|
|
web_artifact_creator:
|
|
name: "Web Artifact Creator"
|
|
description: "AI Bot specialized in creating interactive web artifacts"
|
|
topic_not_found: "Summary unavailable, topic not found!"
|
|
summarizing: "Summarizing topic"
|
|
searching: "Searching for: '%{query}'"
|
|
tool_options:
|
|
google:
|
|
base_query:
|
|
name: "Base Search Query"
|
|
description: "Base query to use when searching. Examples: 'site:example.com' will only include results from example.com, before:2022-01-01 will only includes results from 2021 and earlier. This text is prepended to the search query."
|
|
read:
|
|
read_private:
|
|
name: "Read Private"
|
|
description: "Allow access to all topics user has access to (by default only public topics are included)"
|
|
search:
|
|
search_private:
|
|
name: "Search Private"
|
|
description: "Include all topics user has access to in search results (by default only public topics are included)"
|
|
max_results:
|
|
name: "Maximum number of results"
|
|
description: "Maximum number of results to include in the search - if empty default rules will be used and count will be scaled depending on model used. Highest value is 100."
|
|
base_query:
|
|
name: "Base Search Query"
|
|
description: "Base query to use when searching. Example: '#urgent' will prepend '#urgent' to the search query and only include topics with the urgent category or tag."
|
|
tool_summary:
|
|
create_artifact: "Create web artifact"
|
|
web_browser: "Browse Web"
|
|
github_search_files: "GitHub search files"
|
|
github_search_code: "GitHub code search"
|
|
github_file_content: "GitHub file content"
|
|
github_pull_request_diff: "GitHub pull request diff"
|
|
random_picker: "Random Picker"
|
|
categories: "List categories"
|
|
search: "Search"
|
|
tags: "List tags"
|
|
time: "Time"
|
|
summarize: "Summarize"
|
|
image: "Generate image"
|
|
google: "Search Google"
|
|
read: "Read topic"
|
|
setting_context: "Look up site setting context"
|
|
schema: "Look up database schema"
|
|
search_settings: "Searching site settings"
|
|
dall_e: "Generate image"
|
|
search_meta_discourse: "Search Meta Discourse"
|
|
javascript_evaluator: "Evaluate JavaScript"
|
|
tool_help:
|
|
create_artifact: "Create a web artifact using the AI Bot"
|
|
web_browser: "Browse web page using the AI Bot"
|
|
github_search_code: "Search for code in a GitHub repository"
|
|
github_search_files: "Search for files in a GitHub repository"
|
|
github_file_content: "Retrieve content of files from a GitHub repository"
|
|
github_pull_request_diff: "Retrieve a GitHub pull request diff"
|
|
random_picker: "Pick a random number or a random element of a list"
|
|
categories: "List all publicly visible categories on the forum"
|
|
search: "Search all public topics on the forum"
|
|
tags: "List all tags on the forum"
|
|
time: "Find time in various time zones"
|
|
summary: "Summarize a topic"
|
|
image: "Generate image using Stable Diffusion"
|
|
google: "Search Google for a query"
|
|
read: "Read public topic on the forum"
|
|
setting_context: "Look up site setting context"
|
|
schema: "Look up database schema"
|
|
search_settings: "Search site settings"
|
|
dall_e: "Generate image using DALL-E 3"
|
|
search_meta_discourse: "Search Meta Discourse"
|
|
javascript_evaluator: "Evaluate JavaScript"
|
|
tool_description:
|
|
create_artifact: "Created a web artifact using the AI Bot"
|
|
web_browser: "Reading <a href='%{url}'>%{url}</a>"
|
|
github_search_files: "Searched for '%{keywords}' in %{repo}/%{branch}"
|
|
github_search_code: "Searched for '%{query}' in %{repo}"
|
|
github_pull_request_diff: "<a href='%{url}'>%{repo} %{pull_id}</a>"
|
|
github_file_content: "Retrieved content of %{file_paths} from %{repo_name}@%{branch}"
|
|
random_picker: "Picking from %{options}, picked: %{result}"
|
|
read: "Reading: <a href='%{url}'>%{title}</a>"
|
|
time: "Time in %{timezone} is %{time}"
|
|
summarize: "Summarized <a href='%{url}'>%{title}</a>"
|
|
dall_e: "%{prompt}"
|
|
image: "%{prompt}"
|
|
categories:
|
|
one: "Found %{count} category"
|
|
other: "Found %{count} categories"
|
|
tags:
|
|
one: "Found %{count} tag"
|
|
other: "Found %{count} tags"
|
|
search:
|
|
one: "Found %{count} <a href='%{url}'>result</a> for '%{query}'"
|
|
other: "Found %{count} <a href='%{url}'>results</a> for '%{query}'"
|
|
search_meta_discourse:
|
|
one: "Found %{count} <a href='%{url}'>result</a> for '%{query}'"
|
|
other: "Found %{count} <a href='%{url}'>results</a> for '%{query}'"
|
|
google:
|
|
one: "Found %{count} <a href='%{url}'>result</a> for '%{query}'"
|
|
other: "Found %{count} <a href='%{url}'>results</a> for '%{query}'"
|
|
setting_context: "Reading context for: %{setting_name}"
|
|
schema: "%{tables}"
|
|
search_settings:
|
|
one: "Found %{count} result for '%{query}'"
|
|
other: "Found %{count} results for '%{query}'"
|
|
|
|
summarization:
|
|
configuration_hint:
|
|
one: "Configure the `%{setting}` setting first."
|
|
other: "Configure these settings first: %{settings}"
|
|
chat:
|
|
no_targets: "There were no messages during the selected period."
|
|
|
|
sentiment:
|
|
reports:
|
|
overall_sentiment:
|
|
positive: "Positive"
|
|
negative: "Negative"
|
|
post_emotion:
|
|
sadness: "Sadness 😢"
|
|
surprise: "Surprise 😱"
|
|
neutral: "Neutral 😐"
|
|
fear: "Fear 😨"
|
|
anger: "Anger 😡"
|
|
joy: "Joy 😀"
|
|
disgust: "Disgust 🤢"
|
|
|
|
llm:
|
|
configuration:
|
|
disable_module_first: "You have to disable %{setting} first."
|
|
set_llm_first: "Set %{setting} first."
|
|
model_unreachable: "We couldn't get a response from this model. Check your settings first."
|
|
invalid_seeded_model: "You can't use this model with this feature."
|
|
endpoints:
|
|
not_configured: "%{display_name} (not configured)"
|
|
configuration_hint:
|
|
one: "Make sure the `%{settings}` setting was configured."
|
|
other: "Make sure these settings were configured: %{settings}"
|
|
|
|
delete_failed:
|
|
one: "We couldn't delete this model because %{settings} is using it. Update the setting and try again."
|
|
other: "We couldn't delete this model because %{settings} are using it. Update the settings and try again."
|
|
cannot_edit_builtin: "You can't edit a built-in model."
|
|
|
|
embeddings:
|
|
configuration:
|
|
disable_embeddings: "You have to disable 'ai embeddings enabled' first."
|
|
choose_model: "Set 'ai embeddings model' first."
|
|
model_unreachable: "We failed to generate a test embedding with this model. Check your settings are correct."
|
|
hint:
|
|
one: "Make sure the `%{settings}` setting was configured."
|
|
other: "Make sure the settings of the provider you want were configured. Options are: %{settings}"
|
|
|
|
llm_models:
|
|
missing_provider_param: "%{param} can't be blank"
|
|
bedrock_invalid_url: "Please complete all the fields to contact this model."
|
|
|
|
errors:
|
|
no_query_specified: The query parameter is required, please specify it.
|
|
no_user_for_persona: The persona specified does not have a user associated with it.
|
|
persona_not_found: The persona specified does not exist. Check the persona_name or persona_id params.
|
|
no_user_specified: The username or the user_unique_id parameter is required, please specify it.
|
|
user_not_found: The user specified does not exist. Check the username param.
|
|
persona_disabled: The persona specified is disabled. Check the persona_name or persona_id params.
|
|
no_default_llm: The persona must have a default_llm defined.
|
|
user_not_allowed: The user is not allowed to participate in the topic.
|
|
prompt_message_length: The message %{idx} is over the 1000 character limit.
|