Pārlūkot izejas kodu

enh: codeblock i18n

Timothy J. Baek 9 mēneši atpakaļ
vecāks
revīzija
d388c20373

+ 3 - 3
src/lib/components/chat/Messages/CodeBlock.svelte

@@ -1,7 +1,7 @@
 <script lang="ts">
 	import hljs from 'highlight.js';
 	import { loadPyodide } from 'pyodide';
-	import { getContext } from 'svelte';
+	import { getContext, getAllContexts } from 'svelte';
 	import { copyToClipboard } from '$lib/utils';
 
 	import 'highlight.js/styles/github-dark.min.css';
@@ -236,12 +236,12 @@ __builtins__.input = input`);
 						class="copy-code-button bg-none border-none p-1"
 						on:click={() => {
 							executePython(code);
-						}}>Run</button
+						}}>{$i18n.t('Run')}</button
 					>
 				{/if}
 			{/if}
 			<button class="copy-code-button bg-none border-none p-1" on:click={copyCode}
-				>{copied ? 'Copied' : 'Copy Code'}</button
+				>{copied ? $i18n.t('Copied') : $i18n.t('Copy Code')}</button
 			>
 		</div>
 	</div>

+ 7 - 3
src/lib/components/chat/Messages/MarkdownTokens.svelte

@@ -3,7 +3,10 @@
 	import type { Token } from 'marked';
 	import { revertSanitizedResponseContent, unescapeHtml } from '$lib/utils';
 
-	import { onMount } from 'svelte';
+	import { onMount, getContext, getAllContexts } from 'svelte';
+
+	const context = getAllContexts();
+	const i18n = getContext('i18n');
 
 	import Image from '$lib/components/common/Image.svelte';
 	import CodeBlock from '$lib/components/chat/Messages/CodeBlock.svelte';
@@ -44,7 +47,7 @@
 					return;
 				}
 
-				new CodeBlock({
+				const element = new CodeBlock({
 					target: codeElement,
 					props: {
 						id: `${id}-${codes.length}`,
@@ -52,7 +55,8 @@
 						code: revertSanitizedResponseContent(code)
 					},
 					hydrate: true,
-					$$inline: true
+					$$inline: true,
+					context: context
 				});
 			}
 		}, 10);