From 813f0afd0f7eb6a61b3c7ada9c7c0e9f855f3ec9 Mon Sep 17 00:00:00 2001 From: Ryan Thrash Date: Fri, 19 Dec 2025 13:57:56 -0600 Subject: [PATCH 1/3] Update gitignore for AI-augmented language review files --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 3b0ba05..9617f5b 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,5 @@ vendor/ _build/migrations/migrations.lock _build/gpm_scripts _build/gpm_resolvers +copilot-instructions.md +AGENTS.md From f43687ea54953526c27b5411542dff5803f3abe2 Mon Sep 17 00:00:00 2001 From: Ryan Thrash Date: Fri, 19 Dec 2025 13:58:16 -0600 Subject: [PATCH 2/3] Add a TODO.md for last minute tracking of release tasks --- TODO.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 TODO.md diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..763cff8 --- /dev/null +++ b/TODO.md @@ -0,0 +1,10 @@ +# modAI +Practical and highly-configurable AI for [MODX Revolution](https://modx.com/content-management-framework) + +### Todo + +- [ ] Review vision/image language strings and defaults before release (setting_modai.global.image.model_desc, setting_modai.global.vision.model_desc, setting_modai.global.image.style_desc) + +### Done ✓ + +- [x] Create TODO.md \ No newline at end of file From f08d719b7b42d4015ed93ab56d252a152ae20b92 Mon Sep 17 00:00:00 2001 From: Ryan Thrash Date: Fri, 19 Dec 2025 13:59:33 -0600 Subject: [PATCH 3/3] Initial pass at language updates --- .../modai/lexicon/en/default.inc.php | 33 +++++---- .../modai/lexicon/en/setting.inc.php | 68 +++++++++---------- core/components/modai/lexicon/en/ui.inc.php | 38 +++++------ 3 files changed, 69 insertions(+), 70 deletions(-) diff --git a/core/components/modai/lexicon/en/default.inc.php b/core/components/modai/lexicon/en/default.inc.php index ea2ecee..09061e1 100644 --- a/core/components/modai/lexicon/en/default.inc.php +++ b/core/components/modai/lexicon/en/default.inc.php @@ -14,16 +14,16 @@ $_lang['modai.admin.context_provider.name'] = 'Name'; $_lang['modai.admin.context_provider.description'] = 'Description'; -$_lang['modai.admin.context_provider.description_desc'] = 'Internal description of the context provider.'; +$_lang['modai.admin.context_provider.description_desc'] = 'Internal description of the Context Provider.'; $_lang['modai.admin.context_provider.enabled'] = 'Enabled'; -$_lang['modai.admin.context_provider.enabled_desc'] = 'If disabled, context provider won\'t augument the prompt.'; +$_lang['modai.admin.context_provider.enabled_desc'] = 'If disabled, this provider won’t add relevant information from your content to the AI prompt.'; $_lang['modai.admin.context_provider.create'] = 'Create Context Provider'; $_lang['modai.admin.context_provider.update'] = 'Update Context Provider'; $_lang['modai.admin.context_provider.remove'] = 'Remove Context Provider'; -$_lang['modai.admin.context_provider.remove_confirm'] = 'Are you sure you want to permanently delete "[[+name]]" context provider?'; +$_lang['modai.admin.context_provider.remove_confirm'] = 'Are you sure you want to permanently delete the “[[+name]]” context provider?'; $_lang['modai.admin.context_provider.search'] = 'Search by name'; -$_lang['modai.admin.context_provider.select_class_for_config'] = 'Select Context Provider Class to configure it.'; -$_lang['modai.admin.context_provider.no_config'] = "Context Provider Class doesn't expose any configuration."; +$_lang['modai.admin.context_provider.select_class_for_config'] = 'Choose which type of content provider you want to use, then configure it below.'; +$_lang['modai.admin.context_provider.no_config'] = 'This type of content provider doesn’t have any settings to customize.'; $_lang['modai.admin.context_provider.config'] = "Config"; $_lang['modai.admin.context_provider.context_provider'] = "Context Provider"; $_lang['modai.admin.context_provider.class'] = "Context Provider Class"; @@ -33,23 +33,23 @@ $_lang['modai.admin.tool.description'] = 'Description'; $_lang['modai.admin.tool.description_desc'] = 'Internal description of the tool.'; $_lang['modai.admin.tool.enabled'] = 'Enabled'; -$_lang['modai.admin.tool.enabled_desc'] = 'If disabled, tool won\'t be available for the model.'; +$_lang['modai.admin.tool.enabled_desc'] = 'If disabled, this tool won’t be available for the AI to use.'; $_lang['modai.admin.tool.default'] = 'Default'; -$_lang['modai.admin.tool.default_desc'] = 'If enabled, tool will be available for every prompt, even without an agent.'; +$_lang['modai.admin.tool.default_desc'] = 'If enabled, this tool will be available for all prompts, even if you haven’t selected a specific agent.'; $_lang['modai.admin.tool.create'] = 'Create Tool'; $_lang['modai.admin.tool.update'] = 'Update Tool'; $_lang['modai.admin.tool.remove'] = 'Remove Tool'; $_lang['modai.admin.tool.remove_confirm'] = 'Are you sure you want to permanently delete "[[+name]]" tool?'; $_lang['modai.admin.tool.search'] = 'Search by name'; -$_lang['modai.admin.tool.select_class_for_config'] = 'Select Tool Class to configure it.'; -$_lang['modai.admin.tool.no_config'] = "Tool Class doesn't expose any configuration."; +$_lang['modai.admin.tool.select_class_for_config'] = 'Choose which type of tool you want to use, then configure it below.'; +$_lang['modai.admin.tool.no_config'] = 'This type of tool doesn’t have any settings to customize.'; $_lang['modai.admin.tool.config'] = "Config"; $_lang['modai.admin.tool.context_provider'] = "Tool"; $_lang['modai.admin.tool.class'] = "Tool Class"; $_lang['modai.admin.tool.tool'] = 'Tool'; $_lang['modai.admin.tool.agents'] = 'Agents'; $_lang['modai.admin.tool.prompt'] = 'Prompt'; -$_lang['modai.admin.tool.prompt_desc'] = 'Description of the tool to the AI. By default it uses the default from the tool\'s class, but you can override it and customize.'; +$_lang['modai.admin.tool.prompt_desc'] = 'Description that tells the AI what this tool does and how to use it. You can override the default description and customize it for your needs.'; $_lang['modai.admin.tool.config.clear_cache'] = 'Clear Cache'; $_lang['modai.admin.tool.config.clear_cache_desc'] = 'If enabled, cache will automatically clear after using this tool.'; @@ -57,7 +57,7 @@ $_lang['modai.admin.agent.name'] = 'Name'; $_lang['modai.admin.agent.description'] = 'Description'; $_lang['modai.admin.agent.enabled'] = 'Enabled'; -$_lang['modai.admin.agent.enabled_desc'] = 'If disabled, agent won\'t show up in the agent select.'; +$_lang['modai.admin.agent.enabled_desc'] = 'If disabled, this agent won’t appear in the list of available AI assistants.'; $_lang['modai.admin.agent.create'] = 'Create Agent'; $_lang['modai.admin.agent.update'] = 'Update Agent'; $_lang['modai.admin.agent.remove'] = 'Remove Agent'; @@ -69,11 +69,11 @@ $_lang['modai.admin.agent.description'] = "Description"; $_lang['modai.admin.agent.config'] = "Config"; $_lang['modai.admin.agent.prompt'] = "Prompt"; -$_lang['modai.admin.agent.prompt_desc'] = 'Custom prompt that will send as a system instructions.'; +$_lang['modai.admin.agent.prompt_desc'] = 'Instructions that guide this AI assistant on how to behave and respond. You can customize this to change the assistant’s personality or focus.'; $_lang['modai.admin.agent.tools'] = 'Tools'; $_lang['modai.admin.agent.context_providers'] = 'Context Providers'; $_lang['modai.admin.agent.advanced_config'] = 'Advanced Config'; -$_lang['modai.admin.agent.advanced_config_desc'] = 'Override any model\'s config option.'; +$_lang['modai.admin.agent.advanced_config_desc'] = 'Override the model’s default settings to customize AI behavior for this specific agent.'; $_lang['modai.admin.agent.advanced_config.field'] = 'Field'; $_lang['modai.admin.agent.advanced_config.area'] = 'Area'; $_lang['modai.admin.agent.advanced_config.setting'] = 'Setting'; @@ -117,12 +117,11 @@ $_lang['modai.admin.context_provider.pinecone.api_version'] = 'API Version'; $_lang['modai.admin.context_provider.pinecone.api_version_desc'] = 'API version to use. Default: 2025-04'; -$_lang['modai.admin.prompt_library.category'] = 'Category'; $_lang['modai.admin.prompt_library.category'] = 'Category'; $_lang['modai.admin.prompt_library.prompt.name'] = 'Name'; $_lang['modai.admin.prompt_library.prompt.enabled'] = 'Enabled'; -$_lang['modai.admin.prompt_library.prompt.rank'] = 'Rank'; +$_lang['modai.admin.prompt_library.prompt.rank'] = 'Sort Order'; $_lang['modai.admin.prompt_library.prompt.create'] = 'Create Prompt'; $_lang['modai.admin.prompt_library.prompt.update'] = 'Update Prompt'; $_lang['modai.admin.prompt_library.prompt.remove'] = 'Remove Prompt'; @@ -151,8 +150,8 @@ $_lang['modai.admin.error.context_provider_not_found'] = 'Context Provider was not found.'; $_lang['modai.admin.error.tool_name_already_exists'] = 'Tool with this name already exists.'; -$_lang['modai.admin.error.tool_wrong_interface'] = 'Context Provider class does not implement the \modAI\Tools\ToolInterface'; -$_lang['modai.admin.error.tool_not_found'] = 'Context Provider was not found.'; +$_lang['modai.admin.error.tool_wrong_interface'] = 'Tool class does not implement the \modAI\Tools\ToolInterface'; +$_lang['modai.admin.error.tool_not_found'] = 'Tool was not found.'; $_lang['modai.admin.error.agent_name_already_exists'] = 'Agent with this name already exists.'; $_lang['modai.admin.error.agent_not_found'] = 'Agent was not found.'; diff --git a/core/components/modai/lexicon/en/setting.inc.php b/core/components/modai/lexicon/en/setting.inc.php index 410c96e..ba6dbb3 100644 --- a/core/components/modai/lexicon/en/setting.inc.php +++ b/core/components/modai/lexicon/en/setting.inc.php @@ -16,57 +16,57 @@ $_lang['setting_modai.api.custom.compatibility_desc'] = 'API compatibility type. Available options: openai'; $_lang['setting_modai.global.text.base_output'] = 'Base Output Instructions'; -$_lang['setting_modai.global.text.base.output_desc'] = 'This tells the model how to ouptut the results to remove commentary, wrapping quotes, etc.'; +$_lang['setting_modai.global.text.base.output_desc'] = 'Instructions for formatting AI responses (e.g., remove extra commentary, strip quotes, etc.).'; $_lang['setting_modai.global.text.base_prompt'] = 'Base Prompt'; -$_lang['setting_modai.global.text.base_prompt_desc'] = 'This is an overall instruction modifier that is added to each API request by default, similar to what you would enter for Customize ChatGPT on their website.'; +$_lang['setting_modai.global.text.base_prompt_desc'] = 'General instructions added to every AI request. Similar to how you might create a custom ChatGPT on OpenAI’s website.'; $_lang['setting_modai.global.text.max_tokens'] = 'Default Maximum Tokens'; -$_lang['setting_modai.global.text.max_tokens_desc'] = 'To manage costs, 1000 tokens is roughly equal to 750 words.'; +$_lang['setting_modai.global.text.max_tokens_desc'] = 'Limit response length to control costs. Roughly: 1,000 tokens ≈ 750 words.'; $_lang['setting_modai.global.text.model'] = 'Default AI Model'; $_lang['setting_modai.global.text.model_desc'] = 'The default model for all prompts unless overridden per prompt.'; $_lang['setting_modai.global.text.temperature'] = 'Default AI Temperature'; -$_lang['setting_modai.global.text.temperature_desc'] = 'Higher values like 0.8 will be more random and creative, while values lower than 0.2 will be more focused and deterministic. Set value to -1 to disable it.'; +$_lang['setting_modai.global.text.temperature_desc'] = 'Controls AI creativity: Higher values (like 0.8) = more creative but unpredictable; Lower values (like 0.2) = more focused and consistent. Set to -1 to disable.'; $_lang['setting_modai.global.text.context_prompt'] = 'Context Prompt'; -$_lang['setting_modai.global.text.context_prompt_desc'] = 'Prompt that will be used when passing an additional context to the chat.'; +$_lang['setting_modai.global.text.context_prompt_desc'] = 'Instructions for how the AI should use extra information added to a chat prompt.'; $_lang['setting_modai.global.text.stream'] = 'Stream'; -$_lang['setting_modai.global.text.stream_desc'] = 'If enabled and execute on server is disabled, supported models will stream the response.'; +$_lang['setting_modai.global.text.stream_desc'] = 'If enabled, responses will appear word-by-word (if your browser supports it), instead of waiting for the entire response.'; $_lang['setting_modai.global.text.custom_options'] = 'Custom Options'; -$_lang['setting_modai.global.text.custom_options_desc'] = 'A JSON object of custom options passed to the body of the AI request. Please consult the documentation for your model for supported options.'; +$_lang['setting_modai.global.text.custom_options_desc'] = 'For advanced users: pass additional settings to the AI service as JSON. Check your AI provider’s documentation for available options.'; $_lang['setting_modai.global.vision.model'] = 'Vision Model'; -$_lang['setting_modai.global.vision.model_desc'] = 'Create text from image inputs. Valid options are o1, gpt-4o, gpt-4o-mini, and gpt-4-turbo.'; +$_lang['setting_modai.global.vision.model_desc'] = 'AI model to use for analyzing images and creating descriptions. Options: o1, gpt-4o, gpt-4o-mini, gpt-4-turbo.'; $_lang['setting_modai.global.vision.prompt'] = 'Vision Prompt'; -$_lang['setting_modai.global.vision.prompt_desc'] = 'By default, this should create a 120 character alt tag based on the vision API output.'; +$_lang['setting_modai.global.vision.prompt_desc'] = 'Instructions for creating image descriptions (alt tags). By default, creates a 120-character description for accessibility.'; $_lang['setting_modai.global.vision.stream'] = 'Stream'; -$_lang['setting_modai.global.vision.stream_desc'] = 'If enabled and execute on server is disabled, supported models will stream the response.'; +$_lang['setting_modai.global.vision.stream_desc'] = 'If enabled, responses will appear word-by-word (if your browser supports it), instead of waiting for the entire response.'; $_lang['setting_modai.global.vision.custom_options'] = 'Custom Options'; $_lang['setting_modai.global.vision.custom_options_desc'] = 'A JSON object of custom options passed to the body of the AI request. Please consult the documentation for your model for supported options.'; $_lang['setting_modai.global.vision.max_tokens'] = 'Default Maximum Tokens'; -$_lang['setting_modai.global.vision.max_tokens_desc'] = 'To manage costs, 1000 tokens is roughly equal to 750 words.'; +$_lang['setting_modai.global.vision.max_tokens_desc'] = 'Limit image description length to control costs. Roughly: 1,000 tokens ≈ 750 words.'; $_lang['setting_modai.global.image.model'] = 'Image Model'; -$_lang['setting_modai.global.image.model_desc'] = 'Valid options are `dall-e-2` and `dall-e-3` (default). See https://platform.openai.com/docs/guides/images/image-generation-beta for full details including DALL-E-2 specifics.'; +$_lang['setting_modai.global.image.model_desc'] = 'AI model to use for generating images. Options: `dall-e-2` or `dall-e-3` (default). See OpenAI docs for details.'; $_lang['setting_modai.global.image.size'] = 'Image Dimensions'; $_lang['setting_modai.global.image.size_desc'] = 'Valid options for DALL-E-3 are `1024x1024`, `1792x1024` (default), and `1024x1792`.'; -$_lang['setting_modai.global.image.quality'] = 'Image Quallity'; +$_lang['setting_modai.global.image.quality'] = 'Image Quality'; $_lang['setting_modai.global.image.quality_desc'] = 'Valid options are `standard` (default) and `hd`.'; $_lang['setting_modai.global.image.path'] = 'Image Path'; $_lang['setting_modai.global.image.path_desc'] = 'Path including file name where the AI generated image will be stored. Available placeholders: {hash}, {shortHash}, {resourceId}, {year}, {month}, {day}.'; $_lang['setting_modai.global.image.download_domains'] = 'Allowed Download Domains'; -$_lang['setting_modai.global.image.download_domains_desc'] = 'Additional domains to allow downloading generated images from.'; +$_lang['setting_modai.global.image.download_domains_desc'] = 'Enter additional website domains you trust for downloading generated images from (space or comma-separated).'; $_lang['setting_modai.global.image.media_source'] = 'Media Source'; -$_lang['setting_modai.global.image.media_source_desc'] = 'Default media source for image uploads (unless field specifies it\'s own).'; +$_lang['setting_modai.global.image.media_source_desc'] = 'Default location where AI-generated images will be saved (can be overridden per field).'; $_lang['setting_modai.global.image.style'] = 'Style'; -$_lang['setting_modai.global.image.style_desc'] = 'Valid options for DALL-E-3 are vivid and natural (default)'; +$_lang['setting_modai.global.image.style_desc'] = 'Choose the artistic style for DALL-E-3 generated images: "vivid" for highly stylized, or "natural" for realistic (default).'; $_lang['setting_modai.global.image.custom_options'] = 'Custom Options'; $_lang['setting_modai.global.image.custom_options_desc'] = 'A JSON object of custom options passed to the body of the AI request. Please consult the documentation for your model for supported options.'; $_lang['setting_modai.global.image.response_format'] = 'Response Format'; -$_lang['setting_modai.global.image.response_format_desc'] = 'Response format of the image, if the model supports it.'; +$_lang['setting_modai.global.image.response_format_desc'] = 'Format for generated images (e.g., URL or data format). Depends on your AI provider’s capabilities.'; $_lang['setting_modai.res.fields'] = 'Use with MODX Resource Fields'; -$_lang['setting_modai.res.fields_desc'] = 'The default Resource fields to attached modAI generative AI buttons to.'; -$_lang['setting_modai.res.pagetitle.text.prompt'] = '[[*pagetitle]] Propmt'; +$_lang['setting_modai.res.fields_desc'] = 'Choose which content fields should have AI generation buttons (like buttons to auto-generate page titles or descriptions).'; +$_lang['setting_modai.res.pagetitle.text.prompt'] = '[[*pagetitle]] Prompt'; $_lang['setting_modai.res.pagetitle.text.prompt_desc'] = ''; -$_lang['setting_modai.res.longtitle.text.prompt'] = '[[*longtitle]] Propmt'; +$_lang['setting_modai.res.longtitle.text.prompt'] = '[[*longtitle]] Prompt'; $_lang['setting_modai.res.longtitle.text.prompt_desc'] = 'Use this for the meta title—also works with SEO Suite.'; $_lang['setting_modai.res.introtext.text.prompt'] = '[[*introtext]] Prompt'; $_lang['setting_modai.res.introtext.text.prompt_desc'] = 'Use this to generate a summary of the page content—used as starting point for image generation.'; @@ -74,35 +74,35 @@ $_lang['setting_modai.res.description.text.prompt_desc'] = 'Use this for the meta description—also works with SEO Suite.'; $_lang['setting_modai.tvs'] = 'Use with Template Variables'; -$_lang['setting_modai.tvs_desc'] = 'The Template Variable fields to attached modAI generative AI buttons to. Must be a text, textarea, image or Image+ Input Type.'; +$_lang['setting_modai.tvs_desc'] = 'Choose which custom fields should have AI generation buttons. Works with text, textarea, image, and Image+ field types.'; $_lang['setting_modai.api.execute_on_server'] = 'Execute AI\'s request on server'; -$_lang['setting_modai.api.execute_on_server_desc'] = 'If enabled, allAI requests will be executed on server side. Be aware of increased load for your server.'; +$_lang['setting_modai.api.execute_on_server_desc'] = 'If enabled, all AI requests will be processed by your server instead of the user’s browser. This may increase server load but can be more reliable.'; $_lang['setting_modai.cache.lit'] = 'Last Install Time'; $_lang['setting_modai.cache.lit_desc'] = ''; $_lang['setting_modai.contexts.resources.name'] = 'Resources Context Provider Name'; -$_lang['setting_modai.contexts.resources.name_desc'] = 'Name of the context provider that will be used to index resources. It has to be enabled.'; +$_lang['setting_modai.contexts.resources.name_desc'] = 'Name of the content source that will catalog your resources for the AI to reference. Must be enabled to work.'; $_lang['setting_modai.contexts.chunks.name'] = 'Chunks Context Provider Name'; -$_lang['setting_modai.contexts.chunks.name_desc'] = 'Name of the context provider that will be used to index chunks. It has to be enabled.'; +$_lang['setting_modai.contexts.chunks.name_desc'] = 'Name of the content source that will catalog your Chunks for the AI to reference. Must be enabled to work.'; $_lang['setting_modai.contexts.snippets.name'] = 'Snippets Context Provider Name'; -$_lang['setting_modai.contexts.snippets.name_desc'] = 'Name of the context provider that will be used to index snippets. It has to be enabled.'; +$_lang['setting_modai.contexts.snippets.name_desc'] = 'Name of the content source that will catalog your Snippets for the AI to reference. Must be enabled to work.'; $_lang['setting_modai.contexts.templates.name'] = 'Templates Context Provider Name'; -$_lang['setting_modai.contexts.templates.name_desc'] = 'Name of the context provider that will be used to index templates. It has to be enabled.'; +$_lang['setting_modai.contexts.templates.name_desc'] = 'Name of the content source that will catalog your Templates for the AI to reference. Must be enabled to work.'; $_lang['setting_modai.chat.additional_controls'] = 'Additional Chat Controls'; -$_lang['setting_modai.chat.additional_controls_desc'] = 'Define additional options for the chat window. Check docs for more info: https://modxcms.github.io/modAI'; -$_lang['setting_modai.chat.title.generate'] = 'Automatically Generate Chat TItle'; -$_lang['setting_modai.chat.title.generate_desc'] = 'If enabled, chat.title.model will be used to generate a title for a chat.'; +$_lang['setting_modai.chat.additional_controls_desc'] = 'Define extra features or options for the chat window. See the documentation for details: https://modxcms.github.io/modAI'; +$_lang['setting_modai.chat.title.generate'] = 'Automatically Generate Chat Title'; +$_lang['setting_modai.chat.title.generate_desc'] = 'If enabled, the AI will automatically create a title summarizing each new chat conversation.'; $_lang['setting_modai.chat.title.model'] = 'Chat Title Model'; -$_lang['setting_modai.chat.title.model_desc'] = 'Model used to generate a title for a chat.'; +$_lang['setting_modai.chat.title.model_desc'] = 'AI model to use when automatically generating chat titles.'; $_lang['setting_modai.chat.title.prompt'] = 'Chat Title Prompt'; -$_lang['setting_modai.chat.title.prompt_desc'] = 'A system instructions on how to generate a title for a chat.'; +$_lang['setting_modai.chat.title.prompt_desc'] = 'System instructions on how to generate a title for a chat.'; $_lang['setting_modai.chat.title.model_options'] = 'Chat Title Model Options'; -$_lang['setting_modai.chat.title.model_options_desc'] = 'Options that will be passed to the LLM model when generating chat title.'; +$_lang['setting_modai.chat.title.model_options_desc'] = 'Advanced settings sent to the AI model when it creates chat titles. Consult your provider’s documentation for available options.'; $_lang['setting_modai.init.global_chat'] = 'Global Chat'; -$_lang['setting_modai.init.global_chat_desc'] = 'If enabled, modAI will display global chat button in the main navigation.'; +$_lang['setting_modai.init.global_chat_desc'] = 'If enabled, users will see an AI chat button in the main admin menu.'; $_lang['setting_modai.init.media_browser'] = 'Media Browser'; -$_lang['setting_modai.init.media_browser_desc'] = 'If enabled, modAI will display generate icon in the media browser.'; +$_lang['setting_modai.init.media_browser_desc'] = 'If enabled, users will see an AI generate button when browsing media files.'; diff --git a/core/components/modai/lexicon/en/ui.inc.php b/core/components/modai/lexicon/en/ui.inc.php index 802bee3..9630425 100644 --- a/core/components/modai/lexicon/en/ui.inc.php +++ b/core/components/modai/lexicon/en/ui.inc.php @@ -27,7 +27,7 @@ $_lang['modai.ui.conversation_history'] = 'Conversation history'; $_lang['modai.ui.close_dialog'] = 'Close dialog'; $_lang['modai.ui.maximize_dialog'] = 'Maximize dialog'; -$_lang['modai.ui.minimize_dialog'] = 'Default dialog size'; +$_lang['modai.ui.minimize_dialog'] = 'Minimize dialog'; $_lang['modai.ui.modai_assistant'] = 'modAI Assistant'; $_lang['modai.ui.prompt_placeholder'] = 'Ask me anything…'; $_lang['modai.ui.prompt_label'] = 'Type your message'; @@ -55,7 +55,7 @@ $_lang['modai.ui.rename_chat_long'] = 'Rename Chat'; $_lang['modai.ui.delete_chat'] = 'Delete'; $_lang['modai.ui.delete_chat_long'] = 'Delete Chat'; -$_lang['modai.ui.delete_chat_desc'] = 'Are you sure you want to delete chat: "[[+title]]" and all it\'s messages? This action is irreversible.'; +$_lang['modai.ui.delete_chat_desc'] = 'Are you sure you want to delete chat: "[[+title]]" and all its messages? This action is irreversible.'; $_lang['modai.ui.pinned'] = 'Pinned'; $_lang['modai.ui.today'] = 'Today'; $_lang['modai.ui.yesterday'] = 'Yesterday'; @@ -66,12 +66,12 @@ $_lang['modai.ui.clone_chat'] = 'Clone'; $_lang['modai.ui.clone'] = 'Clone'; $_lang['modai.ui.clone_chat_long'] = 'Clone Chat'; -$_lang['modai.ui.clone_chat_desc'] = 'Are you sure you want to clone chat: "[[+title]]" and all it\'s messages?'; +$_lang['modai.ui.clone_chat_desc'] = 'Are you sure you want to clone chat: "[[+title]]" and all its messages?'; $_lang['modai.ui.read_only_chat'] = 'Read-only: hover the chat name in the sidebar and click the clone icon to unlock.'; $_lang['modai.ui.more_actions'] = 'Actions'; $_lang['modai.ui.chat_make_private'] = 'Make Private'; $_lang['modai.ui.chat_make_private_long'] = 'Make Chat Private'; -$_lang['modai.ui.chat_make_private_desc'] = 'Are you sure you want to make chat: "[[+title]]" private? Noone else will be able to see it.'; +$_lang['modai.ui.chat_make_private_desc'] = 'Are you sure you want to make chat: "[[+title]]" private? No one else will be able to see it.'; $_lang['modai.ui.chat_make_public'] = 'Make Public'; $_lang['modai.ui.chat_make_public_long'] = 'Make Chat Public'; $_lang['modai.ui.chat_make_public_desc'] = 'Are you sure you want to make chat: "[[+title]]" public? Everyone will be able to see it.'; @@ -86,7 +86,7 @@ $_lang['modai.error.failed_request'] = 'Failed to process your request.'; $_lang['modai.error.failed_try_again'] = 'Failed to generate. Please try again. [[+msg]]'; $_lang['modai.error.failed_copy'] = 'Failed to copy the generated text. Please try again.'; -$_lang['modai.error.service_required'] = 'Service is required'; +$_lang['modai.error.service_required'] = 'Please configure an AI service (like OpenAI or Google) before using this feature.'; $_lang['modai.error.service_unsupported'] = 'Unsupported Service/Parser'; $_lang['modai.error.compatability_mode'] = "Unsupported API compatibility mode (modai.api.custom.compatibility)."; $_lang['modai.error.invalid_api_key'] = "Missing modai.api.[[+service]].key"; @@ -94,23 +94,23 @@ $_lang['modai.error.not_implemented'] = "Method not implemented"; $_lang['modai.error.image_requried'] = "Image is required"; $_lang['modai.error.invalid_image'] = "Image is invalid and cannot be downloaded."; -$_lang['modai.error.unsupported_tv'] = "Unsupported TV"; -$_lang['modai.error.unsupported_field'] = "Unsupported Field"; -$_lang['modai.error.no_resource_specified'] = "No resource specified"; -$_lang['modai.error.no_resource_found'] = "Resource not found"; -$_lang['modai.error.no_content'] = "Content is empty"; -$_lang['modai.error.image_required'] = "Image or URL is required"; -$_lang['modai.error.ms_required'] = "Media Source is required"; -$_lang['modai.error.prompt_required'] = "Prompt is required"; +$_lang['modai.error.unsupported_tv'] = 'AI generation is not supported for this custom field type.'; +$_lang['modai.error.unsupported_field'] = 'AI generation is not supported for this field type.'; +$_lang['modai.error.no_resource_specified'] = 'Please select a page or content item first.'; +$_lang['modai.error.no_resource_found'] = 'The selected page or content item could not be found.'; +$_lang['modai.error.no_content'] = 'There is no content to process.'; +$_lang['modai.error.image_required'] = 'Please select an image or provide an image URL.'; +$_lang['modai.error.ms_required'] = 'Please select a destination for uploading the generated image.'; +$_lang['modai.error.prompt_required'] = 'Please enter a prompt or question for the AI.'; $_lang['modai.error.unsupported_content_type'] = 'Content type [[+type]] is not supported'; $_lang['modai.error.invalid_data_url'] = 'Invalid data URL'; $_lang['modai.error.failed_to_fetch_image'] = 'Failed to fetch image'; -$_lang['modai.error.source_not_found'] = 'MediaSource not found.'; -$_lang['modai.error.source_init failed'] = 'Failed to init MediaSource.'; +$_lang['modai.error.source_not_found'] = 'The media upload location could not be found. Check your Media Source settings.'; +$_lang['modai.error.source_init failed'] = 'Failed to initialize the media upload location. Check your configuration.'; $_lang['modai.error.system_setting_required'] = 'System setting `[[+setting]]` is required.'; -$_lang['modai.error.key_required'] = 'key is required'; +$_lang['modai.error.key_required'] = 'Key is required'; $_lang['modai.error.unknown_error'] = 'Unknown error'; -$_lang['modai.error.only_image_files_are_allowed'] = 'Only image files are allowed'; +$_lang['modai.error.only_image_files_are_allowed'] = 'Please select an image file (JPG, PNG, etc.).'; $_lang['modai.error.tool_not_available'] = 'Tool class not available: [[+class]]'; $_lang['modai.error.tool_wrong_interface'] = 'Tool does not implement the \modAI\Tools\ToolInterface'; $_lang['modai.error.tool_instance_err'] = 'Tool could not be instantiated: [[+msg]]'; @@ -120,9 +120,9 @@ $_lang['modai.error.invalid_agent'] = 'Invalid agent.'; $_lang['modai.error.invalid_context_provider_config'] = 'Invalid configuration for context provider [[+name]] ([[+class]]).'; $_lang['modai.error.invalid_model_name'] = 'Invalid model name: [[+model]].'; -$_lang['modai.error.type_required'] = 'type is required.'; +$_lang['modai.error.type_required'] = 'Type is required.'; $_lang['modai.error.invalid_chat'] = 'Chat not found.'; -$_lang['modai.error.msg_chat_required'] = 'Msg and chat_id is required.'; +$_lang['modai.error.msg_chat_required'] = 'Msg and chat_id are required.'; $_lang['modai.error.chat_out_of_sync'] = 'Chat is out of sync, please reload the page.'; $_lang['modai.error.chat_required'] = 'Chat id is required.'; $_lang['modai.error.invalid_arguments'] = 'Invalid arguments';