mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-03-07 14:09:59 +00:00
refactor: move ellipsis and punctuation into i18n translation strings (#8573)
## Summary
Move ellipsis and punctuation characters into i18n translation strings
for proper internationalization support.
## Changes
- Add 12 new translation keys with punctuation included:
- Placeholder keys with trailing ellipsis (e.g.,
`searchNodesPlaceholder: "Search Nodes..."`)
- `downloadWithSize` with interpolation: `"Download ({size})"`
- `completedWithCheckmark`: `"Completed ✓"`
- Prompt keys with colons (e.g., `enterNewNamePrompt: "Enter new
name:"`)
- Update 20 files to use new translation keys instead of string
concatenation
## Review Focus
This eliminates string concatenation patterns like `$t('key') + '...'`
that break proper internationalization, since different languages may
use different punctuation or may not need ellipsis/colons in the same
contexts.
Fixes #7333
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Chores**
* Standardized localization across the app: unified search placeholders
and input hints; updated dialog prompt texts for renaming,
saving/exporting, and related prompts.
* **New Features**
* Download buttons now show file size via localized text.
* Completed status displays a localized label with a checkmark.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8573-refactor-move-ellipsis-and-punctuation-into-i18n-translation-strings-2fc6d73d365081828ad3f257bcac7799)
by [Unito](https://www.unito.io)
This commit is contained in:
@@ -30,7 +30,7 @@
|
||||
v-model="searchQuery"
|
||||
:autofocus="true"
|
||||
size="lg"
|
||||
:placeholder="$t('g.searchPlaceholder')"
|
||||
:placeholder="$t('g.searchPlaceholder', { subject: '' })"
|
||||
class="max-w-96"
|
||||
/>
|
||||
<Button
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
<div class="flex gap-3 items-center">
|
||||
<SearchBox
|
||||
:model-value="searchQuery"
|
||||
:placeholder="$t('sideToolbar.searchAssets') + '...'"
|
||||
:placeholder="
|
||||
$t('g.searchPlaceholder', { subject: $t('sideToolbar.labels.assets') })
|
||||
"
|
||||
@update:model-value="handleSearchChange"
|
||||
/>
|
||||
<div class="flex gap-1.5 items-center">
|
||||
|
||||
@@ -3,7 +3,9 @@
|
||||
<template #header>
|
||||
<SearchBox
|
||||
v-model="filters['global'].value"
|
||||
:placeholder="$t('g.searchExtensions') + '...'"
|
||||
:placeholder="
|
||||
$t('g.searchPlaceholder', { subject: $t('g.extensions') })
|
||||
"
|
||||
/>
|
||||
<Message
|
||||
v-if="hasChanges"
|
||||
|
||||
@@ -18,7 +18,9 @@
|
||||
<SearchBox
|
||||
v-model:model-value="searchQuery"
|
||||
class="settings-search-box mb-2 w-full"
|
||||
:placeholder="$t('g.searchSettings') + '...'"
|
||||
:placeholder="
|
||||
$t('g.searchPlaceholder', { subject: $t('g.settings') })
|
||||
"
|
||||
:debounce-time="128"
|
||||
autofocus
|
||||
@search="handleSearch"
|
||||
|
||||
@@ -55,7 +55,7 @@ export function useWorkflowActionsService() {
|
||||
if (settingStore.get('Comfy.PromptFilename')) {
|
||||
const input = await dialogService.prompt({
|
||||
title: t('workflowService.exportWorkflow'),
|
||||
message: t('workflowService.enterFilename') + ':',
|
||||
message: t('workflowService.enterFilenamePrompt'),
|
||||
defaultValue: filename
|
||||
})
|
||||
// User cancelled the prompt
|
||||
|
||||
@@ -35,7 +35,7 @@ export const useWorkflowService = () => {
|
||||
if (settingStore.get('Comfy.PromptFilename')) {
|
||||
let filename = await dialogService.prompt({
|
||||
title: t('workflowService.exportWorkflow'),
|
||||
message: t('workflowService.enterFilename') + ':',
|
||||
message: t('workflowService.enterFilenamePrompt'),
|
||||
defaultValue: defaultName
|
||||
})
|
||||
if (!filename) return null
|
||||
|
||||
@@ -161,7 +161,7 @@ export class ComfyWorkflow extends UserFile {
|
||||
async promptSave(): Promise<string | null> {
|
||||
return await useDialogService().prompt({
|
||||
title: t('workflowService.saveWorkflow'),
|
||||
message: t('workflowService.enterFilename') + ':',
|
||||
message: t('workflowService.enterFilenamePrompt'),
|
||||
defaultValue: this.filename
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user