1
0
Fork 0

add strings for new features

This commit is contained in:
Sean Sube 2024-02-16 23:11:30 -06:00
parent dff6dfa8ac
commit 6f35b57e6e
Signed by: ssube
GPG Key ID: 3EED7B957D362AF1
7 changed files with 103 additions and 13 deletions

View File

@ -3,6 +3,7 @@ import { mustDefault, mustExist } from '@apextoaster/js-utils';
import { Checkbox, FormControlLabel, Stack, TextField } from '@mui/material';
import { useTranslation } from 'react-i18next';
import * as React from 'react';
import { useState } from 'react';
import { useQuery } from '@tanstack/react-query';
import { STALE_TIME, STANDARD_SPACING } from '../../constants.js';
@ -10,13 +11,24 @@ import { NumericField } from '../input/NumericField.js';
import { QueryList } from '../input/QueryList.js';
import { ClientContext } from '../../state/full.js';
export interface ExperimentalParams {
latent_symmetry: boolean;
latent_symmetry_gradient_start: number;
latent_symmetry_gradient_end: number;
latent_symmetry_line_of_symmetry: number;
prompt_editing: boolean;
prompt_filter: string;
remove_tokens: string;
add_suffix: string;
}
export interface ExperimentalControlProps {
setExperimental(params: Record<string, unknown>): void;
}
export function ExperimentalControl(props: ExperimentalControlProps) {
const { t } = useTranslation();
const state = {
const [state, setState] = useState<ExperimentalParams>({
latent_symmetry: false,
latent_symmetry_gradient_start: 0.1,
latent_symmetry_gradient_end: 0.3,
@ -25,7 +37,7 @@ export function ExperimentalControl(props: ExperimentalControlProps) {
prompt_filter: '',
remove_tokens: '',
add_suffix: '',
};
});
const client = mustExist(React.useContext(ClientContext));
const filters = useQuery(['filters'], async () => client.filters(), {
@ -41,7 +53,8 @@ export function ExperimentalControl(props: ExperimentalControlProps) {
checked={state.latent_symmetry}
value='check'
onChange={(event) => {
props.setExperimental({
setState({
...state,
latent_symmetry: state.latent_symmetry === false,
});
}}
@ -49,39 +62,45 @@ export function ExperimentalControl(props: ExperimentalControlProps) {
/>
<NumericField
decimal
disabled={state.latent_symmetry === false}
label={t('experimental.latent_symmetry.gradient_start')}
min={0}
max={0.5}
step={0.01}
value={state.latent_symmetry_gradient_start}
onChange={(latent_symmetry_gradient_start) => {
props.setExperimental({
setState({
...state,
latent_symmetry_gradient_start,
});
}}
/>
<NumericField
decimal
disabled={state.latent_symmetry === false}
label={t('experimental.latent_symmetry.gradient_end')}
min={0}
max={0.5}
step={0.01}
value={state.latent_symmetry_gradient_end}
onChange={(latent_symmetry_gradient_end) => {
props.setExperimental({
setState({
...state,
latent_symmetry_gradient_end,
});
}}
/>
<NumericField
decimal
disabled={state.latent_symmetry === false}
label={t('experimental.latent_symmetry.line_of_symmetry')}
min={0}
max={1}
step={0.01}
value={state.latent_symmetry_line_of_symmetry}
onChange={(latent_symmetry_line_of_symmetry) => {
props.setExperimental({
setState({
...state,
latent_symmetry_line_of_symmetry,
});
}}
@ -95,43 +114,50 @@ export function ExperimentalControl(props: ExperimentalControlProps) {
checked={state.prompt_editing}
value='check'
onChange={(event) => {
props.setExperimental({
setState({
...state,
prompt_editing: state.prompt_editing === false,
});
}}
/>}
/>
<QueryList
disabled={state.prompt_editing === false}
id='prompt_filters'
labelKey='prompt_filter'
name={t('experimental.prompt_editing.prompt_filters')}
labelKey='model.prompt'
name={t('experimental.prompt_editing.filter')}
query={{
result: filters,
selector: (f) => f.prompt,
}}
value={mustDefault(state.prompt_filter, '')}
onChange={(prompt_filter) => {
props.setExperimental({
setState({
...state,
prompt_filter,
});
}}
/>
<TextField
disabled={state.prompt_editing === false}
label={t('experimental.prompt_editing.remove_tokens')}
variant='outlined'
value={state.remove_tokens}
onChange={(event) => {
props.setExperimental({
setState({
...state,
remove_tokens: event.target.value,
});
}}
/>
<TextField
disabled={state.prompt_editing === false}
label={t('experimental.prompt_editing.add_suffix')}
variant='outlined'
value={state.add_suffix}
onChange={(event) => {
props.setExperimental({
setState({
...state,
add_suffix: event.target.value,
});
}}

View File

@ -15,6 +15,7 @@ export interface QueryListFilter<T> {
}
export interface QueryListProps<T> {
disabled?: boolean;
id: string;
labelKey: string;
name: string;
@ -107,6 +108,7 @@ export function QueryList<T>(props: QueryListProps<T>) {
return <FormControl>
<InputLabel id={labelID}>{props.name}</InputLabel>
<Select
disabled={props.disabled}
labelId={labelID}
label={props.name}
value={firstValidValue()}

View File

@ -106,11 +106,11 @@ export function Txt2Img() {
<SizeControl />
<HighresControl selectHighres={selectHighres} setHighres={setHighres} />
<UpscaleControl selectUpscale={selectUpscale} setUpscale={setUpscale} />
<VariableControl selectGrid={selectVariable} setGrid={setVariable} />
<ExperimentalControl setExperimental={(props) => {
// eslint-disable-next-line no-console
console.log('setting experimental props', props);
}} />
<VariableControl selectGrid={selectVariable} setGrid={setVariable} />
<Button
variant='contained'
onClick={() => generate.mutate()}

View File

@ -22,6 +22,20 @@ export const I18N_STRINGS_DE = {
support: 'Dieses Modell unterstützt möglicherweise keine Bearbeitung.',
},
},
experimental: {
latent_symmetry: {
label: '', // 'Latente Symmetrie',
gradient_start: '', // 'Gradientenstart',
gradient_end: '', // 'Gradientenende',
line_of_symmetry: '', // 'Symmetrielinie',
},
prompt_editing: {
add_suffix: '', // 'Suffix hinzufügen',
filter: '', // 'Prompt-Filter',
label: '', // 'Prompt-Bearbeitung',
remove_tokens: '', // 'Entfernen Sie Token',
},
},
extras: {
add: 'Artikel hinzufügen',
dest: 'Ordnernamen',

View File

@ -17,6 +17,20 @@ export const I18N_STRINGS_EN = {
support: 'This diffusion model may not support inpainting.',
},
},
experimental: {
latent_symmetry: {
label: 'Latent Symmetry',
gradient_start: 'Gradient Start',
gradient_end: 'Gradient End',
line_of_symmetry: 'Line of Symmetry',
},
prompt_editing: {
add_suffix: 'Add Suffix',
filter: 'Prompt Filter',
label: 'Prompt Editing',
remove_tokens: 'Remove Tokens',
},
},
extras: {
add: 'Add',
dest: 'Folder',
@ -156,6 +170,12 @@ export const I18N_STRINGS_EN = {
scribble: 'Scribble',
seg: 'Image Segmentation',
},
'prompt': {
'AUTOMATIC/promptgen-lexart': 'LexArt',
'AUTOMATIC/promptgen-majinai-safe': 'Majinai (Safe)',
'AUTOMATIC/promptgen-majinai-unsafe': 'Majinai (Unsafe)',
'Gustavosta/MagicPrompt-Stable-Diffusion': 'MagicPrompt',
}
},
modelType: {
control: 'ControlNet',

View File

@ -22,6 +22,20 @@ export const I18N_STRINGS_ES = {
support: 'Es posible que este modelo no admita la edición.',
},
},
experimental: {
latent_symmetry: {
label: '',
gradient_start: '',
gradient_end: '',
line_of_symmetry: '',
},
prompt_editing: {
add_suffix: '',
filter: '',
label: '',
remove_tokens: '',
},
},
extras: {
add: 'Agregar',
dest: 'Nombre de la carpeta',

View File

@ -22,6 +22,20 @@ export const I18N_STRINGS_FR = {
support: 'ce modèle peut ne pas prendre en charge l\'édition',
},
},
experimental: {
latent_symmetry: {
label: '',
gradient_start: '',
gradient_end: '',
line_of_symmetry: '',
},
prompt_editing: {
add_suffix: '',
filter: '',
label: '',
remove_tokens: '',
},
},
extras: {
add: 'ajouter',
dest: 'nom de dossier',