aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/settings/l10n/zh_CN.js1
-rw-r--r--apps/settings/l10n/zh_CN.json1
-rw-r--r--apps/systemtags/l10n/ja.js1
-rw-r--r--apps/systemtags/l10n/ja.json1
-rw-r--r--apps/user_status/l10n/zh_CN.js2
-rw-r--r--apps/user_status/l10n/zh_CN.json2
-rw-r--r--build/psalm-baseline.xml8
-rw-r--r--lib/l10n/ja.js32
-rw-r--r--lib/l10n/ja.json32
-rw-r--r--lib/l10n/zh_CN.js4
-rw-r--r--lib/l10n/zh_CN.json4
-rw-r--r--lib/private/Files/Utils/Scanner.php9
12 files changed, 81 insertions, 16 deletions
diff --git a/apps/settings/l10n/zh_CN.js b/apps/settings/l10n/zh_CN.js
index f279b769c6b..5f26bc6c820 100644
--- a/apps/settings/l10n/zh_CN.js
+++ b/apps/settings/l10n/zh_CN.js
@@ -218,6 +218,7 @@ OC.L10N.register(
"One or more mimetype migrations are available. Occasionally new mimetypes are added to better handle certain file types. Migrating the mimetypes take a long time on larger instances so this is not done automatically during upgrades. Use the command `occ maintenance:repair --include-expensive` to perform the migrations." : "有一个或多个 mimetype 迁移可用。有时会添加新的 mimetype 以更好地处理某些文件类型。在较大的实例上迁移 mimetype 需要很长时间,因此升级期间不会自动完成此操作。使用命令 \"occ Maintenance:repair --include-expensive\" 执行迁移。",
"MySQL row format" : "MySQL 行格式",
"You are not using MySQL" : "您没有使用MySQL",
+ "None of your tables use ROW_FORMAT=Compressed" : "没有表使用行格式压缩",
"MySQL Unicode support" : "MySQL Unicode 支持",
"MySQL is used as database and does support 4-byte characters" : "MySQL用作数据库并且支持4字节字符",
"MySQL is used as database but does not support 4-byte characters. To be able to handle 4-byte characters (like emojis) without issues in filenames or comments for example it is recommended to enable the 4-byte support in MySQL." : "MySQL 用作数据库,但不支持 4 字节字符。为了能够处理 4 字节字符(如表情符号),而不会在文件名或注释中出现问题,建议在 MySQL 中启用 4 字节支持。",
diff --git a/apps/settings/l10n/zh_CN.json b/apps/settings/l10n/zh_CN.json
index 34f49facc2e..84e9e562fd4 100644
--- a/apps/settings/l10n/zh_CN.json
+++ b/apps/settings/l10n/zh_CN.json
@@ -216,6 +216,7 @@
"One or more mimetype migrations are available. Occasionally new mimetypes are added to better handle certain file types. Migrating the mimetypes take a long time on larger instances so this is not done automatically during upgrades. Use the command `occ maintenance:repair --include-expensive` to perform the migrations." : "有一个或多个 mimetype 迁移可用。有时会添加新的 mimetype 以更好地处理某些文件类型。在较大的实例上迁移 mimetype 需要很长时间,因此升级期间不会自动完成此操作。使用命令 \"occ Maintenance:repair --include-expensive\" 执行迁移。",
"MySQL row format" : "MySQL 行格式",
"You are not using MySQL" : "您没有使用MySQL",
+ "None of your tables use ROW_FORMAT=Compressed" : "没有表使用行格式压缩",
"MySQL Unicode support" : "MySQL Unicode 支持",
"MySQL is used as database and does support 4-byte characters" : "MySQL用作数据库并且支持4字节字符",
"MySQL is used as database but does not support 4-byte characters. To be able to handle 4-byte characters (like emojis) without issues in filenames or comments for example it is recommended to enable the 4-byte support in MySQL." : "MySQL 用作数据库,但不支持 4 字节字符。为了能够处理 4 字节字符(如表情符号),而不会在文件名或注释中出现问题,建议在 MySQL 中启用 4 字节支持。",
diff --git a/apps/systemtags/l10n/ja.js b/apps/systemtags/l10n/ja.js
index 5051951a09e..c79280a115a 100644
--- a/apps/systemtags/l10n/ja.js
+++ b/apps/systemtags/l10n/ja.js
@@ -68,6 +68,7 @@ OC.L10N.register(
"Manage tags" : "タグを管理",
"Applying tags changes…" : "タグの変更を適用しています...",
"Search or create tag" : "タグを検索または作成する",
+ "Change tag color" : "タグの色を変更する",
"Create new tag" : "新しいタグを作成",
"Select or create tags to apply to all selected files" : "選択した全てのファイルに適用するタグを選択または作成する",
"Cancel" : "キャンセル",
diff --git a/apps/systemtags/l10n/ja.json b/apps/systemtags/l10n/ja.json
index b387b61b05f..3b924838984 100644
--- a/apps/systemtags/l10n/ja.json
+++ b/apps/systemtags/l10n/ja.json
@@ -66,6 +66,7 @@
"Manage tags" : "タグを管理",
"Applying tags changes…" : "タグの変更を適用しています...",
"Search or create tag" : "タグを検索または作成する",
+ "Change tag color" : "タグの色を変更する",
"Create new tag" : "新しいタグを作成",
"Select or create tags to apply to all selected files" : "選択した全てのファイルに適用するタグを選択または作成する",
"Cancel" : "キャンセル",
diff --git a/apps/user_status/l10n/zh_CN.js b/apps/user_status/l10n/zh_CN.js
index c9a0d791f05..1731ed11741 100644
--- a/apps/user_status/l10n/zh_CN.js
+++ b/apps/user_status/l10n/zh_CN.js
@@ -40,7 +40,7 @@ OC.L10N.register(
"Invisible" : "隐身",
"Offline" : "离线",
"There was an error saving the new status" : "保存新状态时出错",
- "30 minutes" : "30分钟",
+ "30 minutes" : "30 分钟",
"1 hour" : "1小时",
"4 hours" : "4小时",
"Mute all notifications" : "静音所有通知",
diff --git a/apps/user_status/l10n/zh_CN.json b/apps/user_status/l10n/zh_CN.json
index 81669009598..af2a981d88f 100644
--- a/apps/user_status/l10n/zh_CN.json
+++ b/apps/user_status/l10n/zh_CN.json
@@ -38,7 +38,7 @@
"Invisible" : "隐身",
"Offline" : "离线",
"There was an error saving the new status" : "保存新状态时出错",
- "30 minutes" : "30分钟",
+ "30 minutes" : "30 分钟",
"1 hour" : "1小时",
"4 hours" : "4小时",
"Mute all notifications" : "静音所有通知",
diff --git a/build/psalm-baseline.xml b/build/psalm-baseline.xml
index 00add5ee78e..93c48a30283 100644
--- a/build/psalm-baseline.xml
+++ b/build/psalm-baseline.xml
@@ -2101,14 +2101,6 @@
<code><![CDATA[$mimetype]]></code>
</ParamNameMismatch>
</file>
- <file src="lib/private/Files/Utils/Scanner.php">
- <LessSpecificReturnStatement>
- <code><![CDATA[$mounts]]></code>
- </LessSpecificReturnStatement>
- <MoreSpecificReturnType>
- <code><![CDATA[\OC\Files\Mount\MountPoint[]]]></code>
- </MoreSpecificReturnType>
- </file>
<file src="lib/private/Files/View.php">
<InvalidScalarArgument>
<code><![CDATA[$mtime]]></code>
diff --git a/lib/l10n/ja.js b/lib/l10n/ja.js
index 3d8aa44c887..4573f7e0b33 100644
--- a/lib/l10n/ja.js
+++ b/lib/l10n/ja.js
@@ -310,8 +310,20 @@ OC.L10N.register(
"The audio to transcribe" : "文字起こしする音声",
"Transcription" : "書き起こし",
"The transcribed text" : "書き起こされたテキスト",
+ "ContextAgent" : "ContextAgent",
+ "Chat with an agent" : "エージェントとチャット",
"Chat message" : "チャットメッセージ",
+ "A chat message to send to the agent." : "エージェントに送信するチャットメッセージ。",
"Confirmation" : "確認",
+ "Whether to confirm previously requested actions: 0 for denial and 1 for confirmation." : "以前に要求されたアクションを承認するかどうか: 0なら拒否、1なら承認。",
+ "Conversation token" : "会話トークン",
+ "A token representing the conversation." : "会話を表すトークン。",
+ "Generated response" : "生成された応答",
+ "The response from the chat model." : "チャットモデルからの応答。",
+ "The new conversation token" : "新しい会話トークン",
+ "Send this along with the next interaction." : "次の交流と一緒にこれを送る。",
+ "Requested actions by the agent" : "エージェントが要求するアクション",
+ "Actions that the agent would like to carry out in JSON format." : "エージェントが JSON 形式で実行したいアクション。",
"Context write" : "コンテキストを書く",
"Writes text in a given style based on the provided source material." : "提供されたソース資料に基づいて、指定されたスタイルでテキストを作成します。",
"Writing style" : "文体",
@@ -338,6 +350,12 @@ OC.L10N.register(
"Describe a task that you want the assistant to do or ask a question" : "アシスタントに実行してほしいタスクまたは質問を記述します",
"Generated reply" : "生成された返信",
"The generated text from the assistant" : "アシスタントから生成されたテキスト",
+ "Change Tone" : "トーンを変更",
+ "Change the tone of a piece of text." : "文章のトーンを変更する。",
+ "Write a text that you want the assistant to rewrite in another tone." : "アシスタントに別のトーンで書き直してもらいたい文章を書く。",
+ "Desired tone" : "希望するトーン",
+ "In which tone should your text be rewritten?" : "どのトーンで書き直すべきか?",
+ "The rewritten text in the desired tone, written by the assistant:" : "アシスタントが書き直した、希望するトーンの文章:",
"Chat" : "チャット",
"Chat with the assistant" : "アシスタントとチャット",
"System prompt" : "システムプロンプト",
@@ -346,6 +364,15 @@ OC.L10N.register(
"The history of chat messages before the current message, starting with a message by the user" : "ユーザーのメッセージから始まる、現在のメッセージより前のチャットメッセージの履歴",
"Response message" : "応答メッセージ",
"The generated response as part of the conversation" : "会話の一部として生成された応答",
+ "Chat with tools" : "ツールでチャット",
+ "Chat with the language model with tool calling support." : "ツール呼び出しサポートを使用して言語モデルとチャット。",
+ "Tool message" : "ツールメッセージ",
+ "The result of tool calls in the last interaction" : "直近のインタラクションにおけるツール呼び出しの結果",
+ "Available tools" : "利用可能なツール",
+ "The available tools in JSON format" : "JSON形式で利用可能なツール",
+ "The response from the chat model" : "チャットモデルからの応答",
+ "Tool calls" : "ツールコール",
+ "Tools call instructions from the model in JSON format" : "JSON形式のモデルからのツール呼び出し命令",
"Formalize text" : "テキストの形式化",
"Takes a text and makes it sound more formal" : "テキストを使用して、よりフォーマルに聞こえるようにします",
"Write a text that you want the assistant to formalize" : "アシスタントに形式化してもらいたいテキストを入力します",
@@ -356,7 +383,12 @@ OC.L10N.register(
"Original text" : "原文",
"The original text to generate a headline for" : "見出しを生成する元のテキスト",
"The generated headline" : "生成された見出し",
+ "Proofread" : "校正",
+ "Proofreads a text and lists corrections" : "文章を校正し、訂正箇所をリストアップする",
"Text" : "テキスト",
+ "The text to proofread" : "校正するテキスト",
+ "Corrections" : "修正",
+ "The corrections that should be made in your text" : "テキストに加えるべき修正",
"Reformulate text" : "テキストを書き直す",
"Takes a text and reformulates it" : "テキストを受け取り、それを書き直す",
"Write a text that you want the assistant to reformulate" : "アシスタントに書き直してもらいたいテキストを入力します",
diff --git a/lib/l10n/ja.json b/lib/l10n/ja.json
index 1d59f61994c..b2ee6efbcbf 100644
--- a/lib/l10n/ja.json
+++ b/lib/l10n/ja.json
@@ -308,8 +308,20 @@
"The audio to transcribe" : "文字起こしする音声",
"Transcription" : "書き起こし",
"The transcribed text" : "書き起こされたテキスト",
+ "ContextAgent" : "ContextAgent",
+ "Chat with an agent" : "エージェントとチャット",
"Chat message" : "チャットメッセージ",
+ "A chat message to send to the agent." : "エージェントに送信するチャットメッセージ。",
"Confirmation" : "確認",
+ "Whether to confirm previously requested actions: 0 for denial and 1 for confirmation." : "以前に要求されたアクションを承認するかどうか: 0なら拒否、1なら承認。",
+ "Conversation token" : "会話トークン",
+ "A token representing the conversation." : "会話を表すトークン。",
+ "Generated response" : "生成された応答",
+ "The response from the chat model." : "チャットモデルからの応答。",
+ "The new conversation token" : "新しい会話トークン",
+ "Send this along with the next interaction." : "次の交流と一緒にこれを送る。",
+ "Requested actions by the agent" : "エージェントが要求するアクション",
+ "Actions that the agent would like to carry out in JSON format." : "エージェントが JSON 形式で実行したいアクション。",
"Context write" : "コンテキストを書く",
"Writes text in a given style based on the provided source material." : "提供されたソース資料に基づいて、指定されたスタイルでテキストを作成します。",
"Writing style" : "文体",
@@ -336,6 +348,12 @@
"Describe a task that you want the assistant to do or ask a question" : "アシスタントに実行してほしいタスクまたは質問を記述します",
"Generated reply" : "生成された返信",
"The generated text from the assistant" : "アシスタントから生成されたテキスト",
+ "Change Tone" : "トーンを変更",
+ "Change the tone of a piece of text." : "文章のトーンを変更する。",
+ "Write a text that you want the assistant to rewrite in another tone." : "アシスタントに別のトーンで書き直してもらいたい文章を書く。",
+ "Desired tone" : "希望するトーン",
+ "In which tone should your text be rewritten?" : "どのトーンで書き直すべきか?",
+ "The rewritten text in the desired tone, written by the assistant:" : "アシスタントが書き直した、希望するトーンの文章:",
"Chat" : "チャット",
"Chat with the assistant" : "アシスタントとチャット",
"System prompt" : "システムプロンプト",
@@ -344,6 +362,15 @@
"The history of chat messages before the current message, starting with a message by the user" : "ユーザーのメッセージから始まる、現在のメッセージより前のチャットメッセージの履歴",
"Response message" : "応答メッセージ",
"The generated response as part of the conversation" : "会話の一部として生成された応答",
+ "Chat with tools" : "ツールでチャット",
+ "Chat with the language model with tool calling support." : "ツール呼び出しサポートを使用して言語モデルとチャット。",
+ "Tool message" : "ツールメッセージ",
+ "The result of tool calls in the last interaction" : "直近のインタラクションにおけるツール呼び出しの結果",
+ "Available tools" : "利用可能なツール",
+ "The available tools in JSON format" : "JSON形式で利用可能なツール",
+ "The response from the chat model" : "チャットモデルからの応答",
+ "Tool calls" : "ツールコール",
+ "Tools call instructions from the model in JSON format" : "JSON形式のモデルからのツール呼び出し命令",
"Formalize text" : "テキストの形式化",
"Takes a text and makes it sound more formal" : "テキストを使用して、よりフォーマルに聞こえるようにします",
"Write a text that you want the assistant to formalize" : "アシスタントに形式化してもらいたいテキストを入力します",
@@ -354,7 +381,12 @@
"Original text" : "原文",
"The original text to generate a headline for" : "見出しを生成する元のテキスト",
"The generated headline" : "生成された見出し",
+ "Proofread" : "校正",
+ "Proofreads a text and lists corrections" : "文章を校正し、訂正箇所をリストアップする",
"Text" : "テキスト",
+ "The text to proofread" : "校正するテキスト",
+ "Corrections" : "修正",
+ "The corrections that should be made in your text" : "テキストに加えるべき修正",
"Reformulate text" : "テキストを書き直す",
"Takes a text and reformulates it" : "テキストを受け取り、それを書き直す",
"Write a text that you want the assistant to reformulate" : "アシスタントに書き直してもらいたいテキストを入力します",
diff --git a/lib/l10n/zh_CN.js b/lib/l10n/zh_CN.js
index bbe0c720253..fbeeebe1e67 100644
--- a/lib/l10n/zh_CN.js
+++ b/lib/l10n/zh_CN.js
@@ -74,9 +74,9 @@ OC.L10N.register(
"_in %n year_::_in %n years_" : ["%n年内"],
"_%n year ago_::_%n years ago_" : ["%n 年前"],
"_in %n hour_::_in %n hours_" : ["%n小时内"],
- "_%n hour ago_::_%n hours ago_" : ["%n小时前"],
+ "_%n hour ago_::_%n hours ago_" : ["%n 小时前"],
"_in %n minute_::_in %n minutes_" : ["%n分钟内"],
- "_%n minute ago_::_%n minutes ago_" : ["%n分钟前"],
+ "_%n minute ago_::_%n minutes ago_" : ["%n 分钟前"],
"in a few seconds" : "几秒钟内",
"seconds ago" : "几秒前",
"Empty file" : "空文件",
diff --git a/lib/l10n/zh_CN.json b/lib/l10n/zh_CN.json
index 3df5d661b16..34e5e3d3c60 100644
--- a/lib/l10n/zh_CN.json
+++ b/lib/l10n/zh_CN.json
@@ -72,9 +72,9 @@
"_in %n year_::_in %n years_" : ["%n年内"],
"_%n year ago_::_%n years ago_" : ["%n 年前"],
"_in %n hour_::_in %n hours_" : ["%n小时内"],
- "_%n hour ago_::_%n hours ago_" : ["%n小时前"],
+ "_%n hour ago_::_%n hours ago_" : ["%n 小时前"],
"_in %n minute_::_in %n minutes_" : ["%n分钟内"],
- "_%n minute ago_::_%n minutes ago_" : ["%n分钟前"],
+ "_%n minute ago_::_%n minutes ago_" : ["%n 分钟前"],
"in a few seconds" : "几秒钟内",
"seconds ago" : "几秒前",
"Empty file" : "空文件",
diff --git a/lib/private/Files/Utils/Scanner.php b/lib/private/Files/Utils/Scanner.php
index 40201d10b99..4d94629443f 100644
--- a/lib/private/Files/Utils/Scanner.php
+++ b/lib/private/Files/Utils/Scanner.php
@@ -23,6 +23,7 @@ use OCP\Files\Events\FileScannedEvent;
use OCP\Files\Events\FolderScannedEvent;
use OCP\Files\Events\NodeAddedToCache;
use OCP\Files\Events\NodeRemovedFromCache;
+use OCP\Files\Mount\IMountPoint;
use OCP\Files\NotFoundException;
use OCP\Files\Storage\IStorage;
use OCP\Files\StorageNotAvailableException;
@@ -85,7 +86,7 @@ class Scanner extends PublicEmitter {
* get all storages for $dir
*
* @param string $dir
- * @return \OC\Files\Mount\MountPoint[]
+ * @return array<string, IMountPoint>
*/
protected function getMounts($dir) {
//TODO: move to the node based fileapi once that's done
@@ -96,8 +97,9 @@ class Scanner extends PublicEmitter {
$mounts = $mountManager->findIn($dir);
$mounts[] = $mountManager->find($dir);
$mounts = array_reverse($mounts); //start with the mount of $dir
+ $mountPoints = array_map(fn ($mount) => $mount->getMountPoint(), $mounts);
- return $mounts;
+ return array_combine($mountPoints, $mounts);
}
/**
@@ -210,6 +212,9 @@ class Scanner extends PublicEmitter {
$owner = $owner['name'] ?? $ownerUid;
$permissions = decoct(fileperms($fullPath));
throw new ForbiddenException("User folder $fullPath is not writable, folders is owned by $owner and has mode $permissions");
+ } elseif (isset($mounts[$mount->getMountPoint() . $path . '/'])) {
+ // /<user>/files is overwritten by a mountpoint, so this check is irrelevant
+ break;
} else {
// if the root exists in neither the cache nor the storage the user isn't setup yet
break 2;