From 26040a55601bfcf5d31bb47adac935f05e378116 Mon Sep 17 00:00:00 2001 From: feng <1304903146@qq.com> Date: Thu, 12 Dec 2024 14:38:10 +0800 Subject: [PATCH] perf: pt_br translate --- apps/i18n/core/pt_BR/LC_MESSAGES/django.po | 12 +-- apps/i18n/koko/pt_br.json | 2 +- apps/i18n/lina/pt_br.json | 16 +-- apps/i18n/lion/pt_br.json | 4 +- apps/i18n/luna/pt_br.json | 2 +- apps/settings/api/chat.py | 3 + apps/settings/prompt.py | 116 ++++++++++++++++++++- 7 files changed, 135 insertions(+), 20 deletions(-) diff --git a/apps/i18n/core/pt_BR/LC_MESSAGES/django.po b/apps/i18n/core/pt_BR/LC_MESSAGES/django.po index 262977f00..0ec257036 100644 --- a/apps/i18n/core/pt_BR/LC_MESSAGES/django.po +++ b/apps/i18n/core/pt_BR/LC_MESSAGES/django.po @@ -4778,7 +4778,7 @@ msgstr "" #: labels/apps.py:8 msgid "App Labels" -msgstr "管理标签" +msgstr "Gerenciar tags" #: labels/models.py:15 msgid "Color" @@ -4810,7 +4810,7 @@ msgstr "Tipo de recurso" #: notifications/apps.py:7 msgid "App Notifications" -msgstr "管理通知" +msgstr "Gerenciar notificações" #: notifications/backends/__init__.py:13 msgid "Site message" @@ -5364,7 +5364,7 @@ msgid "" msgstr "" "Verifique se cada componente está offline a cada hora, cpu, memória, se a " "taxa de uso do disco rígido ultrapassa o limite, e envie mensagens de alerta" -" para o 管理员" +" para o administrador" #: ops/tasks.py:160 msgid "Clean up unexpected jobs" @@ -8811,7 +8811,7 @@ msgstr "Desconexão por inatividade" #: terminal/session_lifecycle.py:156 msgid "admin terminated" -msgstr "管理员终断连接" +msgstr "Administrador encerra conexão" #: terminal/session_lifecycle.py:157 msgid "maximum session time has been reached" @@ -8954,7 +8954,7 @@ msgstr "Solicitante" #: tickets/apps.py:7 msgid "App Tickets" -msgstr "管理" +msgstr "Gerenciar ordens de serviço" #: tickets/const.py:10 msgid "Apply for asset" @@ -9279,7 +9279,7 @@ msgstr "" #: users/apps.py:9 msgid "App Users" -msgstr "用户管理" +msgstr "Gerenciamento de usuários" #: users/const.py:10 msgid "System administrator" diff --git a/apps/i18n/koko/pt_br.json b/apps/i18n/koko/pt_br.json index e7c880aea..6114abe6b 100644 --- a/apps/i18n/koko/pt_br.json +++ b/apps/i18n/koko/pt_br.json @@ -24,7 +24,7 @@ "InputVerifyCode": "Por favor, insira o código de verificação", "JoinShare": "Junte-se ao compartilhamento", "JoinedWithSuccess": "Adicionado com sucesso", - "KubernetesManagement": "Kubernetes 管理", + "KubernetesManagement": "Kubernetes gerenciar", "LeaveShare": "Sair do compartilhamento", "LeftArrow": "Seta para trás", "LinkAddr": "Endereço do link", diff --git a/apps/i18n/lina/pt_br.json b/apps/i18n/lina/pt_br.json index 51ca26f71..d55edbd69 100644 --- a/apps/i18n/lina/pt_br.json +++ b/apps/i18n/lina/pt_br.json @@ -70,7 +70,7 @@ "Address": "Endereço", "AdhocCreate": "Criar Comando", "AdhocDetail": "Detalhes do comando", - "AdhocManage": "脚本管理", + "AdhocManage": "Gerenciamento de script", "AdhocUpdate": "Atualizar script", "Advanced": "Configurações avançadas", "AfterChange": "Após a alteração", @@ -104,7 +104,7 @@ "AppletHosts": "Máquina de publicação de aplicativos", "Applets": "Aplicativo Remoto", "Applicant": "Requerente", - "Applications": "Aplicativo 管理", + "Applications": "Aplicativo gerenciar", "ApplyAsset": "Solicitar Ativos", "ApplyFromCMDFilterRule": "Regras de filtragem de comandos", "ApplyFromSession": "Sessão", @@ -152,7 +152,7 @@ "AssetPermsAmount": "Quantidade de ativos autorizados", "AssetProtocolHelpText": "As restrições de protocolo suportadas pelos recursos são limitadas pela plataforma, clicar no botão de configurações permite visualizar as configurações do protocolo. Se necessário, atualize a plataforma", "AssetTree": "Árvore de ativos", - "Assets": "管理", + "Assets": "Gestão de ativos", "AssetsAmount": "Número de ativos", "AssetsOfNumber": "Número de ativos", "AssetsTotal": "Total de ativos", @@ -745,9 +745,9 @@ "MenuAccountTemplates": "Modelo de conta", "MenuAccounts": "Gerenciamento de Conta", "MenuAcls": "Controle de acesso", - "MenuAssets": "资产管理", + "MenuAssets": "Gestão de ativos", "MenuMore": "Outros", - "MenuPermissions": "管理", + "MenuPermissions": "Gerenciar", "MenuUsers": "Gestão de usuários", "Message": "Mensagens", "MessageType": "Tipo de mensagem", @@ -762,7 +762,7 @@ "More": "Mais", "MoreActions": "Mais ações", "MoveAssetToNode": "Mover ativos para o nó", - "MsgSubscribe": " Assinatura de mensagem", + "MsgSubscribe": "Assinatura de mensagem", "MyAssets": "Meus ativos", "MyTickets": "Iniciados por Mim", "NUMBER_REQUIRED": "Deve conter números", @@ -848,7 +848,7 @@ "OrgUser": "Usuários da organização", "OrganizationCreate": "Criar organização", "OrganizationDetail": " Detalhes da organização ", - "OrganizationList": "组织管理", + "OrganizationList": "Gestão organizacional", "OrganizationManage": "Organização", "OrganizationUpdate": " Atualizar organização ", "OrgsAndRoles": "Organização e Papéis", @@ -897,7 +897,7 @@ "PlatformProtocolConfig": "Configuração do protocolo da plataforma", "PlatformUpdate": "Atualizar plataforma", "PlaybookDetail": " Detalhes do Playbook ", - "PlaybookManage": "Playbook管理", + "PlaybookManage": "Playbook gerenciar", "PlaybookUpdate": "Atualizar Playbook", "PleaseAgreeToTheTerms": "Por favor, concorde com os termos", "PleaseSelect": "Por favor, selecione", diff --git a/apps/i18n/lion/pt_br.json b/apps/i18n/lion/pt_br.json index 75a158616..8b38b6927 100644 --- a/apps/i18n/lion/pt_br.json +++ b/apps/i18n/lion/pt_br.json @@ -14,7 +14,7 @@ "Display": "Exibir", "ErrTitle": "Conexão anormal", "ExpiredTime": "Período de validade", - "Files": "文件管理", + "Files": "Gerenciamento de arquivos", "GetShareUser": "Digite o nome de usuário", "GuaErrClientUnauthorized": "Erro de autenticação de nome de usuário e senha, falha no login", "GuaErrSessionConflict": "Devido a um conflito com outra conexão, o servidor de area de trabalho remota fechou esta conexão. Por favor, tente novamente mais tarde.", @@ -53,7 +53,7 @@ "JMSErrPermission": "Sem permissão para conexão", "JMSErrPermissionExpired": "A autorização expirou, desconectando", "JMSErrRemoveShareUser": "Você foi removido da sessão compartilhada", - "JMSErrTerminatedByAdmin": "管理 terminou a sessão", + "JMSErrTerminatedByAdmin": "Gerenciar terminou a sessão", "JoinShare": "Participar do compartilhamento", "LeaveShare": "Deixar compartilhamento", "LinkAddr": "Link do endereço", diff --git a/apps/i18n/luna/pt_br.json b/apps/i18n/luna/pt_br.json index 6293d8972..a9720df93 100644 --- a/apps/i18n/luna/pt_br.json +++ b/apps/i18n/luna/pt_br.json @@ -72,7 +72,7 @@ "Expire time": "Tempo de Expiração", "Failed to open address": "Falha ao abrir o endereço", "Favorite": "Favoritos", - "File Manager": "Arquivo 管理", + "File Manager": "Arquivo gerenciar", "Fold": "Dobrar", "Fold all": "Dobrar tudo", "Force refresh": " Atualização Forçada", diff --git a/apps/settings/api/chat.py b/apps/settings/api/chat.py index 68a80f013..14e21d68f 100644 --- a/apps/settings/api/chat.py +++ b/apps/settings/api/chat.py @@ -101,6 +101,9 @@ class ChatPromptViewSet(JMSModelViewSet): def filter_default_prompts(self): lang = self.request.LANGUAGE_CODE default_prompts = DefaultChatPrompt.get_prompts(lang) + if not default_prompts: + return [] + search_query = self.request.query_params.get('search') search_query = search_query or self.request.query_params.get('name') if not search_query: diff --git a/apps/settings/prompt.py b/apps/settings/prompt.py index 5e2b72c96..861860805 100644 --- a/apps/settings/prompt.py +++ b/apps/settings/prompt.py @@ -1,6 +1,6 @@ class DefaultChatPrompt: DEFAULT = { - 'zh': [ + 'zh-hans': [ { 'name': '周报生成器', 'content': '使用下面提供的文本作为中文周报的基础,生成一个简洁的摘要,突出最重要的内容。该报告应以 markdown 格式编写,' @@ -56,6 +56,62 @@ class DefaultChatPrompt: '保持意思不变,但使它们更具文学性,在《自然》杂志风格中提高我的表达水平。', }, ], + 'zh-hant': [ + { + 'name': '週報產生器', + 'content': '使用下面提供的文本作為中文週報的基礎,產生一個簡潔的摘要,突出最重要的內容。該報告應以 markdown 格式編寫,' + '並應易於閱讀和理解,以滿足一般受眾的需要。特別是要注重提供對利害關係人和決策者有用的見解和分析。 ' + '你也可以根據需要使用任何額外的資訊或來源。 ', + }, + { + 'name': '資料庫專家', + 'content': '我希望你充當一個資料庫專家的角色,當我問你與 sql 相關的問題時,' + '我需要你轉換為標準的 sql 語句,當我的描述不夠精準時,請給予合適的回饋', + }, + { + 'name': '全端程式設計師', + 'content': '我希望你能扮演一個軟體開發者的角色。我將提供一些關於網絡應用需求的具體信息,' + '而你的工作是提出一個架構和程式碼,用 Golang 和 Angular 開發安全的應用。 ', + }, + { + 'name': '前端開發', + 'content': '我希望你能擔任高級前端開發員。我將描述一個項目的細節,你將用這些工具來編碼項目。 ' + 'Create React App, yarn, Ant Design, List, Redux Toolkit, createSlice, thunk, axios. ' + '你應該將文件合併到單一的 index.js 檔案中,而不是其他。不要寫解釋。 ', + }, + { + 'name': '架構師 IT', + 'content': '我希望你能扮演一個 IT 架構師的角色。我將提供一些關於應用程式或其他數位產品功能的細節,' + '而你的工作是想出將其整合到 IT 環境中的方法。這可能涉及到分析業務需求,進行差距分析,' + '並將新系統的功能對應到現有的 IT 環境。接下來的步驟是創建一個解決方案設計,' + '一個實體網路藍圖,定義系統整合的介面和部署環境的藍圖。 ', + }, + { + 'name': '代碼釋義器', + 'content': '我希望你能充當程式碼解釋者,闡明程式碼的語法和語義。 ', + }, + { + 'name': 'IT 程式設計問題', + 'content': '我想讓你充當 Stackoverflow 的貼文。我將提出與程式設計有關的問題,你將回答答案是什麼。 ' + '我希望你只回答給定的答案,在沒有足夠的細節時寫出解釋。當我需要用英文告訴你一些事情時,我會把文字放在大括號裡{像這樣}。 ' + }, + { + 'name': '小紅書風格', + 'content': '請使用 Emoji 風格編輯以下段落,該風格以引人入勝的標題、' + '每個段落中包含表情符號和在末尾添加相關標籤為特徵。請確保保持原文的意思。 ', + }, + { + 'name': '寫作助理', + 'content': '作為一名中文寫作改進助理,你的任務是改進所提供文本的拼寫、語法、清晰、簡潔和整體可讀性,' + '同時分解長句,減少重複,並提供改進建議。請只提供文本的更正版本,避免包括解釋。 ', + }, + { + 'name': 'Nature 風格潤飾', + 'content': '我希望你能充當專業的拼字和文法校對者,並改進我的文章。 ' + '我想讓你用更美麗、優雅、高級的英語單字和句子替換我的簡化 A0 級別的單字和句子,' + '保持意思不變,但使它們更具文學性,在《自然》雜誌風格中提高我的表達水平。 ', + }, + ], 'en': [ { "name": "Weekly Report Generator", @@ -189,9 +245,65 @@ class DefaultChatPrompt: "私の簡素化されたA0レベルの単語や文章を、より美しく、優雅で、" "高度な英語の単語や文章に置き換えて、文学的な要素を加え、「自然」誌スタイルで表現レベルを高めてください。" }, + ], + 'pt-br': [ + { + 'name': 'Gerador de Relatório Semanal', + 'content': 'Use o texto fornecido abaixo como base para o relatório semanal chinês, gerando um resumo conciso que destaca o conteúdo mais importante. O relatório deve ser escrito em formato de desconto,' + 'e deve ser fácil de ler e compreender para atender às necessidades do público em geral. Em particular, concentre-se em fornecer insights e análises que sejam úteis para as partes interessadas e os tomadores de decisão. ' + 'Você também pode usar qualquer informação ou fonte adicional, se desejar. ', + }, + { + 'name': 'Especialista em Banco de Dados', + 'content': 'Espero que você atue como um especialista em banco de dados quando eu fizer perguntas relacionadas a SQL,' + 'Preciso que você converta em uma instrução sql padrão. Quando minha descrição não for precisa o suficiente, forneça um feedback apropriado', + }, + { + 'name': 'Programador full stack', + 'content': 'Quero que você desempenhe o papel de desenvolvedor de software. Fornecerei algumas informações específicas sobre os requisitos de aplicativos da web,' + 'E seu trabalho é criar uma arquitetura e código para desenvolver aplicativos seguros usando Golang e Angular. ', + }, + { + 'name': 'Desenvolvimento front-end', + 'content': 'Espero que você possa atuar como desenvolvedor front-end sênior. Descreverei os detalhes de um projeto que você usará para codificar essas ferramentas. ' + 'Criar aplicativo React, fio, Ant Design, Lista, Redux Toolkit, createSlice, thunk, axios' + 'Você deve mesclar os arquivos em um único arquivo index.js e nada mais. Não escreva uma explicação. ', + }, + { + 'name': 'Arquiteto de TI', + 'content': 'Quero que você desempenhe o papel de um arquiteto de TI. Fornecerei alguns detalhes sobre a funcionalidade do aplicativo ou outro produto digital,' + 'E seu trabalho é descobrir como integrá-lo ao ambiente de TI. Isto pode envolver a análise das necessidades do negócio, a realização de uma análise de lacunas,' + 'e mapear a funcionalidade do novo sistema no ambiente de TI existente. Os próximos passos são criar um design de solução' + 'Um modelo de rede física que define as interfaces para integração do sistema e o modelo para o ambiente de implantação. ', + }, + { + 'name': 'Intérprete de código', + 'content': 'Espero que você possa atuar como intérprete de código e esclarecer a sintaxe e a semântica do código. ', + }, + { + 'name': 'Pergunta de programação de TI', + 'content': 'Quero que você seja um post do Stackoverflow. Farei perguntas relacionadas à programação e você responderá quais são as respostas. ' + 'Quero que você responda apenas as respostas dadas e escreva explicações quando não houver detalhes suficientes. Quando preciso te contar algo em inglês, coloco o texto entre chaves {assim}. ' + }, + { + 'name': 'Estilo Pequeno Livro Vermelho', + 'content': 'Por favor edite o seguinte parágrafo usando o estilo Emoji com um título envolvente,' + 'Cada parágrafo apresenta emoticons e tags relevantes adicionadas no final. Por favor, certifique-se de manter o significado do texto original. ', + }, + { + 'name': 'Assistente de Redação', + 'content': 'Como Assistente de Melhoria da Escrita Chinesa, você terá a tarefa de melhorar a ortografia, gramática, clareza, concisão e legibilidade geral do texto fornecido,' + 'Ta1mbém divide frases longas, reduz a repetição e fornece sugestões de melhorias. Forneça apenas uma versão corrigida do texto e evite incluir explicações. ', + }, + { + 'name': 'Polimento de estilo natural', + 'content': 'Gostaria que você atuasse como revisor ortográfico e gramatical profissional e melhorasse meus artigos. ' + 'Quero que você substitua minhas palavras e frases simplificadas do nível A0 por palavras e frases em inglês mais bonitas, elegantes e avançadas' + 'Manter os significados iguais, mas torná-los mais literários, melhorando meu nível de expressão no estilo Natureza. ', + } ] } @classmethod def get_prompts(cls, lang: str) -> list: - return cls.DEFAULT.get(lang[:2], 'zh') + return cls.DEFAULT.get(lang)