Enhance AIImages mod with settings support and improved UI for image generation. Update localized strings in English and Russian for better clarity. Refactor code for better organization and maintainability.

This commit is contained in:
Leonid Pershin
2025-10-26 18:09:30 +03:00
parent 990c8695b7
commit 0f60721162
17 changed files with 1907 additions and 335 deletions

View File

@@ -2,19 +2,21 @@
<LanguageData>
<!-- Gizmo (button) -->
<AIImages.Gizmo.Label>AI Image</AIImages.Gizmo.Label>
<AIImages.Gizmo.Description>Open AI Image window</AIImages.Gizmo.Description>
<AIImages.Gizmo.Description>Open AI Image window to generate character portraits</AIImages.Gizmo.Description>
<!-- Window -->
<AIImages.Window.Title>AI Image Window</AIImages.Window.Title>
<AIImages.Window.Title>AI Image Generator</AIImages.Window.Title>
<AIImages.Window.PawnLabel>Character: {0}</AIImages.Window.PawnLabel>
<AIImages.Window.Refresh>Refresh</AIImages.Window.Refresh>
<!-- Appearance -->
<AIImages.Appearance.SectionTitle>Appearance</AIImages.Appearance.SectionTitle>
<AIImages.Appearance.NoInfo>Appearance information unavailable</AIImages.Appearance.NoInfo>
<AIImages.Appearance.Gender>Gender: {0}</AIImages.Appearance.Gender>
<AIImages.Appearance.Age>Age: {0} years</AIImages.Appearance.Age>
<AIImages.Appearance.BodyType>Body type: {0}</AIImages.Appearance.BodyType>
<AIImages.Appearance.SkinColor>Skin color: RGB({0}, {1}, {2})</AIImages.Appearance.SkinColor>
<AIImages.Appearance.SkinTone>Skin tone: {0}</AIImages.Appearance.SkinTone>
<AIImages.Appearance.Hairstyle>Hairstyle: {0}</AIImages.Appearance.Hairstyle>
<AIImages.Appearance.HairColor>Hair color: RGB({0}, {1}, {2})</AIImages.Appearance.HairColor>
<AIImages.Appearance.HairColorDesc>Hair color: {0}</AIImages.Appearance.HairColorDesc>
<AIImages.Appearance.Beard>Beard: {0}</AIImages.Appearance.Beard>
<AIImages.Appearance.Traits>Traits:</AIImages.Appearance.Traits>
<!-- Apparel -->
<AIImages.Apparel.SectionTitle>Apparel</AIImages.Apparel.SectionTitle>
@@ -24,9 +26,45 @@
<AIImages.Apparel.Quality> Quality: {0}</AIImages.Apparel.Quality>
<AIImages.Apparel.Material> Material: {0}</AIImages.Apparel.Material>
<AIImages.Apparel.Durability> Durability: {0}/{1} ({2}%)</AIImages.Apparel.Durability>
<AIImages.Apparel.Color> Color: RGB({0}, {1}, {2})</AIImages.Apparel.Color>
<AIImages.Apparel.ColorDesc> Color: {0}</AIImages.Apparel.ColorDesc>
<!-- Stable Diffusion Prompt -->
<AIImages.Prompt.SectionTitle>Stable Diffusion Prompt</AIImages.Prompt.SectionTitle>
<AIImages.Prompt.CopyButton>Copy Prompt</AIImages.Prompt.CopyButton>
<AIImages.Prompt.Copied>Copied!</AIImages.Prompt.Copied>
<!-- Generation -->
<AIImages.Generation.Generate>Generate Image</AIImages.Generation.Generate>
<AIImages.Generation.Generating>Generating...</AIImages.Generation.Generating>
<AIImages.Generation.InProgress>Generating image, please wait...</AIImages.Generation.InProgress>
<AIImages.Generation.Success>Image generated successfully!</AIImages.Generation.Success>
<AIImages.Generation.Failed>Generation failed</AIImages.Generation.Failed>
<AIImages.Generation.SavedTo>Image saved to: {0}</AIImages.Generation.SavedTo>
<AIImages.Generation.NoImage>No image generated yet.\nClick "Generate Image" to start.</AIImages.Generation.NoImage>
<!-- Settings -->
<AIImages.Settings.ApiSection>API Settings</AIImages.Settings.ApiSection>
<AIImages.Settings.ApiSectionTooltip>Configure connection to Stable Diffusion API</AIImages.Settings.ApiSectionTooltip>
<AIImages.Settings.ApiEndpoint>API Endpoint</AIImages.Settings.ApiEndpoint>
<AIImages.Settings.TestConnection>Test Connection</AIImages.Settings.TestConnection>
<AIImages.Settings.LoadModels>Load Available Models</AIImages.Settings.LoadModels>
<AIImages.Settings.ConnectionSuccess>Successfully connected to API!</AIImages.Settings.ConnectionSuccess>
<AIImages.Settings.ConnectionFailed>Failed to connect to API. Check endpoint and ensure Stable Diffusion WebUI is running.</AIImages.Settings.ConnectionFailed>
<AIImages.Settings.ModelsLoaded>Loaded {0} models from API</AIImages.Settings.ModelsLoaded>
<AIImages.Settings.NoModelsFound>No models found. Check API connection.</AIImages.Settings.NoModelsFound>
<AIImages.Settings.GenerationSection>Generation Settings</AIImages.Settings.GenerationSection>
<AIImages.Settings.GenerationSectionTooltip>Configure image generation parameters</AIImages.Settings.GenerationSectionTooltip>
<AIImages.Settings.ArtStyle>Art Style</AIImages.Settings.ArtStyle>
<AIImages.Settings.ShotType>Shot Type</AIImages.Settings.ShotType>
<AIImages.Settings.Steps>Sampling Steps</AIImages.Settings.Steps>
<AIImages.Settings.CfgScale>CFG Scale</AIImages.Settings.CfgScale>
<AIImages.Settings.Width>Width</AIImages.Settings.Width>
<AIImages.Settings.Height>Height</AIImages.Settings.Height>
<AIImages.Settings.Sampler>Sampler</AIImages.Settings.Sampler>
<AIImages.Settings.PromptsSection>Prompts</AIImages.Settings.PromptsSection>
<AIImages.Settings.PromptsSectionTooltip>Base prompts that will be added to all generations</AIImages.Settings.PromptsSectionTooltip>
<AIImages.Settings.BasePositivePrompt>Base Positive Prompt</AIImages.Settings.BasePositivePrompt>
<AIImages.Settings.BaseNegativePrompt>Base Negative Prompt</AIImages.Settings.BaseNegativePrompt>
<AIImages.Settings.OptionsSection>Options</AIImages.Settings.OptionsSection>
<AIImages.Settings.AutoLoadModels>Auto-load models on startup</AIImages.Settings.AutoLoadModels>
<AIImages.Settings.ShowTechnicalInfo>Show technical information</AIImages.Settings.ShowTechnicalInfo>
<AIImages.Settings.SaveHistory>Save generation history</AIImages.Settings.SaveHistory>
<AIImages.Settings.SavePath>Save Path</AIImages.Settings.SavePath>
</LanguageData>

View File

@@ -1,22 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<LanguageData>
<!-- Gizmo (кнопка) -->
<AIImages.Gizmo.Label>AI Изображение</AIImages.Gizmo.Label>
<AIImages.Gizmo.Description>Открыть окно AI изображения</AIImages.Gizmo.Description>
<!-- Окно -->
<AIImages.Window.Title>Окно AI изображения</AIImages.Window.Title>
<!-- Gizmo (button) -->
<AIImages.Gizmo.Label>AI Портрет</AIImages.Gizmo.Label>
<AIImages.Gizmo.Description>Открыть окно генерации AI портретов персонажа</AIImages.Gizmo.Description>
<!-- Window -->
<AIImages.Window.Title>Генератор AI Изображений</AIImages.Window.Title>
<AIImages.Window.PawnLabel>Персонаж: {0}</AIImages.Window.PawnLabel>
<!-- Внешность -->
<AIImages.Window.Refresh>Обновить</AIImages.Window.Refresh>
<!-- Appearance -->
<AIImages.Appearance.SectionTitle>Внешность</AIImages.Appearance.SectionTitle>
<AIImages.Appearance.NoInfo>Информация о внешности недоступна</AIImages.Appearance.NoInfo>
<AIImages.Appearance.Gender>Пол: {0}</AIImages.Appearance.Gender>
<AIImages.Appearance.Age>Возраст: {0} лет</AIImages.Appearance.Age>
<AIImages.Appearance.BodyType>Тип тела: {0}</AIImages.Appearance.BodyType>
<AIImages.Appearance.SkinColor>Цвет кожи: RGB({0}, {1}, {2})</AIImages.Appearance.SkinColor>
<AIImages.Appearance.SkinTone>Тон кожи: {0}</AIImages.Appearance.SkinTone>
<AIImages.Appearance.Hairstyle>Прическа: {0}</AIImages.Appearance.Hairstyle>
<AIImages.Appearance.HairColor>Цвет волос: RGB({0}, {1}, {2})</AIImages.Appearance.HairColor>
<AIImages.Appearance.HairColorDesc>Цвет волос: {0}</AIImages.Appearance.HairColorDesc>
<AIImages.Appearance.Beard>Борода: {0}</AIImages.Appearance.Beard>
<AIImages.Appearance.Traits>Черты характера:</AIImages.Appearance.Traits>
<!-- Одежда -->
<!-- Apparel -->
<AIImages.Apparel.SectionTitle>Одежда</AIImages.Apparel.SectionTitle>
<AIImages.Apparel.NoInfo>Информация об одежде недоступна</AIImages.Apparel.NoInfo>
<AIImages.Apparel.NoClothes>Персонаж ничего не носит</AIImages.Apparel.NoClothes>
@@ -24,9 +26,45 @@
<AIImages.Apparel.Quality> Качество: {0}</AIImages.Apparel.Quality>
<AIImages.Apparel.Material> Материал: {0}</AIImages.Apparel.Material>
<AIImages.Apparel.Durability> Прочность: {0}/{1} ({2}%)</AIImages.Apparel.Durability>
<AIImages.Apparel.Color> Цвет: RGB({0}, {1}, {2})</AIImages.Apparel.Color>
<!-- Stable Diffusion Промпт -->
<AIImages.Prompt.SectionTitle>Промпт для Stable Diffusion</AIImages.Prompt.SectionTitle>
<AIImages.Apparel.ColorDesc> Цвет: {0}</AIImages.Apparel.ColorDesc>
<!-- Stable Diffusion Prompt -->
<AIImages.Prompt.SectionTitle>Промпт Stable Diffusion</AIImages.Prompt.SectionTitle>
<AIImages.Prompt.CopyButton>Копировать промпт</AIImages.Prompt.CopyButton>
<AIImages.Prompt.Copied>Скопировано!</AIImages.Prompt.Copied>
<!-- Generation -->
<AIImages.Generation.Generate>Сгенерировать изображение</AIImages.Generation.Generate>
<AIImages.Generation.Generating>Генерация...</AIImages.Generation.Generating>
<AIImages.Generation.InProgress>Генерируется изображение, пожалуйста подождите...</AIImages.Generation.InProgress>
<AIImages.Generation.Success>Изображение успешно сгенерировано!</AIImages.Generation.Success>
<AIImages.Generation.Failed>Ошибка генерации</AIImages.Generation.Failed>
<AIImages.Generation.SavedTo>Изображение сохранено в: {0}</AIImages.Generation.SavedTo>
<AIImages.Generation.NoImage>Изображение еще не сгенерировано.\nНажмите "Сгенерировать изображение" для начала.</AIImages.Generation.NoImage>
<!-- Settings -->
<AIImages.Settings.ApiSection>Настройки API</AIImages.Settings.ApiSection>
<AIImages.Settings.ApiSectionTooltip>Настройка подключения к API Stable Diffusion</AIImages.Settings.ApiSectionTooltip>
<AIImages.Settings.ApiEndpoint>Адрес API</AIImages.Settings.ApiEndpoint>
<AIImages.Settings.TestConnection>Проверить соединение</AIImages.Settings.TestConnection>
<AIImages.Settings.LoadModels>Загрузить доступные модели</AIImages.Settings.LoadModels>
<AIImages.Settings.ConnectionSuccess>Успешное подключение к API!</AIImages.Settings.ConnectionSuccess>
<AIImages.Settings.ConnectionFailed>Не удалось подключиться к API. Проверьте адрес и убедитесь, что Stable Diffusion WebUI запущен.</AIImages.Settings.ConnectionFailed>
<AIImages.Settings.ModelsLoaded>Загружено {0} моделей из API</AIImages.Settings.ModelsLoaded>
<AIImages.Settings.NoModelsFound>Модели не найдены. Проверьте подключение к API.</AIImages.Settings.NoModelsFound>
<AIImages.Settings.GenerationSection>Настройки генерации</AIImages.Settings.GenerationSection>
<AIImages.Settings.GenerationSectionTooltip>Настройка параметров генерации изображений</AIImages.Settings.GenerationSectionTooltip>
<AIImages.Settings.ArtStyle>Художественный стиль</AIImages.Settings.ArtStyle>
<AIImages.Settings.ShotType>Тип кадра</AIImages.Settings.ShotType>
<AIImages.Settings.Steps>Количество шагов сэмплирования</AIImages.Settings.Steps>
<AIImages.Settings.CfgScale>CFG Scale</AIImages.Settings.CfgScale>
<AIImages.Settings.Width>Ширина</AIImages.Settings.Width>
<AIImages.Settings.Height>Высота</AIImages.Settings.Height>
<AIImages.Settings.Sampler>Сэмплер</AIImages.Settings.Sampler>
<AIImages.Settings.PromptsSection>Промпты</AIImages.Settings.PromptsSection>
<AIImages.Settings.PromptsSectionTooltip>Базовые промпты, которые будут добавлены ко всем генерациям</AIImages.Settings.PromptsSectionTooltip>
<AIImages.Settings.BasePositivePrompt>Базовый позитивный промпт</AIImages.Settings.BasePositivePrompt>
<AIImages.Settings.BaseNegativePrompt>Базовый негативный промпт</AIImages.Settings.BaseNegativePrompt>
<AIImages.Settings.OptionsSection>Опции</AIImages.Settings.OptionsSection>
<AIImages.Settings.AutoLoadModels>Автоматически загружать модели при запуске</AIImages.Settings.AutoLoadModels>
<AIImages.Settings.ShowTechnicalInfo>Показывать техническую информацию</AIImages.Settings.ShowTechnicalInfo>
<AIImages.Settings.SaveHistory>Сохранять историю генераций</AIImages.Settings.SaveHistory>
<AIImages.Settings.SavePath>Путь для сохранения</AIImages.Settings.SavePath>
</LanguageData>