[Update] Main Page: TranslatorSelector: Add the label 'default'.
This commit is contained in:
@@ -36,7 +36,7 @@ main_page:
|
|||||||
swap_button_label: "Swap Languages"
|
swap_button_label: "Swap Languages"
|
||||||
target_language: "Target Language"
|
target_language: "Target Language"
|
||||||
translator: "Translator"
|
translator: "Translator"
|
||||||
# translator_label_default: "Default"
|
translator_label_default: "Default"
|
||||||
|
|
||||||
translator_selector:
|
translator_selector:
|
||||||
is_selected_same_language: "Since the same language is selected for both '{{your_language}}' and '{{target_language}}', only '{{ctranslate2}}' is available."
|
is_selected_same_language: "Since the same language is selected for both '{{your_language}}' and '{{target_language}}', only '{{ctranslate2}}' is available."
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ main_page:
|
|||||||
swap_button_label: "言語を入れ替え"
|
swap_button_label: "言語を入れ替え"
|
||||||
target_language: "相手の言語"
|
target_language: "相手の言語"
|
||||||
translator: "翻訳エンジン"
|
translator: "翻訳エンジン"
|
||||||
# translator_label_default: "Default"
|
translator_label_default: "デフォルト"
|
||||||
|
|
||||||
translator_selector:
|
translator_selector:
|
||||||
is_selected_same_language: "「{{your_language}}」と「{{target_language}}」に同じ言語が選択がされているため、「{{ctranslate2}}」のみが使用できます。"
|
is_selected_same_language: "「{{your_language}}」と「{{target_language}}」に同じ言語が選択がされているため、「{{ctranslate2}}」のみが使用できます。"
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ main_page:
|
|||||||
swap_button_label: "언어 교체"
|
swap_button_label: "언어 교체"
|
||||||
target_language: "상대방의 언어"
|
target_language: "상대방의 언어"
|
||||||
translator: "번역 엔진"
|
translator: "번역 엔진"
|
||||||
# translator_label_default: "기본값"
|
translator_label_default: "기본값"
|
||||||
|
|
||||||
translator_selector:
|
translator_selector:
|
||||||
is_selected_same_language:
|
is_selected_same_language:
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ main_page:
|
|||||||
swap_button_label: "互换"
|
swap_button_label: "互换"
|
||||||
target_language: "目标语言"
|
target_language: "目标语言"
|
||||||
translator: "翻译器"
|
translator: "翻译器"
|
||||||
# translator_label_default: "默认"
|
translator_label_default: "默认"
|
||||||
|
|
||||||
translator_selector:
|
translator_selector:
|
||||||
is_selected_same_language:
|
is_selected_same_language:
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ main_page:
|
|||||||
swap_button_label: "交換語言"
|
swap_button_label: "交換語言"
|
||||||
target_language: "目標語言"
|
target_language: "目標語言"
|
||||||
translator: "翻譯器"
|
translator: "翻譯器"
|
||||||
# translator_label_default: "預設"
|
translator_label_default: "預設"
|
||||||
|
|
||||||
translator_selector:
|
translator_selector:
|
||||||
is_selected_same_language:
|
is_selected_same_language:
|
||||||
|
|||||||
@@ -15,12 +15,13 @@ export const TranslatorSelector = ({selected_id, translation_engines, is_selecte
|
|||||||
<div className={styles.wrapper}>
|
<div className={styles.wrapper}>
|
||||||
{columns.map((column, column_index) => (
|
{columns.map((column, column_index) => (
|
||||||
<div className={styles.column_wrapper} key={`column_${column_index}`}>
|
<div className={styles.column_wrapper} key={`column_${column_index}`}>
|
||||||
{column.map(({ id, label, is_available }) => (
|
{column.map(({ id, label, is_available, is_default }) => (
|
||||||
<TranslatorBox
|
<TranslatorBox
|
||||||
key={id}
|
key={id}
|
||||||
id={id}
|
id={id}
|
||||||
label={label}
|
label={label}
|
||||||
is_available={is_available}
|
is_available={is_available}
|
||||||
|
is_default={is_default}
|
||||||
is_selected={(id === selected_id)}
|
is_selected={(id === selected_id)}
|
||||||
/>
|
/>
|
||||||
))}
|
))}
|
||||||
@@ -45,6 +46,7 @@ export const TranslatorSelector = ({selected_id, translation_engines, is_selecte
|
|||||||
};
|
};
|
||||||
|
|
||||||
const TranslatorBox = (props) => {
|
const TranslatorBox = (props) => {
|
||||||
|
const { t } = useTranslation();
|
||||||
const { setSelectedTranslationEngines} = useLanguageSettings();
|
const { setSelectedTranslationEngines} = useLanguageSettings();
|
||||||
const { updateIsOpenedTranslatorSelector} = useStore_IsOpenedTranslatorSelector();
|
const { updateIsOpenedTranslatorSelector} = useStore_IsOpenedTranslatorSelector();
|
||||||
|
|
||||||
@@ -53,6 +55,10 @@ const TranslatorBox = (props) => {
|
|||||||
{ [styles.is_selected]: props.is_selected },
|
{ [styles.is_selected]: props.is_selected },
|
||||||
{ [styles.is_available]: props.is_available }
|
{ [styles.is_available]: props.is_available }
|
||||||
);
|
);
|
||||||
|
const label_default_class_name = clsx(
|
||||||
|
styles.label_default,
|
||||||
|
{ [styles.is_selected]: props.is_selected },
|
||||||
|
);
|
||||||
|
|
||||||
const selectTranslator = () => {
|
const selectTranslator = () => {
|
||||||
if (props.is_selected === false) {
|
if (props.is_selected === false) {
|
||||||
@@ -60,9 +66,11 @@ const TranslatorBox = (props) => {
|
|||||||
}
|
}
|
||||||
updateIsOpenedTranslatorSelector(false);
|
updateIsOpenedTranslatorSelector(false);
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={box_class_name} onClick={selectTranslator}>
|
<div className={box_class_name} onClick={selectTranslator}>
|
||||||
<p className={styles.translator_name}>{props.label}</p>
|
<p className={styles.translator_name}>{props.label}</p>
|
||||||
|
{props.is_default && <p className={label_default_class_name}>{t("main_page.translator_label_default")}</p>}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
@@ -17,26 +17,26 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.wrapper {
|
.wrapper {
|
||||||
// padding: 1rem;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 1rem;
|
gap: 1.4rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.column_wrapper {
|
.column_wrapper {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 1rem;
|
gap: 1.2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
$box_size: 6rem;
|
$box_size: 6.2rem;
|
||||||
.box {
|
.box {
|
||||||
width: 9.2rem;
|
position: relative;
|
||||||
|
width: 9.4rem;
|
||||||
height: $box_size;
|
height: $box_size;
|
||||||
background-color: var(--dark_875_color);
|
background-color: var(--dark_875_color);
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -51,10 +51,10 @@ $box_size: 6rem;
|
|||||||
}
|
}
|
||||||
&:active {
|
&:active {
|
||||||
background-color: var(--dark_900_color);
|
background-color: var(--dark_900_color);
|
||||||
border: 0.1rem solid var(--primary_300_color);
|
outline: 0.1rem solid var(--primary_300_color);
|
||||||
}
|
}
|
||||||
&.is_selected {
|
&.is_selected {
|
||||||
border: 0.2rem solid var(--primary_300_color);
|
outline: 0.2rem solid var(--primary_300_color);
|
||||||
}
|
}
|
||||||
&:not(.is_available) {
|
&:not(.is_available) {
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
@@ -69,6 +69,22 @@ $box_size: 6rem;
|
|||||||
font-size: 1.4rem;
|
font-size: 1.4rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.label_default {
|
||||||
|
background-color: var(--dark_875_color);
|
||||||
|
outline: 0.1rem solid var(--dark_1000_color);
|
||||||
|
padding: 0.2rem 0.4rem;
|
||||||
|
border-radius: 0.2rem;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
position: absolute;
|
||||||
|
top: -0.8rem;
|
||||||
|
right: -0.8rem;
|
||||||
|
pointer-events: none;
|
||||||
|
&.is_selected {
|
||||||
|
outline: 0.1rem solid var(--primary_300_color);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.is_selected_same_language_wrapper {
|
.is_selected_same_language_wrapper {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user