Merge remote-tracking branch 'origin/16.0' into 16.0
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
'name': 'Latest ChatGPT4 AI Center. GPT 4 for image, Dall-E Image.Multi Robot Support. Chat and Training',
|
'name': 'Latest ChatGPT4 AI Center. GPT 4 for image, Dall-E Image.Multi Robot Support. Chat and Training',
|
||||||
'version': '16.23.04.20',
|
'version': '16.23.04.22',
|
||||||
'author': 'Sunpop.cn',
|
'author': 'Sunpop.cn',
|
||||||
'company': 'Sunpop.cn',
|
'company': 'Sunpop.cn',
|
||||||
'maintainer': 'Sunpop.cn',
|
'maintainer': 'Sunpop.cn',
|
||||||
|
|||||||
@@ -4,10 +4,10 @@
|
|||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 16.0+e-20230320\n"
|
"Project-Id-Version: Odoo Server 16.0+e-20230415\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-04-12 08:53+0000\n"
|
"POT-Creation-Date: 2023-04-22 13:44+0000\n"
|
||||||
"PO-Revision-Date: 2023-04-12 08:53+0000\n"
|
"PO-Revision-Date: 2023-04-22 13:44+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@@ -15,6 +15,111 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: \n"
|
"Content-Transfer-Encoding: \n"
|
||||||
"Plural-Forms: \n"
|
"Plural-Forms: \n"
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,help:app_chatgpt.field_ai_robot__frequency_penalty
|
||||||
|
msgid ""
|
||||||
|
"\n"
|
||||||
|
" Reduce the chance of repeating a token proportionally based on how often it has appeared in the text so far.\n"
|
||||||
|
" This decreases the likelihood of repeating the exact same text in a response.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"避免使用常用词。"
|
||||||
|
"聊天机器人会尝试避免在回复中使用频率较高的词汇,以提高回复的多样性和新颖度。"
|
||||||
|
"用于控制聊天机器人回复中出现频率过高的词汇的惩罚程度。聊天机器人会尝试避免在回复中使用频率较高的词汇,以提高回复的多样性和新颖度。"
|
||||||
|
""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,help:app_chatgpt.field_ai_robot__presence_penalty
|
||||||
|
msgid ""
|
||||||
|
"\n"
|
||||||
|
" Reduce the chance of repeating any token that has appeared in the text at all so far.\n"
|
||||||
|
" This increases the likelihood of introducing new topics in a response.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"避免使用重复词。"
|
||||||
|
"越大模型就趋向于生成更新的话题,惩罚已经出现过的文本"
|
||||||
|
""
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,help:app_chatgpt.field_ai_robot__max_tokens
|
||||||
|
msgid ""
|
||||||
|
"\n"
|
||||||
|
" Set a limit on the number of tokens per model response.\n"
|
||||||
|
" The API supports a maximum of 4000 tokens shared between the prompt\n"
|
||||||
|
" (including system message, examples, message history, and user query) and the model's response.\n"
|
||||||
|
" One token is roughly 4 characters for typical English text.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"最大回复Token\n"
|
||||||
|
"Ai接口处理Prompt提问与回复的合计Token不会超过4000,"
|
||||||
|
"包括角色设定 + 设定的历史回复 + 问题"
|
||||||
|
"1个Token一般可包含4个英文字母"
|
||||||
|
""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,help:app_chatgpt.field_ai_robot__temperature
|
||||||
|
msgid ""
|
||||||
|
"\n"
|
||||||
|
" Controls randomness. Lowering the temperature means that the model will produce\n"
|
||||||
|
" more repetitive and deterministic responses.\n"
|
||||||
|
" Increasing the temperature will result in more unexpected or creative responses.\n"
|
||||||
|
" Try adjusting temperature or Top P but not both.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"控制回复的“新颖度”。"
|
||||||
|
"值越高,聊天机器人生成的回复越不确定和随机,"
|
||||||
|
"值越低,聊天机器人生成的回复会更加可预测和常规化。"
|
||||||
|
""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,help:app_chatgpt.field_ai_robot__sys_content
|
||||||
|
msgid ""
|
||||||
|
"\n"
|
||||||
|
" Give the model instructions about how it should behave and any context it should reference when generating a response.\n"
|
||||||
|
" You can describe the assistant’s personality,\n"
|
||||||
|
" tell it what it should and shouldn’t answer, and tell it how to format responses.\n"
|
||||||
|
" There’s no token limit for this section, but it will be included with every API call,\n"
|
||||||
|
" so it counts against the overall token limit.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
"Ai角色场景设定。"
|
||||||
|
"为Ai设定角色和场景后,Ai即可按你设定要求进行回答。"
|
||||||
|
"你可以让Ai专注某领域回答,描述Ai个性。"
|
||||||
|
"并告诉Ai应该回答什么,不应该回答什么,并告诉他以何种格式响应。"
|
||||||
|
"角色设定会计入整体的会话Token限制和数量。"
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,help:app_chatgpt.field_ai_robot__top_p
|
||||||
|
msgid ""
|
||||||
|
"\n"
|
||||||
|
" Similar to temperature, this controls randomness but uses a different method.\n"
|
||||||
|
" Lowering Top P will narrow the model’s token selection to likelier tokens.\n"
|
||||||
|
" Increasing Top P will let the model choose from tokens with both high and low likelihood.\n"
|
||||||
|
" Try adjusting temperature or Top P but not both\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
"语言连贯性,与 temperature 参数类似,用于控制递归联想时的可选择概率。"
|
||||||
|
"也是控制回复的“新颖度”。"
|
||||||
|
"不同的是,top_p控制的是回复中概率最高的几个可能性的累计概率之和,"
|
||||||
|
"值越小,生成的回复越保守,值越大,生成的回复越新颖。"
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,help:app_chatgpt.field_ai_robot__stop
|
||||||
|
msgid ""
|
||||||
|
"\n"
|
||||||
|
" Use , to separate the stop key word.\n"
|
||||||
|
" Make responses stop at a desired point, such as the end of a sentence or list.\n"
|
||||||
|
" Specify up to four sequences where the model will stop generating further tokens in a response.\n"
|
||||||
|
" The returned text will not contain the stop sequence.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
"停止标识。"
|
||||||
|
"表示聊天机器人停止生成回复的条件,可以是一段文本或者一个列表,"
|
||||||
|
"当聊天机器人生成的回复中包含了这个条件,就会停止继续生成回复。"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,help:app_chatgpt.field_ai_robot__ai_model
|
#: model:ir.model.fields,help:app_chatgpt.field_ai_robot__ai_model
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -29,6 +134,15 @@ msgid ""
|
|||||||
"GPT-3\tA set of models that can understand and generate natural language\n"
|
"GPT-3\tA set of models that can understand and generate natural language\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"GPT-4: 最新引擎,更好的智能回复。支持多模态输入如图片,但暂时没开放。\n"
|
||||||
|
"GPT-3.5: 问答引擎,可以根据提问回复答案或者代码。\n"
|
||||||
|
"DALL·E: 根据要求生成图片。\n"
|
||||||
|
"Whisper: 文字转语音引擎。\n"
|
||||||
|
"Embeddings:\tA set of models that can convert text into a numerical form\n"
|
||||||
|
"CodexLimited: A set of models that can understand and generate code, including translating natural language to code\n"
|
||||||
|
"Moderation: A fine-tuned model that can detect whether text may be sensitive or unsafe\n"
|
||||||
|
"GPT-3\tA set of models that can understand and generate natural language\n"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
@@ -390,6 +504,15 @@ msgstr ""
|
|||||||
msgid "9:30"
|
msgid "9:30"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/app_chatgpt/models/mail_channel.py:0
|
||||||
|
#: code:addons/app_chatgpt/models/mail_channel.py:0
|
||||||
|
#: code:addons/app_chatgpt/models/mail_channel.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid "<div class=\"o_mail_notification\">joined the channel</div>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||||
@@ -421,19 +544,19 @@ msgid "ABCD"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__ai_completion_tokens
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use__ai_completion_tokens
|
||||||
msgid "AI Completion Tokens"
|
msgid "AI Completion Tokens"
|
||||||
msgstr "AI使用Token"
|
msgstr "Ai回答Token"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__ai_model
|
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__ai_model
|
||||||
msgid "AI Model"
|
msgid "AI Model"
|
||||||
msgstr ""
|
msgstr "Ai模型"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__provider
|
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__provider
|
||||||
msgid "AI Provider"
|
msgid "AI Provider"
|
||||||
msgstr ""
|
msgstr "Ai服务商"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
@@ -491,6 +614,11 @@ msgstr "上下文连接超时(秒)"
|
|||||||
msgid "Ai Center(Chatgpt)"
|
msgid "Ai Center(Chatgpt)"
|
||||||
msgstr "Ai服务中心(Chatgpt)"
|
msgstr "Ai服务中心(Chatgpt)"
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use__ai_user_id
|
||||||
|
msgid "Ai User"
|
||||||
|
msgstr "Ai用户"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields.selection,name:app_chatgpt.selection__res_users__gpt_policy__all
|
#: model:ir.model.fields.selection,name:app_chatgpt.selection__res_users__gpt_policy__all
|
||||||
msgid "All Users"
|
msgid "All Users"
|
||||||
@@ -502,9 +630,9 @@ msgid "Allowed Conversation Mode"
|
|||||||
msgstr "对话权限"
|
msgstr "对话权限"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__gpt_wl_users
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__gpt_wl_partners
|
||||||
msgid "Allowed Users"
|
msgid "Allowed Partners"
|
||||||
msgstr "指定用户"
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
@@ -563,13 +691,6 @@ msgstr ""
|
|||||||
msgid "Azure"
|
msgid "Azure"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
|
||||||
#. odoo-python
|
|
||||||
#: code:addons/app_chatgpt/models/ai_robot.py:0
|
|
||||||
#, python-format
|
|
||||||
msgid "Azure no response"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||||
@@ -680,7 +801,7 @@ msgid "ChatGPT"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ai.robot,name:app_chatgpt.chatgpt_robot3
|
#: model:ai.robot,name:app_chatgpt.chatgpt3_azure
|
||||||
msgid "ChatGPT Azure"
|
msgid "ChatGPT Azure"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -706,6 +827,11 @@ msgstr "ChatGPT机器人【%s】没有设置 api key."
|
|||||||
msgid "ChatGPT odoo"
|
msgid "ChatGPT odoo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ai.robot,name:app_chatgpt.chatgpt4_azure
|
||||||
|
msgid "ChatGPT4 Azure"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||||
@@ -786,6 +912,11 @@ msgstr "配置设置"
|
|||||||
msgid "Connect Timout"
|
msgid "Connect Timout"
|
||||||
msgstr "上下文连接超时"
|
msgstr "上下文连接超时"
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,help:app_chatgpt.field_ai_robot__ai_timeout
|
||||||
|
msgid "Connect timeout for Ai response"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model,name:app_chatgpt.model_res_partner
|
#: model:ir.model,name:app_chatgpt.model_res_partner
|
||||||
msgid "Contact"
|
msgid "Contact"
|
||||||
@@ -793,11 +924,13 @@ msgstr "联系人"
|
|||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__create_uid
|
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__create_uid
|
||||||
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use__create_uid
|
||||||
msgid "Created by"
|
msgid "Created by"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__create_date
|
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__create_date
|
||||||
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use__create_date
|
||||||
msgid "Created on"
|
msgid "Created on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -849,6 +982,7 @@ msgstr "讨论频道"
|
|||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__display_name
|
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__display_name
|
||||||
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use__display_name
|
||||||
msgid "Display Name"
|
msgid "Display Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -953,9 +1087,9 @@ msgid "Filter Sensitive Words"
|
|||||||
msgstr "是否启用敏感词过滤"
|
msgstr "是否启用敏感词过滤"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__first_ask_time
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use__first_ask_time
|
||||||
msgid "First Ask Time"
|
msgid "First Ask Time"
|
||||||
msgstr "首次发问时间"
|
msgstr "首次提问"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
@@ -980,6 +1114,11 @@ msgstr ""
|
|||||||
msgid "French stick"
|
msgid "French stick"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__frequency_penalty
|
||||||
|
msgid "Frequency penalty"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||||
@@ -1040,14 +1179,15 @@ msgid "Hindu"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__human_prompt_tokens
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use__human_prompt_tokens
|
||||||
msgid "Human Prompt Tokens"
|
msgid "Human Prompt Tokens"
|
||||||
msgstr "人员使用Token"
|
msgstr "已提问Token"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__id
|
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__id
|
||||||
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use__id
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "ID"
|
msgid "ID"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1325,16 +1465,19 @@ msgstr ""
|
|||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot____last_update
|
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot____last_update
|
||||||
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use____last_update
|
||||||
msgid "Last Modified on"
|
msgid "Last Modified on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__write_uid
|
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__write_uid
|
||||||
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use__write_uid
|
||||||
msgid "Last Updated by"
|
msgid "Last Updated by"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__write_date
|
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__write_date
|
||||||
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use__write_date
|
||||||
msgid "Last Updated on"
|
msgid "Last Updated on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1399,19 +1542,19 @@ msgid "Mahjong red dragon"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__max_tokens
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use__max_number
|
||||||
msgid "Max Length"
|
msgid "Max Number of Call"
|
||||||
msgstr ""
|
msgstr "提问次数限制"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__max_number
|
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__max_tokens
|
||||||
msgid "Max Number of Call"
|
msgid "Max response"
|
||||||
msgstr "最大发问次数"
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model,name:app_chatgpt.model_mail_message
|
#: model:ir.model,name:app_chatgpt.model_mail_message
|
||||||
msgid "Message"
|
msgid "Message"
|
||||||
msgstr "消息"
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
@@ -1537,9 +1680,9 @@ msgid "No robot provider found"
|
|||||||
msgstr "没有设置Ai接口供应方"
|
msgstr "没有设置Ai接口供应方"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__used_number
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use__used_number
|
||||||
msgid "Number of Used"
|
msgid "Number of Used"
|
||||||
msgstr "已发问次数"
|
msgstr "已提问次数"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
@@ -1652,6 +1795,20 @@ msgstr ""
|
|||||||
msgid "PC"
|
msgid "PC"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use__name
|
||||||
|
msgid "Partner"
|
||||||
|
msgstr "用户"
|
||||||
|
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model_terms:ir.ui.view,arch_db:app_chatgpt.app_chatgpt_res_users_form
|
||||||
|
#: model:ir.actions.act_window,name:app_chatgpt.action_res_partner_ai_use
|
||||||
|
#: model:ir.actions.act_window,name:app_chatgpt.action_res_users_2_partner_ai_use
|
||||||
|
#: model:ir.ui.menu,name:app_chatgpt.menu_res_partner_ai_use
|
||||||
|
msgid "Partner Ai Use"
|
||||||
|
msgstr "用户Ai对话用量"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||||
@@ -1682,6 +1839,18 @@ msgstr ""
|
|||||||
msgid "Please Set your AI robot's endpoint first."
|
msgid "Please Set your AI robot's endpoint first."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/app_chatgpt/models/mail_channel.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Please warmly welcome our new partner %s and send him the best wishes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__presence_penalty
|
||||||
|
msgid "Presence penalty"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,help:app_chatgpt.field_ai_robot__openapi_api_key
|
#: model:ir.model.fields,help:app_chatgpt.field_ai_robot__openapi_api_key
|
||||||
msgid "Provide the API key here"
|
msgid "Provide the API key here"
|
||||||
@@ -1695,6 +1864,28 @@ msgstr ""
|
|||||||
msgid "Puck"
|
msgid "Puck"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/app_chatgpt/models/ai_robot.py:0
|
||||||
|
#: code:addons/app_chatgpt/models/ai_robot.py:0
|
||||||
|
#: code:addons/app_chatgpt/models/mail_channel.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Response Timeout, please speak again."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model_terms:ir.ui.view,arch_db:app_chatgpt.ai_robot_form_view
|
||||||
|
msgid "Robot Name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model_terms:ir.ui.view,arch_db:app_chatgpt.ai_robot_form_view
|
||||||
|
msgid ""
|
||||||
|
"Role-playing and scene setting.Give the model instructions about how it "
|
||||||
|
"should behave and any context it should reference when generating a "
|
||||||
|
"response."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||||
@@ -1794,17 +1985,17 @@ msgstr "使用此文件进行基础过滤 models/lib/sensi_words.txt"
|
|||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__sequence
|
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__sequence
|
||||||
msgid "Sequence"
|
msgid "Sequence"
|
||||||
msgstr ""
|
msgstr "排序"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__service_end_date
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use__service_end_date
|
||||||
msgid "Service End Date"
|
msgid "Service End Date"
|
||||||
msgstr "服务到期时间"
|
msgstr "服务到期日期"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__service_start_date
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use__service_start_date
|
||||||
msgid "Service Start Date"
|
msgid "Service Start Date"
|
||||||
msgstr "服务开始时间"
|
msgstr "服务开始日期"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
@@ -1857,6 +2048,11 @@ msgstr ""
|
|||||||
msgid "Statue of Liberty"
|
msgid "Statue of Liberty"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__stop
|
||||||
|
msgid "Stop sequences"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||||
@@ -1867,13 +2063,18 @@ msgstr ""
|
|||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_config_settings__openai_sync_config
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_config_settings__openai_sync_config
|
||||||
msgid "Sync Config"
|
msgid "Sync Config"
|
||||||
msgstr "响应模式"
|
msgstr "同步配置"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields.selection,name:app_chatgpt.selection__res_config_settings__openai_sync_config__sync
|
#: model:ir.model.fields.selection,name:app_chatgpt.selection__res_config_settings__openai_sync_config__sync
|
||||||
msgid "Synchronous"
|
msgid "Synchronous"
|
||||||
msgstr "同步响应"
|
msgstr "同步响应"
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__sys_content
|
||||||
|
msgid "System message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||||
@@ -1952,6 +2153,11 @@ msgstr ""
|
|||||||
msgid "Temperature"
|
msgid "Temperature"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__ai_timeout
|
||||||
|
msgid "Timeout(seconds)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model_terms:ir.ui.view,arch_db:app_chatgpt.is_res_config_settings_view
|
#: model_terms:ir.ui.view,arch_db:app_chatgpt.is_res_config_settings_view
|
||||||
msgid "Timout then disconnect(s)"
|
msgid "Timout then disconnect(s)"
|
||||||
@@ -1965,6 +2171,16 @@ msgstr ""
|
|||||||
msgid "Titania"
|
msgid "Titania"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use__token_allow
|
||||||
|
msgid "Token Allow"
|
||||||
|
msgstr "Token限额"
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use__token_balance
|
||||||
|
msgid "Token Balance"
|
||||||
|
msgstr "Token余量"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
#: code:addons/app_chatgpt/static/src/models_data/emoji_data.js:0
|
||||||
@@ -1980,9 +2196,19 @@ msgid "Tokyo tower"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,field_description:app_chatgpt.field_res_users__tokens_total
|
#: model:ir.model.fields,field_description:app_chatgpt.field_ai_robot__top_p
|
||||||
|
msgid "Top probabilities"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model_terms:ir.ui.view,arch_db:app_chatgpt.res_partner_ai_use_tree_view
|
||||||
|
msgid "Total"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,field_description:app_chatgpt.field_res_partner_ai_use__tokens_total
|
||||||
msgid "Total Tokens"
|
msgid "Total Tokens"
|
||||||
msgstr "总使用Token量"
|
msgstr "总Token用量"
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
@@ -2041,11 +2267,6 @@ msgstr ""
|
|||||||
msgid "UP! button"
|
msgid "UP! button"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
|
||||||
#: model_terms:ir.ui.view,arch_db:app_chatgpt.app_chatgpt_res_users_form
|
|
||||||
msgid "Usage"
|
|
||||||
msgstr "使用情况"
|
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,help:app_chatgpt.field_ai_robot__is_filtering
|
#: model:ir.model.fields,help:app_chatgpt.field_ai_robot__is_filtering
|
||||||
msgid "Use base Filter in dir models/lib/sensi_words.txt"
|
msgid "Use base Filter in dir models/lib/sensi_words.txt"
|
||||||
@@ -27194,6 +27415,26 @@ msgid "ココ"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: app_chatgpt
|
#. module: app_chatgpt
|
||||||
#: model:ir.model.fields,help:app_chatgpt.field_res_config_settings__openapi_context_timeout
|
#. odoo-python
|
||||||
msgid "多少秒以内的聊天信息作为上下文继续"
|
#: code:addons/app_chatgpt/models/mail_channel.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid "此Ai暂时未开放,请联系管理员。"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model,name:app_chatgpt.model_res_partner_ai_use
|
||||||
|
msgid "消费者Ai使用情况"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/app_chatgpt/models/ai_robot.py:0
|
||||||
|
#: code:addons/app_chatgpt/models/mail_channel.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid "温馨提示:您发送的内容含有敏感词,请修改内容后再向我发送。"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: app_chatgpt
|
||||||
|
#: model:ir.model.fields,help:app_chatgpt.field_res_config_settings__openapi_context_timeout
|
||||||
|
msgid "群聊中多少分钟以内的聊天信息作为上下文继续"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ GPT-3 A set of models that can understand and generate natural language
|
|||||||
# begin gpt 参数
|
# begin gpt 参数
|
||||||
# 1. stop:表示聊天机器人停止生成回复的条件,可以是一段文本或者一个列表,当聊天机器人生成的回复中包含了这个条件,就会停止继续生成回复。
|
# 1. stop:表示聊天机器人停止生成回复的条件,可以是一段文本或者一个列表,当聊天机器人生成的回复中包含了这个条件,就会停止继续生成回复。
|
||||||
# 2. temperature:控制回复的“新颖度”,值越高,聊天机器人生成的回复越不确定和随机,值越低,聊天机器人生成的回复会更加可预测和常规化。
|
# 2. temperature:控制回复的“新颖度”,值越高,聊天机器人生成的回复越不确定和随机,值越低,聊天机器人生成的回复会更加可预测和常规化。
|
||||||
# 3. top_p:言语连贯性,与temperature有些类似,也是控制回复的“新颖度”。不同的是,top_p控制的是回复中概率最高的几个可能性的累计概率之和,值越小,生成的回复越保守,值越大,生成的回复越新颖。
|
# 3. top_p:语言连贯性,与temperature有些类似,也是控制回复的“新颖度”。不同的是,top_p控制的是回复中概率最高的几个可能性的累计概率之和,值越小,生成的回复越保守,值越大,生成的回复越新颖。
|
||||||
# 4. frequency_penalty:用于控制聊天机器人回复中出现频率过高的词汇的惩罚程度。聊天机器人会尝试避免在回复中使用频率较高的词汇,以提高回复的多样性和新颖度。
|
# 4. frequency_penalty:用于控制聊天机器人回复中出现频率过高的词汇的惩罚程度。聊天机器人会尝试避免在回复中使用频率较高的词汇,以提高回复的多样性和新颖度。
|
||||||
# 5. presence_penalty:与frequency_penalty相对,用于控制聊天机器人回复中出现频率较低的词汇的惩罚程度。聊天机器人会尝试在回复中使用频率较低的词汇,以提高回复的多样性和新颖度。
|
# 5. presence_penalty:与frequency_penalty相对,用于控制聊天机器人回复中出现频率较低的词汇的惩罚程度。聊天机器人会尝试在回复中使用频率较低的词汇,以提高回复的多样性和新颖度。
|
||||||
max_tokens = fields.Integer('Max response', default=600,
|
max_tokens = fields.Integer('Max response', default=600,
|
||||||
@@ -143,10 +143,16 @@ GPT-3 A set of models that can understand and generate natural language
|
|||||||
return res_post, usage, is_ai
|
return res_post, usage, is_ai
|
||||||
|
|
||||||
def get_ai_post(self, res, author_id=False, answer_id=False, param={}):
|
def get_ai_post(self, res, author_id=False, answer_id=False, param={}):
|
||||||
if res and author_id and isinstance(res, openai.openai_object.OpenAIObject) or isinstance(res, list):
|
if res and author_id and isinstance(res, openai.openai_object.OpenAIObject) or isinstance(res, list) or isinstance(res, dict):
|
||||||
# 返回是个对象,那么就是ai
|
# 返回是个对象,那么就是ai
|
||||||
usage = json.loads(json.dumps(res['usage']))
|
if isinstance(res, dict):
|
||||||
content = json.loads(json.dumps(res['choices'][0]['message']['content']))
|
# openai 格式处理
|
||||||
|
usage = res['usage']
|
||||||
|
content = res['choices'][0]['message']['content']
|
||||||
|
else:
|
||||||
|
# azure 格式
|
||||||
|
usage = json.loads(json.dumps(res['usage']))
|
||||||
|
content = json.loads(json.dumps(res['choices'][0]['message']['content']))
|
||||||
data = content.replace(' .', '.').strip()
|
data = content.replace(' .', '.').strip()
|
||||||
answer_user = answer_id.mapped('user_ids')[:1]
|
answer_user = answer_id.mapped('user_ids')[:1]
|
||||||
if usage:
|
if usage:
|
||||||
|
|||||||
@@ -18,4 +18,6 @@ class ResPartnerAiUse(models.Model):
|
|||||||
ai_completion_tokens = fields.Integer('AI Completion Tokens')
|
ai_completion_tokens = fields.Integer('AI Completion Tokens')
|
||||||
tokens_total = fields.Integer('Total Tokens')
|
tokens_total = fields.Integer('Total Tokens')
|
||||||
token_balance = fields.Integer('Token Balance')
|
token_balance = fields.Integer('Token Balance')
|
||||||
|
# balance = allow - total
|
||||||
|
token_allow = fields.Integer('Token Allow')
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 5.7 MiB |
|
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 5.7 MiB |
@@ -6,16 +6,17 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree>
|
<tree>
|
||||||
<field name="name"/>
|
<field name="name"/>
|
||||||
<field name="ai_user_id"/>
|
<field name="ai_user_id" optional="show"/>
|
||||||
<field name="first_ask_time"/>
|
<field name="first_ask_time" optional="show"/>
|
||||||
<field name="service_start_date"/>
|
<field name="service_start_date" optional="show"/>
|
||||||
<field name="service_end_date"/>
|
<field name="service_end_date" optional="show"/>
|
||||||
<field name="used_number" sum="Total"/>
|
<field name="used_number" sum="Total" optional="hide"/>
|
||||||
<field name="max_number" sum="Total"/>
|
<field name="max_number" sum="Total" optional="hide"/>
|
||||||
<field name="token_balance" sum="Total"/>
|
<field name="human_prompt_tokens" sum="Total" optional="show"/>
|
||||||
<field name="human_prompt_tokens" sum="Total"/>
|
<field name="ai_completion_tokens" sum="Total" optional="show"/>
|
||||||
<field name="ai_completion_tokens" sum="Total"/>
|
<field name="tokens_total" sum="Total" optional="show"/>
|
||||||
<field name="tokens_total" sum="Total"/>
|
<field name="token_balance" sum="Total" optional="show"/>
|
||||||
|
<field name="token_allow" sum="Total" optional="show"/>
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<field name="inherit_id" ref="base.view_users_form"/>
|
<field name="inherit_id" ref="base.view_users_form"/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath expr="//div[@name='button_box']" position="inside">
|
<xpath expr="//div[@name='button_box']" position="inside">
|
||||||
<button name="%(app_chatgpt.action_res_users_2_partner_ai_use)d" type="action" string="Partner AI Use" icon="fa-comments">
|
<button name="%(app_chatgpt.action_res_users_2_partner_ai_use)d" type="action" string="Partner Ai Use" icon="fa-comments">
|
||||||
</button>
|
</button>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="//page[@name='preferences']" position="after">
|
<xpath expr="//page[@name='preferences']" position="after">
|
||||||
|
|||||||
@@ -33,10 +33,17 @@ patch(UserMenu.prototype, "app_odoo_customize.UserMenu", {
|
|||||||
}
|
}
|
||||||
if (session.app_show_support) {
|
if (session.app_show_support) {
|
||||||
userMenuRegistry.add("support", supportItem, {'force': true})
|
userMenuRegistry.add("support", supportItem, {'force': true})
|
||||||
|
} else if (userMenuRegistry.get('support')) {
|
||||||
|
try {
|
||||||
|
userMenuRegistry.remove("support");
|
||||||
|
} catch (err) {
|
||||||
|
console.log(err);
|
||||||
|
}
|
||||||
|
userMenuRegistry.remove("support");
|
||||||
}
|
}
|
||||||
if (session.app_show_account) {
|
if (session.app_show_account) {
|
||||||
userMenuRegistry.add("odoo_account", odooAccountItem, {'force': true});
|
userMenuRegistry.add("odoo_account", odooAccountItem, {'force': true});
|
||||||
} else {
|
} else if (userMenuRegistry.get('odoo_account')){
|
||||||
try {
|
try {
|
||||||
userMenuRegistry.remove("odoo_account");
|
userMenuRegistry.remove("odoo_account");
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
<field name="view_id" ref="base.wizard_lang_export"/>
|
<field name="view_id" ref="base.wizard_lang_export"/>
|
||||||
<field name="target">new</field>
|
<field name="target">new</field>
|
||||||
<field name="context">{
|
<field name="context">{
|
||||||
|
'default_lang': 'zh_CN',
|
||||||
'default_format': 'po',
|
'default_format': 'po',
|
||||||
'default_modules': active_ids,
|
'default_modules': active_ids,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,30 @@
|
|||||||
# Translation of Odoo Server.
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * app_web_enterprise
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 10.0\n"
|
"Project-Id-Version: Odoo Server 16.0+e-20230320\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-01-08 14:28+0000\n"
|
"POT-Creation-Date: 2023-04-22 18:11+0000\n"
|
||||||
"PO-Revision-Date: 2018-01-08 14:28+0000\n"
|
"PO-Revision-Date: 2023-04-22 18:11+0000\n"
|
||||||
"Last-Translator: <>\n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: \n"
|
"Content-Transfer-Encoding: \n"
|
||||||
"Plural-Forms: \n"
|
"Plural-Forms: \n"
|
||||||
|
|
||||||
|
#. module: app_web_enterprise
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/app_web_enterprise/static/src/xml/form.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Discard"
|
||||||
|
msgstr "丢弃"
|
||||||
|
|
||||||
|
#. module: app_web_enterprise
|
||||||
|
#. odoo-javascript
|
||||||
|
#: code:addons/app_web_enterprise/static/src/xml/form.xml:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "保存"
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
// 不显示 tooltip
|
||||||
|
.o_tooltip.o_tooltip_visible {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
// 上方菜单下拉,group 也有箭头
|
// 上方菜单下拉,group 也有箭头
|
||||||
.o_main_navbar {
|
.o_main_navbar {
|
||||||
.o-dropdown {
|
.o-dropdown {
|
||||||
|
|||||||
21
app_web_enterprise/static/src/xml/form.xml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<templates xml:space="preserve">
|
||||||
|
<!-- tip用 *-->
|
||||||
|
<t t-name="app_web_enterprise.FormLabel" t-inherit="web.FormLabel" t-inherit-mode="extension">
|
||||||
|
<xpath expr="//label" position="replace">
|
||||||
|
<label class="o_form_label" t-att-for="props.id" t-att-class="className" >
|
||||||
|
<t t-esc="props.string"/>
|
||||||
|
<sup class="btn-link p-1" t-if="hasTooltip" t-att="{'data-tooltip-template': 'web.FieldTooltip', 'data-tooltip-info': tooltipInfo, 'data-tooltip-touch-tap-to-show': 'true'}">*</sup>
|
||||||
|
</label>
|
||||||
|
</xpath>
|
||||||
|
</t>
|
||||||
|
<!-- 保存增加字样-->
|
||||||
|
<t t-name="app_web_enterprise.FormStatusIndicator" t-inherit="web.FormStatusIndicator" t-inherit-mode="extension">
|
||||||
|
<xpath expr="//i[hasclass('fa-cloud-upload')]" position="after">
|
||||||
|
Save
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//i[hasclass('fa-undo')]" position="after">
|
||||||
|
Discard
|
||||||
|
</xpath>
|
||||||
|
</t>
|
||||||
|
</templates>
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
|
||||||
<templates xml:space="preserve">
|
|
||||||
<t t-name="app_web_enterprise.FormLabel" t-inherit="web.FormLabel" t-inherit-mode="extension">
|
|
||||||
<xpath expr="//label" position="replace">
|
|
||||||
<label class="o_form_label" t-att-for="props.id" t-att-class="className" >
|
|
||||||
<t t-esc="props.string"/><sup class="btn-link p-1" t-if="hasTooltip" t-att="{'data-tooltip-template': 'web.FieldTooltip', 'data-tooltip-info': tooltipInfo, 'data-tooltip-touch-tap-to-show': 'true'}">*</sup>
|
|
||||||
</label>
|
|
||||||
</xpath>
|
|
||||||
</t>
|
|
||||||
</templates>
|
|
||||||
@@ -3,13 +3,14 @@
|
|||||||
<!-- 企业版变色 -->
|
<!-- 企业版变色 -->
|
||||||
<template id="app_layout" inherit_id="web.layout" name="app Web layout">
|
<template id="app_layout" inherit_id="web.layout" name="app Web layout">
|
||||||
<xpath expr="//meta[last()]" position="after">
|
<xpath expr="//meta[last()]" position="after">
|
||||||
<meta name="theme-color" content="#875A7B"/>
|
<meta name="theme-color" content="#00796B"/>
|
||||||
<meta name="mobile-web-app-capable" content="yes"/>
|
<meta name="mobile-web-app-capable" content="yes"/>
|
||||||
<!-- Windows Phone -->
|
<!-- Windows Phone -->
|
||||||
<meta name="msapplication-navbutton-color" content="#00796B"/>
|
<meta name="msapplication-navbutton-color" content="#00796B"/>
|
||||||
|
<meta name="msapplication-TileColor" content="#00796B"/>
|
||||||
<!-- iOS Safari -->
|
<!-- iOS Safari -->
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes"/>
|
<meta name="apple-mobile-web-app-capable" content="yes"/>
|
||||||
<meta name="theme-color" content="#875A7B" media="(prefers-color-scheme: light)"/>
|
<meta name="theme-color" content="#00796B" media="(prefers-color-scheme: light)"/>
|
||||||
<meta name="theme-color" content="#242733" media="(prefers-color-scheme: dark)"/>
|
<meta name="theme-color" content="#242733" media="(prefers-color-scheme: dark)"/>
|
||||||
</xpath>
|
</xpath>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -63,6 +63,9 @@
|
|||||||
13. 代码完全开源
|
13. 代码完全开源
|
||||||
''',
|
''',
|
||||||
'data': [
|
'data': [
|
||||||
|
'views/blog_blog_views.xml',
|
||||||
|
'views/blog_tag_category_views.xml',
|
||||||
|
'views/blog_tag_views.xml',
|
||||||
'views/blog_post_views.xml',
|
'views/blog_post_views.xml',
|
||||||
# 'report/.xml',
|
# 'report/.xml',
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -22,4 +22,6 @@
|
|||||||
# http://www.sunpop.cn/odoo10_developer_document_offline/
|
# http://www.sunpop.cn/odoo10_developer_document_offline/
|
||||||
# description:
|
# description:
|
||||||
|
|
||||||
# from . import models
|
from . import blog_tag_category
|
||||||
|
from . import blog_tag
|
||||||
|
from . import blog_blog
|
||||||
|
|||||||
11
app_website_blog_editor/models/blog_blog.py
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from odoo import api, models, fields, _
|
||||||
|
|
||||||
|
|
||||||
|
class BlogBlog(models.Model):
|
||||||
|
_inherit = 'blog.blog'
|
||||||
|
_order = 'sequence, name'
|
||||||
|
|
||||||
|
# 排序
|
||||||
|
sequence = fields.Integer(string='Sequence', default=20, index=True, help="Determine the display order")
|
||||||
11
app_website_blog_editor/models/blog_tag.py
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from odoo import api, models, fields, _
|
||||||
|
|
||||||
|
|
||||||
|
class BlogTag(models.Model):
|
||||||
|
_inherit = 'blog.tag'
|
||||||
|
_order = 'sequence, name'
|
||||||
|
|
||||||
|
# 排序
|
||||||
|
sequence = fields.Integer(string='Sequence', default=20, index=True, help="Determine the display order")
|
||||||
12
app_website_blog_editor/models/blog_tag_category.py
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from odoo import api, models, fields, _
|
||||||
|
|
||||||
|
|
||||||
|
class BlogTagCategory(models.Model):
|
||||||
|
_inherit = 'blog.tag.category'
|
||||||
|
_order = 'sequence, name'
|
||||||
|
|
||||||
|
# 排序
|
||||||
|
sequence = fields.Integer(string='Sequence', default=20, index=True, help="Determine the display order")
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 238 KiB After Width: | Height: | Size: 171 KiB |
|
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 67 KiB |
16
app_website_blog_editor/views/blog_blog_views.xml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<odoo>
|
||||||
|
<record id="app_view_blog_blog_list" model="ir.ui.view">
|
||||||
|
<field name="name">app.blog.blog.list</field>
|
||||||
|
<field name="model">blog.blog</field>
|
||||||
|
<field name="inherit_id" ref="website_blog.view_blog_blog_list"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//field[1]" position="before">
|
||||||
|
<field name="sequence" widget="handle"/>
|
||||||
|
<field name="id" optional="hide"/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
</odoo>
|
||||||
|
|
||||||
|
|
||||||
16
app_website_blog_editor/views/blog_tag_category_views.xml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<odoo>
|
||||||
|
<record id="app_blog_tag_category_tree" model="ir.ui.view">
|
||||||
|
<field name="name">app.blog_tag_category_tree</field>
|
||||||
|
<field name="model">blog.tag.category</field>
|
||||||
|
<field name="inherit_id" ref="website_blog.blog_tag_category_tree"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//field[1]" position="before">
|
||||||
|
<field name="sequence" widget="handle"/>
|
||||||
|
<field name="id" optional="hide"/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
</odoo>
|
||||||
|
|
||||||
|
|
||||||
16
app_website_blog_editor/views/blog_tag_views.xml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<odoo>
|
||||||
|
<record id="app_blog_tag_tree" model="ir.ui.view">
|
||||||
|
<field name="name">app.blog_tag_tree</field>
|
||||||
|
<field name="model">blog.tag</field>
|
||||||
|
<field name="inherit_id" ref="website_blog.blog_tag_tree"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//field[1]" position="before">
|
||||||
|
<field name="sequence" widget="handle"/>
|
||||||
|
<field name="id" optional="hide"/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
</odoo>
|
||||||
|
|
||||||
|
|
||||||