mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-09-07 08:26:51 +00:00
Allow manually selecting a model in the model picker (#1809)
This commit is contained in:
parent
b83c0b38a8
commit
4b2a54e364
18 changed files with 145 additions and 19 deletions
5
.changeset/ninety-berries-change.md
Normal file
5
.changeset/ninety-berries-change.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
"roo-cline": patch
|
||||
---
|
||||
|
||||
Allow manually selecting a model in the model picker
|
||||
|
|
@ -68,14 +68,17 @@ export const ModelPicker = ({
|
|||
[apiConfiguration],
|
||||
)
|
||||
|
||||
const [searchValue, setSearchValue] = useState(selectedModelId)
|
||||
const [searchValue, setSearchValue] = useState(selectedModelId || "")
|
||||
|
||||
const onSelect = useCallback(
|
||||
(modelId: string) => {
|
||||
if (!modelId) return
|
||||
|
||||
setOpen(false)
|
||||
const modelInfo = models?.[modelId]
|
||||
setApiConfigurationField(modelIdKey, modelId)
|
||||
setApiConfigurationField(modelInfoKey, modelInfo ?? defaultModelInfo)
|
||||
|
||||
// Delay to ensure the popover is closed before setting the search value.
|
||||
setTimeout(() => setSearchValue(modelId), 100)
|
||||
},
|
||||
|
|
@ -112,7 +115,7 @@ export const ModelPicker = ({
|
|||
return (
|
||||
<>
|
||||
<div>
|
||||
<label className="block font-medium mb-1">Model</label>
|
||||
<label className="block font-medium mb-1">{t("settings:modelPicker.label")}</label>
|
||||
<Popover open={open} onOpenChange={onOpenChange}>
|
||||
<PopoverTrigger asChild>
|
||||
<Button
|
||||
|
|
@ -131,7 +134,7 @@ export const ModelPicker = ({
|
|||
ref={searchInputRef}
|
||||
value={searchValue}
|
||||
onValueChange={setSearchValue}
|
||||
placeholder="Search"
|
||||
placeholder={t("settings:modelPicker.searchPlaceholder")}
|
||||
className="h-9 mr-4"
|
||||
data-testid="model-input"
|
||||
/>
|
||||
|
|
@ -145,7 +148,13 @@ export const ModelPicker = ({
|
|||
)}
|
||||
</div>
|
||||
<CommandList>
|
||||
<CommandEmpty>No model found.</CommandEmpty>
|
||||
<CommandEmpty>
|
||||
{searchValue && (
|
||||
<div className="py-2 px-1 text-sm">
|
||||
{t("settings:modelPicker.noMatchFound")}
|
||||
</div>
|
||||
)}
|
||||
</CommandEmpty>
|
||||
<CommandGroup>
|
||||
{modelIds.map((model) => (
|
||||
<CommandItem key={model} value={model} onSelect={onSelect}>
|
||||
|
|
@ -160,6 +169,13 @@ export const ModelPicker = ({
|
|||
))}
|
||||
</CommandGroup>
|
||||
</CommandList>
|
||||
{searchValue && !modelIds.includes(searchValue) && (
|
||||
<div className="p-1 border-t border-vscode-input-border">
|
||||
<CommandItem data-testid="use-custom-model" value={searchValue} onSelect={onSelect}>
|
||||
{t("settings:modelPicker.useCustomModel", { modelId: searchValue })}
|
||||
</CommandItem>
|
||||
</div>
|
||||
)}
|
||||
</Command>
|
||||
</PopoverContent>
|
||||
</Popover>
|
||||
|
|
|
|||
|
|
@ -86,4 +86,49 @@ describe("ModelPicker", () => {
|
|||
expect(mockSetApiConfigurationField).toHaveBeenCalledWith(defaultProps.modelIdKey, "model2")
|
||||
expect(mockSetApiConfigurationField).toHaveBeenCalledWith(defaultProps.modelInfoKey, mockModels.model2)
|
||||
})
|
||||
|
||||
it("allows setting a custom model ID that's not in the predefined list", async () => {
|
||||
await act(async () => {
|
||||
render(<ModelPicker {...defaultProps} />)
|
||||
})
|
||||
|
||||
await act(async () => {
|
||||
// Open the popover by clicking the button.
|
||||
const button = screen.getByRole("combobox")
|
||||
fireEvent.click(button)
|
||||
})
|
||||
|
||||
// Wait for popover to open and animations to complete.
|
||||
await act(async () => {
|
||||
await new Promise((resolve) => setTimeout(resolve, 100))
|
||||
})
|
||||
|
||||
const customModelId = "custom-model-id"
|
||||
|
||||
await act(async () => {
|
||||
// Find and set the input value to a custom model ID
|
||||
const modelInput = screen.getByTestId("model-input")
|
||||
fireEvent.input(modelInput, { target: { value: customModelId } })
|
||||
})
|
||||
|
||||
// Wait for the UI to update
|
||||
await act(async () => {
|
||||
await new Promise((resolve) => setTimeout(resolve, 100))
|
||||
})
|
||||
|
||||
// Find and click the "Use custom" option
|
||||
await act(async () => {
|
||||
// Look for text containing our custom model ID
|
||||
const customOption = screen.getByTestId("use-custom-model")
|
||||
fireEvent.click(customOption)
|
||||
})
|
||||
|
||||
// Verify the API config was updated with the custom model ID
|
||||
expect(mockSetApiConfigurationField).toHaveBeenCalledWith(defaultProps.modelIdKey, customModelId)
|
||||
// The model info should be set to the default since this is a custom model
|
||||
expect(mockSetApiConfigurationField).toHaveBeenCalledWith(
|
||||
defaultProps.modelInfoKey,
|
||||
defaultProps.defaultModelInfo,
|
||||
)
|
||||
})
|
||||
})
|
||||
|
|
|
|||
|
|
@ -353,7 +353,11 @@
|
|||
"azureApiVersion": "Establir versió de l'API d'Azure"
|
||||
},
|
||||
"modelPicker": {
|
||||
"automaticFetch": "L'extensió obté automàticament la llista més recent de models disponibles a <serviceLink>{{serviceName}}</serviceLink>. Si no esteu segur de quin model triar, Roo Code funciona millor amb <defaultModelLink>{{defaultModelId}}</defaultModelLink>. També podeu cercar \"free\" per a opcions gratuïtes actualment disponibles."
|
||||
"automaticFetch": "L'extensió obté automàticament la llista més recent de models disponibles a <serviceLink>{{serviceName}}</serviceLink>. Si no esteu segur de quin model triar, Roo Code funciona millor amb <defaultModelLink>{{defaultModelId}}</defaultModelLink>. També podeu cercar \"free\" per a opcions gratuïtes actualment disponibles.",
|
||||
"label": "Model",
|
||||
"searchPlaceholder": "Cerca",
|
||||
"noMatchFound": "No s'ha trobat cap coincidència",
|
||||
"useCustomModel": "Utilitzar personalitzat: {{modelId}}"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Si teniu qualsevol pregunta o comentari, no dubteu a obrir un issue a <githubLink>github.com/RooVetGit/Roo-Code</githubLink> o unir-vos a <redditLink>reddit.com/r/RooCode</redditLink> o <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
|
|
@ -353,7 +353,11 @@
|
|||
}
|
||||
},
|
||||
"modelPicker": {
|
||||
"automaticFetch": "Die Erweiterung ruft automatisch die neueste Liste der verfügbaren Modelle von <serviceLink>{{serviceName}}</serviceLink> ab. Wenn Sie sich nicht sicher sind, welches Modell Sie wählen sollen, funktioniert Roo Code am besten mit <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Sie können auch nach \"free\" suchen, um derzeit verfügbare kostenlose Optionen zu finden."
|
||||
"automaticFetch": "Die Erweiterung ruft automatisch die neueste Liste der verfügbaren Modelle von <serviceLink>{{serviceName}}</serviceLink> ab. Wenn Sie sich nicht sicher sind, welches Modell Sie wählen sollen, funktioniert Roo Code am besten mit <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Sie können auch nach \"free\" suchen, um derzeit verfügbare kostenlose Optionen zu finden.",
|
||||
"label": "Modell",
|
||||
"searchPlaceholder": "Suchen",
|
||||
"noMatchFound": "Keine Übereinstimmung gefunden",
|
||||
"useCustomModel": "Benutzerdefiniert verwenden: {{modelId}}"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Wenn Sie Fragen oder Feedback haben, können Sie gerne ein Issue auf <githubLink>github.com/RooVetGit/Roo-Code</githubLink> öffnen oder <redditLink>reddit.com/r/RooCode</redditLink> oder <discordLink>discord.gg/roocode</discordLink> beitreten",
|
||||
|
|
|
|||
|
|
@ -353,7 +353,11 @@
|
|||
}
|
||||
},
|
||||
"modelPicker": {
|
||||
"automaticFetch": "The extension automatically fetches the latest list of models available on <serviceLink>{{serviceName}}</serviceLink>. If you're unsure which model to choose, Roo Code works best with <defaultModelLink>{{defaultModelId}}</defaultModelLink>. You can also try searching \"free\" for no-cost options currently available."
|
||||
"automaticFetch": "The extension automatically fetches the latest list of models available on <serviceLink>{{serviceName}}</serviceLink>. If you're unsure which model to choose, Roo Code works best with <defaultModelLink>{{defaultModelId}}</defaultModelLink>. You can also try searching \"free\" for no-cost options currently available.",
|
||||
"label": "Model",
|
||||
"searchPlaceholder": "Search",
|
||||
"noMatchFound": "No match found",
|
||||
"useCustomModel": "Use custom: {{modelId}}"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "If you have any questions or feedback, feel free to open an issue at <githubLink>github.com/RooVetGit/Roo-Code</githubLink> or join <redditLink>reddit.com/r/RooCode</redditLink> or <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
|
|
@ -353,7 +353,11 @@
|
|||
}
|
||||
},
|
||||
"modelPicker": {
|
||||
"automaticFetch": "La extensión obtiene automáticamente la lista más reciente de modelos disponibles en <serviceLink>{{serviceName}}</serviceLink>. Si no está seguro de qué modelo elegir, Roo Code funciona mejor con <defaultModelLink>{{defaultModelId}}</defaultModelLink>. También puede buscar \"free\" para opciones sin costo actualmente disponibles."
|
||||
"automaticFetch": "La extensión obtiene automáticamente la lista más reciente de modelos disponibles en <serviceLink>{{serviceName}}</serviceLink>. Si no está seguro de qué modelo elegir, Roo Code funciona mejor con <defaultModelLink>{{defaultModelId}}</defaultModelLink>. También puede buscar \"free\" para opciones sin costo actualmente disponibles.",
|
||||
"label": "Modelo",
|
||||
"searchPlaceholder": "Buscar",
|
||||
"noMatchFound": "No se encontraron coincidencias",
|
||||
"useCustomModel": "Usar personalizado: {{modelId}}"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Si tiene alguna pregunta o comentario, no dude en abrir un issue en <githubLink>github.com/RooVetGit/Roo-Code</githubLink> o unirse a <redditLink>reddit.com/r/RooCode</redditLink> o <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
|
|
@ -353,7 +353,11 @@
|
|||
}
|
||||
},
|
||||
"modelPicker": {
|
||||
"automaticFetch": "L'extension récupère automatiquement la liste la plus récente des modèles disponibles sur <serviceLink>{{serviceName}}</serviceLink>. Si vous ne savez pas quel modèle choisir, Roo Code fonctionne mieux avec <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Vous pouvez également rechercher \"free\" pour les options gratuites actuellement disponibles."
|
||||
"automaticFetch": "L'extension récupère automatiquement la liste la plus récente des modèles disponibles sur <serviceLink>{{serviceName}}</serviceLink>. Si vous ne savez pas quel modèle choisir, Roo Code fonctionne mieux avec <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Vous pouvez également rechercher \"free\" pour les options gratuites actuellement disponibles.",
|
||||
"label": "Modèle",
|
||||
"searchPlaceholder": "Rechercher",
|
||||
"noMatchFound": "Aucune correspondance trouvée",
|
||||
"useCustomModel": "Utiliser personnalisé : {{modelId}}"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Si vous avez des questions ou des commentaires, n'hésitez pas à ouvrir un problème sur <githubLink>github.com/RooVetGit/Roo-Code</githubLink> ou à rejoindre <redditLink>reddit.com/r/RooCode</redditLink> ou <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
|
|
@ -353,7 +353,11 @@
|
|||
}
|
||||
},
|
||||
"modelPicker": {
|
||||
"automaticFetch": "एक्सटेंशन <serviceLink>{{serviceName}}</serviceLink> पर उपलब्ध मॉडलों की नवीनतम सूची स्वचालित रूप से प्राप्त करता है। यदि आप अनिश्चित हैं कि कौन सा मॉडल चुनना है, तो Roo Code <defaultModelLink>{{defaultModelId}}</defaultModelLink> के साथ सबसे अच्छा काम करता है। आप वर्तमान में उपलब्ध निःशुल्क विकल्पों के लिए \"free\" भी खोज सकते हैं।"
|
||||
"automaticFetch": "एक्सटेंशन <serviceLink>{{serviceName}}</serviceLink> पर उपलब्ध मॉडलों की नवीनतम सूची स्वचालित रूप से प्राप्त करता है। यदि आप अनिश्चित हैं कि कौन सा मॉडल चुनना है, तो Roo Code <defaultModelLink>{{defaultModelId}}</defaultModelLink> के साथ सबसे अच्छा काम करता है। आप वर्तमान में उपलब्ध निःशुल्क विकल्पों के लिए \"free\" भी खोज सकते हैं।",
|
||||
"label": "मॉडल",
|
||||
"searchPlaceholder": "खोजें",
|
||||
"noMatchFound": "कोई मिलान नहीं मिला",
|
||||
"useCustomModel": "कस्टम उपयोग करें: {{modelId}}"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "यदि आपके कोई प्रश्न या प्रतिक्रिया है, तो <githubLink>github.com/RooVetGit/Roo-Code</githubLink> पर एक मुद्दा खोलने या <redditLink>reddit.com/r/RooCode</redditLink> या <discordLink>discord.gg/roocode</discordLink> में शामिल होने में संकोच न करें",
|
||||
|
|
|
|||
|
|
@ -353,7 +353,11 @@
|
|||
}
|
||||
},
|
||||
"modelPicker": {
|
||||
"automaticFetch": "L'estensione recupera automaticamente l'elenco più recente dei modelli disponibili su <serviceLink>{{serviceName}}</serviceLink>. Se non sei sicuro di quale modello scegliere, Roo Code funziona meglio con <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Puoi anche cercare \"free\" per opzioni gratuite attualmente disponibili."
|
||||
"automaticFetch": "L'estensione recupera automaticamente l'elenco più recente dei modelli disponibili su <serviceLink>{{serviceName}}</serviceLink>. Se non sei sicuro di quale modello scegliere, Roo Code funziona meglio con <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Puoi anche cercare \"free\" per opzioni gratuite attualmente disponibili.",
|
||||
"label": "Modello",
|
||||
"searchPlaceholder": "Cerca",
|
||||
"noMatchFound": "Nessuna corrispondenza trovata",
|
||||
"useCustomModel": "Usa personalizzato: {{modelId}}"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Se hai domande o feedback, sentiti libero di aprire un issue su <githubLink>github.com/RooVetGit/Roo-Code</githubLink> o unirti a <redditLink>reddit.com/r/RooCode</redditLink> o <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
|
|
@ -353,7 +353,11 @@
|
|||
}
|
||||
},
|
||||
"modelPicker": {
|
||||
"automaticFetch": "拡張機能は<serviceLink>{{serviceName}}</serviceLink>で利用可能な最新のモデルリストを自動的に取得します。どのモデルを選ぶべきか迷っている場合、Roo Codeは<defaultModelLink>{{defaultModelId}}</defaultModelLink>で最適に動作します。また、「free」で検索すると、現在利用可能な無料オプションを見つけることができます。"
|
||||
"automaticFetch": "拡張機能は<serviceLink>{{serviceName}}</serviceLink>で利用可能な最新のモデルリストを自動的に取得します。どのモデルを選ぶべきか迷っている場合、Roo Codeは<defaultModelLink>{{defaultModelId}}</defaultModelLink>で最適に動作します。また、「free」で検索すると、現在利用可能な無料オプションを見つけることができます。",
|
||||
"label": "モデル",
|
||||
"searchPlaceholder": "検索",
|
||||
"noMatchFound": "一致するものが見つかりません",
|
||||
"useCustomModel": "カスタムを使用: {{modelId}}"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "質問やフィードバックがある場合は、<githubLink>github.com/RooVetGit/Roo-Code</githubLink>で問題を開くか、<redditLink>reddit.com/r/RooCode</redditLink>や<discordLink>discord.gg/roocode</discordLink>に参加してください",
|
||||
|
|
|
|||
|
|
@ -353,7 +353,11 @@
|
|||
}
|
||||
},
|
||||
"modelPicker": {
|
||||
"automaticFetch": "확장 프로그램은 <serviceLink>{{serviceName}}</serviceLink>에서 사용 가능한 최신 모델 목록을 자동으로 가져옵니다. 어떤 모델을 선택해야 할지 확실하지 않다면, Roo Code는 <defaultModelLink>{{defaultModelId}}</defaultModelLink>로 가장 잘 작동합니다. 현재 사용 가능한 무료 옵션을 찾으려면 \"free\"를 검색해 볼 수도 있습니다."
|
||||
"automaticFetch": "확장 프로그램은 <serviceLink>{{serviceName}}</serviceLink>에서 사용 가능한 최신 모델 목록을 자동으로 가져옵니다. 어떤 모델을 선택해야 할지 확실하지 않다면, Roo Code는 <defaultModelLink>{{defaultModelId}}</defaultModelLink>로 가장 잘 작동합니다. 현재 사용 가능한 무료 옵션을 찾으려면 \"free\"를 검색해 볼 수도 있습니다.",
|
||||
"label": "모델",
|
||||
"searchPlaceholder": "검색",
|
||||
"noMatchFound": "일치하는 항목 없음",
|
||||
"useCustomModel": "사용자 정의 사용: {{modelId}}"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "질문이나 피드백이 있으시면 <githubLink>github.com/RooVetGit/Roo-Code</githubLink>에서 이슈를 열거나 <redditLink>reddit.com/r/RooCode</redditLink> 또는 <discordLink>discord.gg/roocode</discordLink>에 가입하세요",
|
||||
|
|
|
|||
|
|
@ -353,7 +353,11 @@
|
|||
}
|
||||
},
|
||||
"modelPicker": {
|
||||
"automaticFetch": "Rozszerzenie automatycznie pobiera najnowszą listę modeli dostępnych w <serviceLink>{{serviceName}}</serviceLink>. Jeśli nie jesteś pewien, który model wybrać, Roo Code działa najlepiej z <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Możesz również wyszukać \"free\", aby znaleźć obecnie dostępne opcje bezpłatne."
|
||||
"automaticFetch": "Rozszerzenie automatycznie pobiera najnowszą listę modeli dostępnych w <serviceLink>{{serviceName}}</serviceLink>. Jeśli nie jesteś pewien, który model wybrać, Roo Code działa najlepiej z <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Możesz również wyszukać \"free\", aby znaleźć obecnie dostępne opcje bezpłatne.",
|
||||
"label": "Model",
|
||||
"searchPlaceholder": "Wyszukaj",
|
||||
"noMatchFound": "Nie znaleziono dopasowań",
|
||||
"useCustomModel": "Użyj niestandardowy: {{modelId}}"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Jeśli masz jakiekolwiek pytania lub opinie, śmiało otwórz zgłoszenie na <githubLink>github.com/RooVetGit/Roo-Code</githubLink> lub dołącz do <redditLink>reddit.com/r/RooCode</redditLink> lub <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
|
|
@ -353,7 +353,11 @@
|
|||
}
|
||||
},
|
||||
"modelPicker": {
|
||||
"automaticFetch": "A extensão busca automaticamente a lista mais recente de modelos disponíveis em <serviceLink>{{serviceName}}</serviceLink>. Se você não tem certeza sobre qual modelo escolher, o Roo Code funciona melhor com <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Você também pode pesquisar por \"free\" para encontrar opções gratuitas atualmente disponíveis."
|
||||
"automaticFetch": "A extensão busca automaticamente a lista mais recente de modelos disponíveis em <serviceLink>{{serviceName}}</serviceLink>. Se você não tem certeza sobre qual modelo escolher, o Roo Code funciona melhor com <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Você também pode pesquisar por \"free\" para encontrar opções gratuitas atualmente disponíveis.",
|
||||
"label": "Modelo",
|
||||
"searchPlaceholder": "Pesquisar",
|
||||
"noMatchFound": "Nenhuma correspondência encontrada",
|
||||
"useCustomModel": "Usar personalizado: {{modelId}}"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Se tiver alguma dúvida ou feedback, sinta-se à vontade para abrir um problema em <githubLink>github.com/RooVetGit/Roo-Code</githubLink> ou juntar-se a <redditLink>reddit.com/r/RooCode</redditLink> ou <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
|
|
@ -353,7 +353,11 @@
|
|||
}
|
||||
},
|
||||
"modelPicker": {
|
||||
"automaticFetch": "Uzantı <serviceLink>{{serviceName}}</serviceLink> üzerinde bulunan mevcut modellerin en güncel listesini otomatik olarak alır. Hangi modeli seçeceğinizden emin değilseniz, Roo Code <defaultModelLink>{{defaultModelId}}</defaultModelLink> ile en iyi şekilde çalışır. Şu anda mevcut olan ücretsiz seçenekleri bulmak için \"free\" araması da yapabilirsiniz."
|
||||
"automaticFetch": "Uzantı <serviceLink>{{serviceName}}</serviceLink> üzerinde bulunan mevcut modellerin en güncel listesini otomatik olarak alır. Hangi modeli seçeceğinizden emin değilseniz, Roo Code <defaultModelLink>{{defaultModelId}}</defaultModelLink> ile en iyi şekilde çalışır. Şu anda mevcut olan ücretsiz seçenekleri bulmak için \"free\" araması da yapabilirsiniz.",
|
||||
"label": "Model",
|
||||
"searchPlaceholder": "Ara",
|
||||
"noMatchFound": "Eşleşme bulunamadı",
|
||||
"useCustomModel": "Özel kullan: {{modelId}}"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Herhangi bir sorunuz veya geri bildiriminiz varsa, <githubLink>github.com/RooVetGit/Roo-Code</githubLink> adresinde bir konu açmaktan veya <redditLink>reddit.com/r/RooCode</redditLink> ya da <discordLink>discord.gg/roocode</discordLink>'a katılmaktan çekinmeyin",
|
||||
|
|
|
|||
|
|
@ -353,7 +353,11 @@
|
|||
}
|
||||
},
|
||||
"modelPicker": {
|
||||
"automaticFetch": "Tiện ích mở rộng tự động lấy danh sách mới nhất các mô hình có sẵn trên <serviceLink>{{serviceName}}</serviceLink>. Nếu bạn không chắc chắn nên chọn mô hình nào, Roo Code hoạt động tốt nhất với <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Bạn cũng có thể thử tìm kiếm \"free\" cho các tùy chọn miễn phí hiện có."
|
||||
"automaticFetch": "Tiện ích mở rộng tự động lấy danh sách mới nhất các mô hình có sẵn trên <serviceLink>{{serviceName}}</serviceLink>. Nếu bạn không chắc chắn nên chọn mô hình nào, Roo Code hoạt động tốt nhất với <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Bạn cũng có thể thử tìm kiếm \"free\" cho các tùy chọn miễn phí hiện có.",
|
||||
"label": "Mô hình",
|
||||
"searchPlaceholder": "Tìm kiếm",
|
||||
"noMatchFound": "Không tìm thấy kết quả",
|
||||
"useCustomModel": "Sử dụng tùy chỉnh: {{modelId}}"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Nếu bạn có bất kỳ câu hỏi hoặc phản hồi nào, vui lòng mở một vấn đề tại <githubLink>github.com/RooVetGit/Roo-Code</githubLink> hoặc tham gia <redditLink>reddit.com/r/RooCode</redditLink> hoặc <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
|
|
@ -353,7 +353,11 @@
|
|||
}
|
||||
},
|
||||
"modelPicker": {
|
||||
"automaticFetch": "扩展程序会自动获取 <serviceLink>{{serviceName}}</serviceLink> 上可用的最新模型列表。如果您不确定选择哪个模型,Roo Code 与 <defaultModelLink>{{defaultModelId}}</defaultModelLink> 配合最佳。您还可以搜索\"free\"以查找当前可用的免费选项。"
|
||||
"automaticFetch": "扩展程序会自动获取 <serviceLink>{{serviceName}}</serviceLink> 上可用的最新模型列表。如果您不确定选择哪个模型,Roo Code 与 <defaultModelLink>{{defaultModelId}}</defaultModelLink> 配合最佳。您还可以搜索\"free\"以查找当前可用的免费选项。",
|
||||
"label": "模型",
|
||||
"searchPlaceholder": "搜索",
|
||||
"noMatchFound": "未找到匹配项",
|
||||
"useCustomModel": "使用自定义:{{modelId}}"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "如果您有任何问题或反馈,请随时在 <githubLink>github.com/RooVetGit/Roo-Code</githubLink> 上提出问题或加入 <redditLink>reddit.com/r/RooCode</redditLink> 或 <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
|
|
@ -353,7 +353,11 @@
|
|||
}
|
||||
},
|
||||
"modelPicker": {
|
||||
"automaticFetch": "擴充功能會自動獲取 <serviceLink>{{serviceName}}</serviceLink> 上可用的最新模型列表。如果您不確定選擇哪個模型,Roo Code 與 <defaultModelLink>{{defaultModelId}}</defaultModelLink> 配合最佳。您還可以搜尋\"free\"以尋找目前可用的免費選項。"
|
||||
"automaticFetch": "擴充功能會自動獲取 <serviceLink>{{serviceName}}</serviceLink> 上可用的最新模型列表。如果您不確定選擇哪個模型,Roo Code 與 <defaultModelLink>{{defaultModelId}}</defaultModelLink> 配合最佳。您還可以搜尋\"free\"以尋找目前可用的免費選項。",
|
||||
"label": "模型",
|
||||
"searchPlaceholder": "搜尋",
|
||||
"noMatchFound": "未找到相符項目",
|
||||
"useCustomModel": "使用自訂: {{modelId}}"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "如果您有任何問題或反饋,請隨時在 <githubLink>github.com/RooVetGit/Roo-Code</githubLink> 上提出問題或加入 <redditLink>reddit.com/r/RooCode</redditLink> 或 <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue