This commit is contained in:
Junha Heo
2024-10-11 22:05:20 +09:00
118 changed files with 19294 additions and 3416 deletions

View File

@@ -68,7 +68,7 @@ export const languageChinese = {
"utilityBot": "启用后,它将忽略主要提示词、越狱和其他提示词。用于实用程序机器人,而不是用于角色扮演。",
"loreSelective": "如果切换选择性的则激活键和次要键都应有匹配项才能激活lorebook。",
"loreRandomActivation": "如果启用了概率条件那么当lorebook的其他条件都已满足时每次发送聊天时lorebook将以“概率”设置的概率被激活。",
"additionalAssets": "在你的聊天中显示的额外资源。\n\n - 使用`{{raw::<asset name>}}`作为路径\n - 使用`{{img::<asset name>}}`作为图片\n - 使用`{{video::<asset name>}}`作为视频\n - 使用`{{audio::<asset name>}}` 作为音频\n - 建议放在背景 HTML中",
"additionalAssets": "在你的聊天中显示的额外资源。\n\n - 使用`{{raw::<asset name>}}`作为路径\n - 使用`{{image::<asset name>}}`作为图片\n - 使用`{{video::<asset name>}}`作为视频\n - 使用`{{audio::<asset name>}}` 作为音频\n - 建议放在背景 HTML中",
"superMemory": "超级记忆通过给 AI 提供总结数据使你的角色记忆更多信息\n\n超级记忆模型是一个总结文本的模型。推荐使用Davinci除非是具有超过2000个token数的高度总结能力的未经过滤模型否则不推荐使用辅助模型。\n\n超级记忆提示决定了应发送什么提示词进行总结。如果你留空它将使用默认提示词。建议留空。\n\n在所有设置都完成后你可以在角色的设置中启用它。",
"replaceGlobalNote": "如果不为空,则将当前全局注释替换为此。",
"backgroundHTML": "将被注入聊天荧幕背景的Markdown/HTML数据。\n\n你也可以使用其他资源。例如你可以使用`{{audio::<asset name}}`添加背景音乐\n\n此外你还可以将这些数据与其他资源一起使用\n - `{{bg::<asset name>}}`: 将背景注入资源",

View File

@@ -83,7 +83,7 @@ export const languageGerman = {
scenario: "Eine kurze Beschreibung des Szenarios des Charakters. \n\n**Es wird nicht empfohlen, diese Option zu nutzen. Beschreiben Sie das Szenario stattdessen in der Charakterbeschreibung.**",
loreSelective: "Wenn der selektive Modus aktiviert ist, müssen sowohl Trigger-Wort als auch auch das Co-Trigger-Wort übereinstimmen, um den Kontext zu aktivieren",
loreRandomActivation: "Wenn die Bedingung 'Wahrscheinlichkeit verwenden' aktiviert ist, wird der Kontext mit einer festgelegten Wahrscheinlichkeit, die durch 'Wahrscheinlichkeit' festgelegt wird, jedes Mal aktiviert, wenn eine Chat-Nachricht gesendet wird und die anderen Bedingungen der Überlieferung alle erfüllt sind",
additionalAssets: "Zusätzliche Assets, die in Ihrem Chat angezeigt werden sollen. \n\n - verwenden Sie `{{raw::<asset name>}}` um als Pfad zu verwenden.\n verwenden Sie `{{img::<asset name>}}` um als Bild zu verwenden\n - verwenden Sie `{{video::<asset name>}}` um als Video zu verwenden\n verwenden Sie `{{audio::<asset name>}}` um als Audio zu verwenden\n es wird empfohlen, dies im HTML Backend einzufügen",
additionalAssets: "Zusätzliche Assets, die in Ihrem Chat angezeigt werden sollen. \n\n - verwenden Sie `{{raw::<asset name>}}` um als Pfad zu verwenden.\n verwenden Sie `{{image::<asset name>}}` um als Bild zu verwenden\n - verwenden Sie `{{video::<asset name>}}` um als Video zu verwenden\n verwenden Sie `{{audio::<asset name>}}` um als Audio zu verwenden\n es wird empfohlen, dies im HTML Backend einzufügen",
superMemory: "SupaMemory ermöglicht es Ihrem Charakter, sich mehr Informationen zu 'merken', indem der KI zusammengefasste Daten zugeführt werden.\n\n"
+ "Das SupaMemory-Modell ist ein Modell, das die Zusammenfassung für einen Text erstellt. Davinci oder GPT-3.5-16k werden empfohlen. Hilfsmodelle hingegen werden nicht empfohlen, es sei denn, es handelt sich um ein ungefiltertes Modell mit mindestens 2000 Tokens Kontextgröße und einer ausgereiften Fähigkeiten, Texte zusammenfassen zu können.\n\n"
+ "Die SupaMemory-Anweisung entscheidet darüber, welche Anweisung konkret zur Zusammenfassung gesendet werden soll. Wenn Sie das Feld leer lassen, wird die Standard-Anweisung verwendet. Es wird empfohlen, es leer zu lassen.\n\n"

View File

@@ -58,7 +58,7 @@ export const languageEnglish = {
bias:"bias is a key-value data which modifies the likelihood of string appearing.\nit can be -100 to 100, higher values will be more likely to appear, and lower values will be more unlikely to appear. \nAdditionaly, if its set to -101, it would work as 'strong ban word' for some models. \nWarning: if the tokenizer is wrong, it not work properly.",
emotion: "Emotion Images option shows image depending at character's emotion which is analized by character's response. you must input emotion name as words *(like joy, happy, fear and etc.)* .emotion named **neutral** will be default emotion if it exists. must be more then 3 images to work properly.",
imggen: "After analyzing the chat, apply the prompt to {{slot}}.",
regexScript: "Regex Script is a custom script that replaces string that matches IN to OUT.\n\nThere four type options."
regexScript: "Regex Script is a custom regex that replaces string that matches IN to OUT.\n\nThere four type options."
+ "\n\n- **Modify Input** modifys user's input"
+ "\n\n- **Modify Output** modifys character's output"
+ "\n\n- **Modify Request Data** modifys current chat data when sent."
@@ -69,8 +69,14 @@ export const languageEnglish = {
+ "\n\n- $`\n\n - inserts the portion of the string that precedes the matched substring."
+ "\n\n- $1\n\n - inserts the first matching group. works with other number like 2, 3..."
+ "\n\n- $(name)\n\n - inserts the named group"
+ "\n\nIf OUT starts with **@@**, it doesn't replaces the string, but instead does a special effect if matching string founds."
+ "\n\n- @@emo (emotion name)\n\n - if character is Emotion Images mode, sets (emotion name) as emotion and prevents default.",
+ "\n\nFor flags, you can not only use native supported flags, but also use these flags, which are designed for advanced users:"
+ "\n\n- `<inject>` - injects the result to the current string."
+ "\n- `<move_top>` - moves the result to the top of the string."
+ "\n- `<move_bottom>` - moves the result to the bottom of the string."
+ "\n- `<repeat_back>` - if the match is not found, it carries the result from the previous match."
+ "\n- `<order n>` - sets the order of the result. higher order will be shown first. `n` is a number. (like `<order 1>`) if this flag is not set, it will be set to 0."
+ "\n- `<cbs>` - parses curly braced synatxes in IN."
+ "\n\nTo use with native flags, you can use like `gi<cbs><move_top>`.",
experimental: "This is a experimental feature. it might be unstable.",
oogaboogaURL: "If your WebUI supports older version of api, your url should look *like https:.../run/textgen*\n\n"
+ "If your WebUI supports newVersion of api, your url should look like *https://.../api/v1/generate* and use the api server as host, and add --api to arguments.",
@@ -86,7 +92,7 @@ export const languageEnglish = {
utilityBot: "When activated, it ignores main prompt, jailbreak and other prompts. used for bot made for utility, not for roleplay.",
loreSelective: "If Selective mode is toggled, both Activation Key and Secondary key should have a match to activate the lore.",
loreRandomActivation: "If Use Probability Condition is abled, if the lore's other conditions are all met, the lore will be activated with a set probability which is set by 'Probability' each time a chat is sent.",
additionalAssets: "Additional assets to display in your chat. \n\n - use `{{raw::<asset name>}}` to use as path.\n - use `{{img::<asset name>}}` to use as image\n - use `{{video::<asset name>}}` to use as video\n - use `{{audio::<asset name>}}` to use as audio\n - recommended to put in Background HTML",
additionalAssets: "Additional assets to display in your chat. \n\n - use `{{raw::<asset name>}}` to use as path.\n - use `{{image::<asset name>}}` to use as image\n - use `{{video::<asset name>}}` to use as video\n - use `{{audio::<asset name>}}` to use as audio\n - recommended to put in Background HTML",
superMemory: "SuperMemory makes your character memorize more by giving summarized data to AI.\n\n"
+ "SuperMemory model is a model that summarizes that text. davinci is recommended, and Auxiliary models are not recommended unless it is an unfiltered model with over 2000 tokens with great summarizing skill.\n\n"
+ "SuperMemory Prompt decides what prompt should be sent to summarize. if you leave it blank, it will use the default prompt. leaving blank is recommended.\n\n"
@@ -134,7 +140,30 @@ export const languageEnglish = {
legacyTranslation: "If enabled, it will use the old translation method, which preprocess markdown and quotes before translations instead of postprocessing after translations.",
luaHelp: "You can use Lua scripts as a trigger script. you can define onInput, onOutput, onStart functions. onInput is called when user sends a message, onOutput is called when character sends a message, onStart is called when the chat starts. for more information, see the documentation.",
claudeCachingExperimental: "Caching in Claude is experimental feature that can reduce the cost of the model, but it can also increase the cost if you use it without reroll. since this is a experimental feature, it can be unstable and behavior can be changed in the future.",
urllora: "You can use direct download link of the model file. you can make direct url from google drive like website like https://sites.google.com/site/gdocs2direct/ , or use civitai URL, copy the the AIR (looks like `urn:air:flux1:lora:civitai:180891@776656` or just `civitai:180891@776656`) and paste it.",
namespace: "Namespace is a unique identifier for the module. it is used to prevent conflicts between modules, and for interaction of presets, other modules and etc. if you are not sure what to put, leave it blank.",
moduleIntergration: "You can enable modules by putting the module namespace in the module intergartion sections. if you want to enable multiple modules, you can seperate them by comma. for example, `module1,module2,module3`. this is for advanced users, who wants to vary the use of modules by presets.",
customCSS: "Custom CSS for styling. you can also disable/enable it by pressing (Ctrl + .) if something goes wrong.",
betaMobileGUI: "If enabled, it will use beta mobile GUI on small (less than 800px) screens. requires refresh.",
unrecommended: "This is a unrecommended setting. it is not recommended to use this setting.",
jsonSchema: "This is a JSON Schema that will be sent to the AI model if AI model supports JSON Schema.\n\nHowever, since JSON Schema is hard to learn, In RisuAI, you can use subset of TypeScript interface instead of JSON Schema. RisuAI will convert it in runtime." +
"For example, if you want to send a JSON like this:\n\n```js\n{\n \"name\": \"RisuAI\", //name must be RisuAI,\n \"age\": 1, //age must be number,\n \"icon\": \"slim\", //icon must be \'slim\' or 'rounded'\n \"thoughts\": [\"Good View!\", \"Lorem\"] //thoughts must be array of strings\n}\n```\n\n" +
"You can put this TypeScript interface:\n\n```typescript\ninterface Schema {\n name: string;\n age: number;\n icon: \'slim\'|\'rounded\'\n thoughts: string[]\n}\n```\n\n" +
"Name of the interface doesn't matter. for more information, see the typescript documentation. (https://www.typescriptlang.org/docs/handbook/interfaces.html), and to Check what subset of TypeScript is supported, see the below." +
"<details><summary>Supported TypeScript Subset</summary>\n\n" +
`Supported types are \`boolean\`, \`number\`, \`string\`, \`Array\`. Advanced typing like unit types, intersection types, union types, optional, literal types, and etc. are not supported except for these cases:\n
- Array of primitive types: (ex. \`string[]\`, \`Array<boolean>)\`
- Unit types between strings: (ex. \`'slim'|'rounded'\`).
Properties must be one in a line. if there is multiple properties in a line, it will throw an error. Properties and name of the interface must be only in latin characters, in ASCII range. name of the properties must not be surrounded by quotes or double quotes. Nesting inside the interface is not supported. it is not allowed to put \`{\` or \`}\` in the line that properties are defined. If you want to use more advanced types, use JSON Schema instead.
` +
"</details>"
,
strictJsonSchema: "If enabled, it will strictly follow the Provided Schema for JSON on some models. if it is disabled, it may ignore the JSON Schema.",
extractJson: "If it is not blank, it will extract specific JSON data from the response. for example, if you want to extract `response.text[0]` in response `{\"response\": {\"text\": [\"hello\"]}}`, you can put `response.text.0`.",
translatorNote: "Here, you can add a unique translation prompt for each character. This option only applies when using the Ax. model for translation. To apply it, include `{{slot::tnote}}` in the language settings. It doesn't work in group chats.",
groupInnerFormat: "This defines a format that is used in group chat for characters that isn't speaker. if it is not blank, it will use this format instead of the default format. if `Group Other Bot Role` is `assistant`, it will also be applied to the speaker.",
groupOtherBotRole: "This defines a role that is used in group chat for characters that isn't speaker.",
},
setup: {
chooseProvider: "Choose AI Provider",
@@ -615,6 +644,7 @@ export const languageEnglish = {
trashDesc: "Deleted characters are moved to trash. you can restore or delete them permanently. deleted characters are automatically purged after 3 days.",
shareExport: "Share/Export",
risupresetDesc: "Risupreset format is a format specifically designed for RisuAI presets.",
risuMDesc: "RisuM format is a format that is specifically designed for RisuAI modules.",
jsonDesc: "JSON format is a format that is easy to read and write for both humans and machines.",
nickname: "Nickname",
useRegexLorebook: "Use Regex",
@@ -683,4 +713,39 @@ export const languageEnglish = {
sizeAndSpeed: "Size and Speed",
useLegacyGUI: "Use Legacy GUI",
claudeCachingExperimental: "Claude Caching",
openClose: "Open/Close",
hideApiKeys: "Hide API Keys",
unformatQuotes: "Disable Quote Formatting",
enableDevTools: "Enable Dev Tools",
selectFile: "Select File",
namespace: "Namespace",
moduleIntergration: "Module Integration",
previewInfo: "This preview shows prompt before model-specific processing.",
miscTools: "Misc Tools",
promptConvertion: "Prompt Convertion",
convertionStep1: "Select all file related to the prompt (Context, Instruct and Sampler JSON is supported)",
customCSS: "Custom CSS",
betaMobileGUI: "Beta Mobile GUI",
menu: "Menu",
connectionOpen: "Connection Open",
connectionOpenInfo: "Multiuser room is opened. you can share the room code to other users. others can join the room by using the code inside playground > Join Multiuser Room.",
createMultiuserRoom: "Create Multiuser Room",
connectionHost: "You are the host of the room.",
connectionGuest: "You are the guest of the room.",
otherUserRequesting: "Other user is already requesting. try again later.",
jsonSchema: "JSON Schema",
enableJsonSchema: "Enable Schema",
strictJsonSchema: "Strict Schema",
extractJson: "Extract JSON",
reloadSession: "Newer version of save data is found. reloading the session...",
fixMarkdownNewline: "Fix Markdown Newline",
customQuotes: "Custom Quotes",
leadingSingleQuote: "Leading Single Quote",
leadingDoubleQuote: "Leading Double Quote",
trailingSingleQuote: "Trailing Single Quote",
trailingDoubleQuote: "Trailing Double Quote",
translatorNote: "Translator's Note",
formatGroupInSingle: "Format Group in Single",
groupInnerFormat: "Non-Speaker Inner Format",
groupOtherBotRole: "Non-Speaker Role in Group",
}

View File

@@ -86,7 +86,7 @@ export const languageSpanish = {
utilityBot: "Cuando está activado, ignora el prompt principal, jailbreak y otros prompts. Se utiliza para bots diseñados para utilidades, no para juegos de rol.",
loreSelective: "Si el modo Selectivo está activado, tanto la Clave de Activación como la Clave Secundaria deben coincidir para activar el lore.",
loreRandomActivation: "Si la Condición de Probabilidad está habilitada, si se cumplen todas las demás condiciones del lore, el lore se activará con una probabilidad establecida por 'Probabilidad' cada vez que se envíe un chat.",
additionalAssets: "Activos adicionales para mostrar en tu chat. \n\n - usa `{{raw::<nombre del activo>}}` para usar como ruta.\n - usa `{{img::<nombre del activo>}}` para usar como imagen\n - usa `{{video::<nombre del activo>}}` para usar como video\n - usa `{{audio::<nombre del activo>}}` para usar como audio\n - se recomienda poner en HTML de Fondo",
additionalAssets: "Activos adicionales para mostrar en tu chat. \n\n - usa `{{raw::<nombre del activo>}}` para usar como ruta.\n - usa `{{image::<nombre del activo>}}` para usar como imagen\n - usa `{{video::<nombre del activo>}}` para usar como video\n - usa `{{audio::<nombre del activo>}}` para usar como audio\n - se recomienda poner en HTML de Fondo",
superMemory: "SuperMemoria hace que tu personaje memorice más dando datos resumidos a la IA.\n\n"
+ "El modelo de SuperMemoria es un modelo que resume ese texto. Se recomienda Davinci, y no se recomienda usar modelos auxiliares a menos que sea un modelo no filtrado con más de 2000 tokens y con una gran habilidad de resumen.\n\n"
+ "El Prompt de SuperMemoria decide qué prompt se debe enviar para resumir. Si lo dejas en blanco, usará el prompt predeterminado. Se recomienda dejarlo en blanco.\n\n"

View File

@@ -68,7 +68,7 @@ export const languageKorean = {
"utilityBot": "활성화되면 메인 프롬프트, jailbreak 및 기타 프롬프트를 무시합니다. 역할극이 아닌 유틸리티용 봇에 사용됩니다.",
"loreSelective": "선택 모드가 토글되면 활성화 키와 보조 키 모두 일치해야 로어가 활성화됩니다.",
"loreRandomActivation": "확률 조건 사용이 활성화된 경우, 로어의 다른 조건이 모두 충족되면 로어가 활성화되며, 각 채팅을 보낼 때마다 설정된 확률에 따라 활성화됩니다.",
"additionalAssets": "채팅에 표시할 추가 에셋입니다.\n\n- `{{raw::<에셋 이름>}}`을 경로로 사용하려면\n- `{{img::<에셋 이름>}}`을 이미지로 사용하려면\n- `{{video::<에셋 이름>}}`을디오로 사용하려면\n- `{{audio::<에셋 이름>}}`을 오디오로 사용하려면\n - 배경 HTML에 넣는 것이 좋습니다.",
"additionalAssets": "채팅에 표시할 추가 에셋입니다.\n\n- 경로로 사용하려면 `{{raw::<에셋 이름>}}`을\n- 이미지로 사용하려면 `{{image::<에셋 이름>}}`을\n- 비디오로 사용하려면 `{{video::<에셋 이름>}}`을\n- 오디오로 사용하려면 `{{audio::<에셋 이름>}}`을 사용하세요.\n",
"superMemory": "SuperMemory는 AI에게 요약된 데이터를 제공하여 캐릭터가 더 많이 기억하도록합니다.\n\nSuperMemory 모델은 해당 텍스트를 요약하는 모델입니다. 보조 모델은 2000개 이상의 토큰을 가진 필터되지 않은 모델이 아닌 경우 권장되지 않습니다.\n\nSuperMemory 프롬프트는 요약을 보내기 위해 어떤 프롬프트를 보내야 하는지 결정합니다. 비워두면 기본 프롬프트를 사용합니다. 비워두는 것이 권장됩니다.\n\n모두 설정한 후 캐릭터의 설정에서 활성화할 수 있습니다.",
"replaceGlobalNote": "비어 있지 않으면 현재 글로벌 노트를 이로 대체합니다.",
"backgroundHTML": "채팅 화면의 배경에 삽입 될 마크다운/HTML 데이터입니다.\n\n추가 에셋을 사용할 수도 있습니다. 예를 들어, 배경 음악에 `{{audio::<에셋 이름>}}`을 사용할 수 있습니다.\n\n또한 다음과 같은 추가 에셋을 사용할 수 있습니다:\n - `{{bg::<에셋 이름>}}`: 에셋으로 배경을 삽입합니다.",
@@ -95,7 +95,8 @@ export const languageKorean = {
"emotionPrompt": "이 옵션은 감정을 감지하는 데 사용되는 프롬프트를 설정하는 데 사용됩니다. 비어 있으면 기본 프롬프트를 사용합니다.",
"removePunctuationHypa": "활성화되면 HypaMemory를 실행하기 전에 구두점을 제거합니다.",
"defaultVariables": "여기에서는 기본 변수를 정의할 수 있습니다. `<변수 이름>=<변수 값>` 형식으로 작성하고 개행으로 구분합니다. 예를 들어, `name=RisuAI`는 트리거 스크립트 및 변수 CBS와 함께 `{{getvar::A}}`, `{{setvar::A::B}}` 또는 `{{? $A + 1}}`과 같이 사용할 수 있습니다. 프롬프트 템플릿의 기본 변수와 캐릭터의 기본 변수가 동일한 이름을 가진 경우 캐릭터의 기본 변수가 사용됩니다.",
"combineTranslation": "활성화된 경우, 한 문장이지만 HTML 태그로 분리된 텍스트를 모두 합쳐서 번역한 후, 번역된 결과에 다시 디스플레이 수정 스크립트를 적용합니다.\n이를 통해 번역기가 올바른 번역을 하도록 도와줍니다.\n이 옵션을 활성화하고 UI가 이상해지면 옵션을 끄고 제보해 주세요."
"combineTranslation": "활성화된 경우, 한 문장이지만 HTML 태그로 분리된 텍스트를 모두 합쳐서 번역한 후, 번역된 결과에 다시 디스플레이 수정 스크립트를 적용합니다.\n이를 통해 번역기가 올바른 번역을 하도록 도와줍니다.\n이 옵션을 활성화하고 UI가 이상해지면 옵션을 끄고 제보해 주세요.",
"translatorNote": "여기에서 캐릭터마다 별도의 번역 프롬프트를 넣을 수 있습니다. 해당 옵션은 Ax. model 번역을 사용할 때만 적용됩니다. 언어 설정에서 `{{slot::tnote}}`를 넣으세요. 그룹챗에서는 작동하지 않습니다.",
},
"setup": {
"chooseProvider": "AI 제공자를 선택해 주세요",
@@ -587,5 +588,6 @@ export const languageKorean = {
"supaDesc": "수파메모리는 요약을 사용하는 장기기억 시스템입니다.",
"hanuraiDesc": "하느라이메모리는 벡터 검색을 사용하는 장기기억 시스템입니다.",
"v2Warning": "주의: V2 카드는 더 이상 지원되지 않습니다. 일부 데이터가 누락될 수 있습니다.",
"translatorNote": "번역가의 노트",
}