Skip to content

Commit 1cabeca

Browse files
committed
fix(ui): localize deferred right panel states
1 parent 5c9f073 commit 1cabeca

9 files changed

Lines changed: 67 additions & 20 deletions

File tree

packages/ui/src/components/instance/shell/right-panel/tabs/ChangesTab.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,13 @@ const ChangesTab: Component<ChangesTabProps> = (props) => {
115115
}
116116
>
117117
{(file) => (
118-
<Suspense fallback={<div class="file-viewer-empty"><span class="file-viewer-empty-text">Loading diff…</span></div>}>
118+
<Suspense
119+
fallback={
120+
<div class="file-viewer-empty">
121+
<span class="file-viewer-empty-text">{props.t("instanceInfo.loading")}</span>
122+
</div>
123+
}
124+
>
119125
<LazyMonacoDiffViewer
120126
scopeKey={scopeKey()}
121127
path={String(file().file || "")}
@@ -224,7 +230,7 @@ const ChangesTab: Component<ChangesTabProps> = (props) => {
224230
onResizeMouseDown={props.onResizeMouseDown}
225231
onResizeTouchStart={props.onResizeTouchStart}
226232
isPhoneLayout={props.isPhoneLayout()}
227-
overlayAriaLabel="Changes"
233+
overlayAriaLabel={props.t("instanceShell.rightPanel.tabs.changes")}
228234
/>
229235
)
230236
}

packages/ui/src/components/instance/shell/right-panel/tabs/FilesTab.tsx

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ const FilesTab: Component<FilesTabProps> = (props) => {
5353
const headerDisplayedPath = () => props.browserSelectedPath() || props.browserPath()
5454

5555
const emptyViewerMessage = () => {
56-
if (props.browserLoading() && entriesValue === null) return "Loading files..."
57-
return "Select a file to preview"
56+
if (props.browserLoading() && entriesValue === null) return props.t("instanceInfo.loading")
57+
return props.t("instanceShell.filesShell.viewerEmpty")
5858
}
5959

6060
const renderViewer = () => (
@@ -79,7 +79,13 @@ const FilesTab: Component<FilesTabProps> = (props) => {
7979
}
8080
>
8181
{(payload) => (
82-
<Suspense fallback={<div class="file-viewer-empty"><span class="file-viewer-empty-text">Loading file…</span></div>}>
82+
<Suspense
83+
fallback={
84+
<div class="file-viewer-empty">
85+
<span class="file-viewer-empty-text">{props.t("instanceInfo.loading")}</span>
86+
</div>
87+
}
88+
>
8389
<LazyMonacoFileViewer scopeKey={props.scopeKey()} path={payload().path} content={payload().content} />
8490
</Suspense>
8591
)}
@@ -95,7 +101,7 @@ const FilesTab: Component<FilesTabProps> = (props) => {
95101
}
96102
>
97103
<div class="file-viewer-empty">
98-
<span class="file-viewer-empty-text">Loading…</span>
104+
<span class="file-viewer-empty-text">{props.t("instanceInfo.loading")}</span>
99105
</div>
100106
</Show>
101107
</div>
@@ -117,7 +123,7 @@ const FilesTab: Component<FilesTabProps> = (props) => {
117123
</Show>
118124

119125
<Show when={props.browserLoading() && entriesValue === null}>
120-
<div class="p-3 text-xs text-secondary">Loading files...</div>
126+
<div class="p-3 text-xs text-secondary">{props.t("instanceInfo.loading")}</div>
121127
</Show>
122128

123129
<For each={sorted}>
@@ -158,7 +164,7 @@ const FilesTab: Component<FilesTabProps> = (props) => {
158164
</span>
159165
</span>
160166
<Show when={props.browserLoading()}>
161-
<span>Loading…</span>
167+
<span>{props.t("instanceInfo.loading")}</span>
162168
</Show>
163169
<Show when={props.browserError()}>{(err) => <span class="text-error">{err()}</span>}</Show>
164170
</div>
@@ -184,7 +190,7 @@ const FilesTab: Component<FilesTabProps> = (props) => {
184190
onResizeMouseDown={props.onResizeMouseDown}
185191
onResizeTouchStart={props.onResizeTouchStart}
186192
isPhoneLayout={props.isPhoneLayout()}
187-
overlayAriaLabel="Files"
193+
overlayAriaLabel={props.t("instanceShell.rightPanel.tabs.files")}
188194
/>
189195
)
190196
}

packages/ui/src/components/instance/shell/right-panel/tabs/GitChangesTab.tsx

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,11 @@ const GitChangesTab: Component<GitChangesTabProps> = (props) => {
8282
})
8383

8484
const emptyViewerMessage = createMemo(() => {
85-
if (!hasSession()) return "Select a session to view changes."
85+
if (!hasSession()) return props.t("instanceShell.sessionChanges.noSessionSelected")
8686
const currentEntries = entries()
87-
if (currentEntries === null) return "Loading git changes…"
88-
if (nonDeleted().length === 0) return "No git changes yet."
89-
return "No file selected."
87+
if (currentEntries === null) return props.t("instanceShell.gitChanges.loading")
88+
if (nonDeleted().length === 0) return props.t("instanceShell.gitChanges.empty")
89+
return props.t("instanceShell.filesShell.viewerEmpty")
9090
})
9191

9292
const renderContent = (): JSX.Element => {
@@ -124,7 +124,13 @@ const GitChangesTab: Component<GitChangesTabProps> = (props) => {
124124
}
125125
>
126126
{(file) => (
127-
<Suspense fallback={<div class="file-viewer-empty"><span class="file-viewer-empty-text">Loading diff…</span></div>}>
127+
<Suspense
128+
fallback={
129+
<div class="file-viewer-empty">
130+
<span class="file-viewer-empty-text">{props.t("instanceInfo.loading")}</span>
131+
</div>
132+
}
133+
>
128134
<LazyMonacoDiffViewer
129135
scopeKey={props.scopeKey()}
130136
path={String(file().path || "")}
@@ -148,7 +154,7 @@ const GitChangesTab: Component<GitChangesTabProps> = (props) => {
148154
}
149155
>
150156
<div class="file-viewer-empty">
151-
<span class="file-viewer-empty-text">Loading…</span>
157+
<span class="file-viewer-empty-text">{props.t("instanceInfo.loading")}</span>
152158
</div>
153159
</Show>
154160
</div>
@@ -173,7 +179,7 @@ const GitChangesTab: Component<GitChangesTabProps> = (props) => {
173179
</div>
174180
<div class="file-list-item-stats">
175181
<Show when={item.status === "deleted"}>
176-
<span class="text-[10px] text-secondary">deleted</span>
182+
<span class="text-[10px] text-secondary">{props.t("instanceShell.gitChanges.deleted")}</span>
177183
</Show>
178184
<Show when={item.status !== "deleted"}>
179185
<>
@@ -204,7 +210,7 @@ const GitChangesTab: Component<GitChangesTabProps> = (props) => {
204210
</div>
205211
<div class="file-list-item-stats">
206212
<Show when={item.status === "deleted"}>
207-
<span class="text-[10px] text-secondary">deleted</span>
213+
<span class="text-[10px] text-secondary">{props.t("instanceShell.gitChanges.deleted")}</span>
208214
</Show>
209215
<Show when={item.status !== "deleted"}>
210216
<>
@@ -224,8 +230,8 @@ const GitChangesTab: Component<GitChangesTabProps> = (props) => {
224230
<SplitFilePanel
225231
header={
226232
<>
227-
<span class="files-tab-selected-path" title={selected?.path || "Git Changes"}>
228-
<span class="file-path-text">{selected?.path || "Git Changes"}</span>
233+
<span class="files-tab-selected-path" title={selected?.path || props.t("instanceShell.rightPanel.tabs.gitChanges")}>
234+
<span class="file-path-text">{selected?.path || props.t("instanceShell.rightPanel.tabs.gitChanges")}</span>
229235
</span>
230236

231237
<div class="files-tab-stats" style={{ flex: "0 0 auto" }}>
@@ -268,7 +274,7 @@ const GitChangesTab: Component<GitChangesTabProps> = (props) => {
268274
onResizeMouseDown={props.onResizeMouseDown}
269275
onResizeTouchStart={props.onResizeTouchStart}
270276
isPhoneLayout={props.isPhoneLayout()}
271-
overlayAriaLabel="Git Changes"
277+
overlayAriaLabel={props.t("instanceShell.rightPanel.tabs.gitChanges")}
272278
/>
273279
)
274280
}

packages/ui/src/lib/i18n/messages/en/instance.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,10 @@ export const instanceMessages = {
114114
"instanceShell.sessionChanges.filesChanged": "{count} files changed",
115115
"instanceShell.sessionChanges.actions.show": "Show changes",
116116

117+
"instanceShell.gitChanges.loading": "Loading git changes...",
118+
"instanceShell.gitChanges.empty": "No git changes yet.",
119+
"instanceShell.gitChanges.deleted": "Deleted",
120+
117121
"instanceShell.filesShell.fileListTitle": "File list",
118122
"instanceShell.filesShell.mobileSelectorLabel": "Select file",
119123
"instanceShell.filesShell.mobileSelectorEmpty": "Select a file",

packages/ui/src/lib/i18n/messages/es/instance.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ export const instanceMessages = {
9090

9191
"instanceShell.rightPanel.title": "Panel de estado",
9292
"instanceShell.rightPanel.tabs.changes": "Cambios",
93+
"instanceShell.rightPanel.tabs.gitChanges": "Cambios de Git",
9394
"instanceShell.rightPanel.tabs.files": "Archivos",
9495
"instanceShell.rightPanel.tabs.status": "Estado",
9596
"instanceShell.rightPanel.tabs.ariaLabel": "Pestañas del panel derecho",
@@ -112,6 +113,10 @@ export const instanceMessages = {
112113
"instanceShell.sessionChanges.filesChanged": "{count} archivos cambiados",
113114
"instanceShell.sessionChanges.actions.show": "Mostrar cambios",
114115

116+
"instanceShell.gitChanges.loading": "Cargando cambios de Git...",
117+
"instanceShell.gitChanges.empty": "Aún no hay cambios de Git.",
118+
"instanceShell.gitChanges.deleted": "Eliminado",
119+
115120
"instanceShell.filesShell.fileListTitle": "Lista de archivos",
116121
"instanceShell.filesShell.mobileSelectorLabel": "Seleccionar archivo",
117122
"instanceShell.filesShell.mobileSelectorEmpty": "Selecciona un archivo",

packages/ui/src/lib/i18n/messages/fr/instance.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ export const instanceMessages = {
9090

9191
"instanceShell.rightPanel.title": "Panneau d'état",
9292
"instanceShell.rightPanel.tabs.changes": "Modifications",
93+
"instanceShell.rightPanel.tabs.gitChanges": "Changements Git",
9394
"instanceShell.rightPanel.tabs.files": "Fichiers",
9495
"instanceShell.rightPanel.tabs.status": "Statut",
9596
"instanceShell.rightPanel.tabs.ariaLabel": "Onglets du panneau droit",
@@ -112,6 +113,10 @@ export const instanceMessages = {
112113
"instanceShell.sessionChanges.filesChanged": "{count} fichiers modifiés",
113114
"instanceShell.sessionChanges.actions.show": "Afficher les changements",
114115

116+
"instanceShell.gitChanges.loading": "Chargement des changements Git...",
117+
"instanceShell.gitChanges.empty": "Aucun changement Git pour l'instant.",
118+
"instanceShell.gitChanges.deleted": "Supprimé",
119+
115120
"instanceShell.filesShell.fileListTitle": "Liste des fichiers",
116121
"instanceShell.filesShell.mobileSelectorLabel": "Sélectionner un fichier",
117122
"instanceShell.filesShell.mobileSelectorEmpty": "Sélectionnez un fichier",

packages/ui/src/lib/i18n/messages/ja/instance.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ export const instanceMessages = {
9090

9191
"instanceShell.rightPanel.title": "ステータスパネル",
9292
"instanceShell.rightPanel.tabs.changes": "変更",
93+
"instanceShell.rightPanel.tabs.gitChanges": "Git 変更",
9394
"instanceShell.rightPanel.tabs.files": "ファイル",
9495
"instanceShell.rightPanel.tabs.status": "ステータス",
9596
"instanceShell.rightPanel.tabs.ariaLabel": "右パネルのタブ",
@@ -112,6 +113,10 @@ export const instanceMessages = {
112113
"instanceShell.sessionChanges.filesChanged": "{count} 個のファイルが変更されました",
113114
"instanceShell.sessionChanges.actions.show": "変更を表示",
114115

116+
"instanceShell.gitChanges.loading": "Git の変更を読み込み中...",
117+
"instanceShell.gitChanges.empty": "Git の変更はまだありません。",
118+
"instanceShell.gitChanges.deleted": "削除済み",
119+
115120
"instanceShell.filesShell.fileListTitle": "ファイル一覧",
116121
"instanceShell.filesShell.mobileSelectorLabel": "ファイルを選択",
117122
"instanceShell.filesShell.mobileSelectorEmpty": "ファイルを選択してください",

packages/ui/src/lib/i18n/messages/ru/instance.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ export const instanceMessages = {
9090

9191
"instanceShell.rightPanel.title": "Панель состояния",
9292
"instanceShell.rightPanel.tabs.changes": "Изменения",
93+
"instanceShell.rightPanel.tabs.gitChanges": "Изменения Git",
9394
"instanceShell.rightPanel.tabs.files": "Файлы",
9495
"instanceShell.rightPanel.tabs.status": "Статус",
9596
"instanceShell.rightPanel.tabs.ariaLabel": "Вкладки правой панели",
@@ -112,6 +113,10 @@ export const instanceMessages = {
112113
"instanceShell.sessionChanges.filesChanged": "Изменено файлов: {count}",
113114
"instanceShell.sessionChanges.actions.show": "Показать изменения",
114115

116+
"instanceShell.gitChanges.loading": "Загрузка изменений Git...",
117+
"instanceShell.gitChanges.empty": "Изменений Git пока нет.",
118+
"instanceShell.gitChanges.deleted": "Удалено",
119+
115120
"instanceShell.filesShell.fileListTitle": "Список файлов",
116121
"instanceShell.filesShell.mobileSelectorLabel": "Выбрать файл",
117122
"instanceShell.filesShell.mobileSelectorEmpty": "Выберите файл",

packages/ui/src/lib/i18n/messages/zh-Hans/instance.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ export const instanceMessages = {
9090

9191
"instanceShell.rightPanel.title": "状态面板",
9292
"instanceShell.rightPanel.tabs.changes": "更改",
93+
"instanceShell.rightPanel.tabs.gitChanges": "Git 更改",
9394
"instanceShell.rightPanel.tabs.files": "文件",
9495
"instanceShell.rightPanel.tabs.status": "状态",
9596
"instanceShell.rightPanel.tabs.ariaLabel": "右侧面板标签页",
@@ -112,6 +113,10 @@ export const instanceMessages = {
112113
"instanceShell.sessionChanges.filesChanged": "已更改 {count} 个文件",
113114
"instanceShell.sessionChanges.actions.show": "显示更改",
114115

116+
"instanceShell.gitChanges.loading": "正在加载 Git 更改...",
117+
"instanceShell.gitChanges.empty": "暂无 Git 更改。",
118+
"instanceShell.gitChanges.deleted": "已删除",
119+
115120
"instanceShell.filesShell.fileListTitle": "文件列表",
116121
"instanceShell.filesShell.mobileSelectorLabel": "选择文件",
117122
"instanceShell.filesShell.mobileSelectorEmpty": "请选择文件",

0 commit comments

Comments
 (0)