Skip to content
Open
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
bc154a0
Initial plan
Copilot May 2, 2026
8c7f1e2
NuGetプラグインストアの基本実装を追加
Copilot May 2, 2026
1364f7a
レビューフィードバック対応とサンプルプロジェクト追加
Copilot May 2, 2026
fb90a49
Changes before error encountered
Copilot May 2, 2026
3acc8c9
最新masterを統合して競合を解消
Freeesia Jul 26, 2026
37f3588
レビュー指摘のプラグイン配布動作を修正
Freeesia Jul 26, 2026
61ee76d
NuGetプラグイン配布と依存解決を改善
Freeesia Jul 28, 2026
5fa132b
Address NuGet plugin lifecycle and packaging feedback
Freeesia Jul 31, 2026
d8e9963
masterの最新変更をマージして競合を解消
Freeesia Jul 31, 2026
a5de060
NuGetプラグインのフレームワーク判定と依存アセンブリ解決を改善
Freeesia Aug 1, 2026
9041b6b
NuGetプラグインの読み込みと管理を修正
Freeesia Aug 1, 2026
51cd4ea
プラグインのプレリリース導入に対応
Freeesia Aug 1, 2026
9e597f2
NuGetパッケージの版番号をタグから取得
Freeesia Aug 1, 2026
d7dc5f4
プラグインストアのNuGet連携をライブラリへ移行
Freeesia Aug 3, 2026
e6168a3
プラグイン情報のバックグラウンド更新と再起動を追加
Freeesia Aug 3, 2026
38a25cc
NuGetプラグイン通信をSDKへ統合
Freeesia Aug 4, 2026
f44c738
NuGetプラグイン重複と検索エラーを修正
Freeesia Aug 4, 2026
5cdcc95
NuGetプラグイン管理領域と重複処理を修正
Freeesia Aug 4, 2026
f0d1cd1
プラグイン操作の中断復旧とマニフェスト検証を追加
Freeesia Aug 5, 2026
5d5ed74
不要な実装を削除して構成を整理する
Freeesia Aug 9, 2026
ba9e31c
プラグインストア画面のUIレイアウトを整理・改善
Freeesia Aug 9, 2026
97372a2
プラグインストアUI刷新・アイコン/免責事項対応
Freeesia Aug 9, 2026
60bc741
プラグイン状態バッジをアイコンに重ねて表示
Freeesia Aug 9, 2026
b313bf2
プラグインストアのレビュー指摘を修正
Freeesia Aug 9, 2026
2bdf830
プラグインストアのアイコン表示レイアウトを刷新
Freeesia Aug 9, 2026
650b194
レイアウト
Freeesia Aug 11, 2026
44770a7
レイアウト
Freeesia Aug 11, 2026
6cdd936
PR #615のレビュー指摘を修正
Freeesia Aug 11, 2026
c5d9e0f
旧manifest互換用の既定値を削除
Freeesia Aug 11, 2026
18b5762
NuGet所有者で公式プラグインを判定
Freeesia Aug 11, 2026
b6b3df1
プラグインの起動時削除とNuGet公開方式を修正
Freeesia Aug 11, 2026
eb941bb
PLaMoプラグインのNuGetパッケージ作成を修正
Freeesia Aug 11, 2026
9299077
プラグインREADMEをアプリ言語に対応
Freeesia Aug 13, 2026
727f966
プラグインの配布設定をプロパティ化
Freeesia Aug 13, 2026
e550bbb
配布プロジェクトの設定を標準化
Freeesia Aug 14, 2026
be312a0
集約プロジェクトによる復元競合を回避
Freeesia Aug 14, 2026
cdaad3e
配布プロジェクトの復元競合を防止
Freeesia Aug 14, 2026
03aee76
設定のバインド処理を元の実装に戻す
Freeesia Aug 14, 2026
3adf2c2
マージ競合を解決: CUDA toolkitステップと新規プロパティを両立
Copilot Aug 19, 2026
fbf8c31
CUDAツールキットステップを削除: PLamoPluginは同梱対象外のため不要
Copilot Aug 19, 2026
ce46f8f
マージ競合の誤解決を修正: CommonSettings.IsEnableAutoTargetを削除
Copilot Aug 19, 2026
699641b
プラグインストアのインストール後動作を修正
Freeesia Aug 20, 2026
c47cbb0
デバッグ時のプラグイン読み込みと表示文言を修正
Freeesia Aug 23, 2026
6a88a88
NuGetランタイム資産の展開方法を修正
Freeesia Aug 23, 2026
e6039cf
GitHub CopilotのCLIをプラグインへ同梱
Freeesia Aug 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 16 additions & 6 deletions .github/workflows/dotnet-desktop.yml
Comment thread
Freeesia marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -125,9 +125,6 @@ jobs:
versionSpec: "6.x"
- id: gitversion
uses: gittools/actions/gitversion/execute@v4.7.0
- uses: Jimver/cuda-toolkit@v0.2.30
with:
cuda: '12.9.0'
- run: |
dotnet publish WindowTranslator -c Release -o publish --sc ${{ matrix.self }} `
-p:Version=${{ steps.gitversion.outputs.fullSemVer }} `
Expand All @@ -137,14 +134,27 @@ jobs:
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
- run: |
$folders = Get-ChildItem -Path "Plugins" -Directory | Where-Object { $_.Name -notmatch "Dummy" -and $_.Name -notmatch "Tests?" }
for ($i = 0; $i -lt $folders.Count; $i++) {
dotnet publish $folders[$i].FullName -c Release -o "publish\plugins\$($folders[$i].Name)" `
$projects = Get-ChildItem -Path "Plugins\WindowTranslator.Plugin.*\*.csproj" |
Where-Object { $_.Directory.Name -notmatch "Dummy" -and $_.Directory.Name -notmatch "Tests?" }
foreach ($project in $projects) {
$propertyOutput = dotnet msbuild $project.FullName -nologo -getProperty:ExcludeFromAppBundle
if ($LASTEXITCODE -ne 0) {
exit $LASTEXITCODE
}
$excludeFromAppBundle = ($propertyOutput | Select-Object -Last 1).Trim()
if ($excludeFromAppBundle -eq "true") {
Write-Host "Skip app bundle: $($project.Name)"
continue
}
dotnet publish $project.FullName -c Release -o "publish\plugins\$($project.Directory.Name)" `
-p:Version=${{ steps.gitversion.outputs.fullSemVer }} `
-p:AssemblyVersion=${{ steps.gitversion.outputs.assemblySemVer }} `
-p:FileVersion=${{ steps.gitversion.outputs.assemblySemFileVer }} `
-p:InformationalVersion=${{ steps.gitversion.outputs.informationalVersion }} `
-p:DecryptKey="${{ secrets.WINDOWTRANSLATOR_DECRYPTKEY }}"
if ($LASTEXITCODE -ne 0) {
exit $LASTEXITCODE
}
}
- uses: actions/download-artifact@v8
if: ${{ needs.docs.result == 'success' }}
Expand Down
66 changes: 64 additions & 2 deletions .github/workflows/dotnet-package.yml
Comment thread
Freeesia marked this conversation as resolved.
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
name: .NET Core Package

on:
pull_request:
push:
tags: [v*]

jobs:
build:
runs-on: windows-latest
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v7
with:
Expand All @@ -25,10 +29,68 @@ jobs:
versionSpec: "6.x"
- id: gitversion
uses: gittools/actions/gitversion/execute@v4.7.0
- id: package-version
Comment thread
Freeesia marked this conversation as resolved.
Outdated
shell: pwsh
run: |
if ('${{ github.event_name }}' -eq 'push') {
$tag = '${{ github.ref_name }}'
if ($tag -notmatch '^v(?<version>[0-9]+\.[0-9]+\.[0-9]+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?)$') {
Write-Error "NuGet package tag must be v-prefixed SemVer: $tag"
exit 1
}
"version=$($Matches.version)" >> $env:GITHUB_OUTPUT
}
else {
"version=0.0.0-pr.${{ github.run_number }}" >> $env:GITHUB_OUTPUT
}
- uses: Jimver/cuda-toolkit@v0.2.30
with:
cuda: '12.9.0'
- run: |
dotnet pack WindowTranslator.Abstractions -c Release -o pack `
Comment thread
Freeesia marked this conversation as resolved.
Outdated
-p:Version=${{ steps.gitversion.outputs.fullSemVer }} `
-p:Version=${{ steps.package-version.outputs.version }} `
-p:AssemblyVersion=${{ steps.gitversion.outputs.assemblySemVer }} `
-p:FileVersion=${{ steps.gitversion.outputs.assemblySemFileVer }} `
-p:InformationalVersion=${{ steps.gitversion.outputs.informationalVersion }}
dotnet nuget push pack\*.nupkg -k ${{ secrets.NUGET_KEY }} -s https://api.nuget.org/v3/index.json --skip-duplicate
if ($LASTEXITCODE -ne 0) {
exit $LASTEXITCODE
}
dotnet pack ColorThief\ColorThief -c Release -o pack `
-p:Version=${{ steps.package-version.outputs.version }} `
-p:AssemblyVersion=${{ steps.gitversion.outputs.assemblySemVer }} `
-p:FileVersion=${{ steps.gitversion.outputs.assemblySemFileVer }} `
-p:InformationalVersion=${{ steps.gitversion.outputs.informationalVersion }}
if ($LASTEXITCODE -ne 0) {
exit $LASTEXITCODE
}
$projects = Get-ChildItem Plugins\WindowTranslator.Plugin.*\*.csproj |
Where-Object { $_.Directory.Name -notlike '*.Tests' }
foreach ($project in $projects) {
$propertyOutput = dotnet msbuild $project.FullName -nologo -getProperty:IsPackable
if ($LASTEXITCODE -ne 0) {
exit $LASTEXITCODE
}
$isPackable = ($propertyOutput | Select-Object -Last 1).Trim()
if ($isPackable -ne "true") {
Write-Host "Skip NuGet package: $($project.Name)"
continue
}
dotnet pack $project.FullName -c Release -o pack `
-p:Version=${{ steps.package-version.outputs.version }} `
-p:AssemblyVersion=${{ steps.gitversion.outputs.assemblySemVer }} `
-p:FileVersion=${{ steps.gitversion.outputs.assemblySemFileVer }} `
-p:InformationalVersion=${{ steps.gitversion.outputs.informationalVersion }} `
-p:DecryptKey="${{ secrets.WINDOWTRANSLATOR_DECRYPTKEY }}"
if ($LASTEXITCODE -ne 0) {
exit $LASTEXITCODE
}
}
- name: NuGet login
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
id: nuget_login
uses: NuGet/login@v1
with:
user: Freesia
- name: NuGet push
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
run: dotnet nuget push pack\*.nupkg --api-key ${{ steps.nuget_login.outputs.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
4 changes: 4 additions & 0 deletions ColorThief/ColorThief/ColorThief.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

<PropertyGroup>
<TargetFramework>net10.0-windows10.0.20348.0</TargetFramework>
<PackageId>WindowTranslator.ColorThief</PackageId>
<Title>WindowTranslator ColorThief Support Library</Title>
<Description>Color extraction support library for the WindowTranslator ColorThief plugin.</Description>
<PackageTags>$(PackageTags);ColorThief</PackageTags>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<RootNamespace>StudioFreesia.ColorThief</RootNamespace>
Expand Down
5 changes: 5 additions & 0 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
<PackageVersion Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="10.0.302" />
<PackageVersion Include="Microsoft.Extensions.Configuration.UserSecrets" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.2" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="10.0.0" />
Expand All @@ -34,6 +35,10 @@
<PackageVersion Include="Microsoft.Windows.CsWin32" Version="0.3.298" />
<PackageVersion Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.135" />
<PackageVersion Include="Moq" Version="4.20.72" />
<PackageVersion Include="NuGet.Frameworks" Version="7.6.0" />
<PackageVersion Include="NuGet.Packaging" Version="7.6.0" />
<PackageVersion Include="NuGet.Protocol" Version="7.6.0" />
<PackageVersion Include="NuGet.Versioning" Version="7.6.0" />
<PackageVersion Include="Octokit" Version="14.0.0" />
<PackageVersion Include="Panlingo.LanguageIdentification.FastText" Version="0.6.2" />
<PackageVersion Include="PropertyTools" Version="3.1.0" />
Expand Down
10 changes: 9 additions & 1 deletion Plugins/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@
<EnableDynamicLoading>true</EnableDynamicLoading>
</PropertyGroup>

<!-- NuGet パッケージとして公開する際の共通設定 -->
<PropertyGroup>
<IncludePluginRuntimeAssetsInPackage
Condition="'$(IncludePluginRuntimeAssetsInPackage)' == ''">false</IncludePluginRuntimeAssetsInPackage>
<!-- ExcludeFromAppBundle=true のプラグインはGitHub Actionsでのみアプリのpluginsフォルダへのコピーを省略します -->
<ExcludeFromAppBundle Condition="'$(ExcludeFromAppBundle)' == ''">false</ExcludeFromAppBundle>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" ExcludeAssets="runtime" />
<PackageReference Include="Microsoft.Extensions.Options" ExcludeAssets="runtime" />
Expand All @@ -22,4 +30,4 @@
<ExcludeAssets>runtime</ExcludeAssets>
</ProjectReference>
</ItemGroup>
</Project>
</Project>
41 changes: 39 additions & 2 deletions Plugins/Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,44 @@
<!-- 上位階層の Directory.Build.targets をインクルード -->
<Import Project="$(MSBuildProjectDirectory)\..\..\Directory.Build.targets" Condition="Exists('$(MSBuildProjectDirectory)\..\..\Directory.Build.targets')" />

<Target Condition="'$(IsTestProject)' != 'true'" Name="PostBuild" AfterTargets="PostBuildEvent">
<PropertyGroup Condition="'$(IsTestProject)' != 'true' AND '$(IsPackable)' != 'false'">
Comment thread
Freeesia marked this conversation as resolved.
Outdated
<PackageTags>$(PackageTags);windowtranslator-plugin</PackageTags>
<PackageReadmeFile Condition="Exists('$(MSBuildProjectDirectory)\README.md')">README.md</PackageReadmeFile>
<PackageIcon>plugin-icon.png</PackageIcon>
<TargetsForTfmSpecificBuildOutput
Condition="'$(IncludePluginRuntimeAssetsInPackage)' == 'true'">$(TargetsForTfmSpecificBuildOutput);AddPluginRuntimeAssetsToPackage</TargetsForTfmSpecificBuildOutput>
</PropertyGroup>

<ItemGroup Condition="Exists('$(MSBuildProjectDirectory)\README.md')">
Comment thread
Freeesia marked this conversation as resolved.
Outdated
<None Update="$(MSBuildProjectDirectory)\README.md" Pack="true" PackagePath="\" />
</ItemGroup>

<ItemGroup Condition="'$(IsTestProject)' != 'true' AND '$(IsPackable)' != 'false'">
Comment thread
Freeesia marked this conversation as resolved.
Outdated
<None Include="$(MSBuildThisFileDirectory)plugin-icon.png" Pack="true" PackagePath="\" />
</ItemGroup>

<!--
PackageReference の build/buildTransitive ターゲットによって出力されるネイティブ資産は、
依存パッケージの標準 runtimes/ 配下に存在しない場合がある。
必要なプラグインだけ IncludePluginRuntimeAssetsInPackage=true で実際のビルド出力を同梱する。
-->
<Target
Condition="'$(IsPackable)' != 'false' AND '$(IncludePluginRuntimeAssetsInPackage)' == 'true'"
Name="AddPluginRuntimeAssetsToPackage">
<ItemGroup>
<_PluginWinX64RuntimeAsset Include="$(TargetDir)runtimes\win-x64\**\*" />
<_PluginWinRuntimeAsset Include="$(TargetDir)runtimes\win\**\*" />
<_PluginAnyRuntimeAsset Include="$(TargetDir)runtimes\any\**\*" />
<BuildOutputInPackage Include="@(_PluginWinX64RuntimeAsset)"
TargetPath="runtimes\win-x64\%(RecursiveDir)%(Filename)%(Extension)" />
<BuildOutputInPackage Include="@(_PluginWinRuntimeAsset)"
TargetPath="runtimes\win\%(RecursiveDir)%(Filename)%(Extension)" />
<BuildOutputInPackage Include="@(_PluginAnyRuntimeAsset)"
TargetPath="runtimes\any\%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
</Target>

<Target Condition="'$(IsTestProject)' != 'true' AND ('$(ExcludeFromAppBundle)' != 'true' OR '$(GITHUB_ACTIONS)' != 'true')" Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="call $(ProjectDir)..\copy_plugins.bat $(OutDir) $(ProjectName) $(Configuration)" />
</Target>
</Project>
</Project>
22 changes: 22 additions & 0 deletions Plugins/WindowTranslator.Plugin.BergamotTranslatorPlugin/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# WindowTranslator Bergamot Translator Plugin

[WindowTranslator](https://github.com/Freeesia/WindowTranslator) で、Bergamotによるニューラル機械翻訳をローカル実行するプラグインです。

## 機能

- 翻訳テキストを外部サービスへ送信せず、オフラインで翻訳
- 対応する言語ペアのモデルを初回利用時に自動取得
- 直接変換できない言語ペアでは、利用可能な場合に英語を経由して翻訳

## 必要条件

- 対応するBergamot翻訳モデルが提供されている言語ペア
- モデルを初めて取得するときのインターネット接続

モデルの取得後はオフラインで利用できます。モデルが提供されていない言語ペアでは、このモジュールを選択できません。

## インストール

WindowTranslatorの設定画面で3番目の「プラグイン」タブを開き、このプラグインをインストールしてください。プレリリース版を利用する場合は、このプラグインの「プレリリース」にチェックを入れます。

インストールまたは更新の反映にはWindowTranslatorの再起動が必要です。
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<Title>Bergamot Translator Plugin</Title>
<Description>Offline neural machine translation for WindowTranslator using Bergamot.</Description>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
Expand Down
17 changes: 17 additions & 0 deletions Plugins/WindowTranslator.Plugin.ColorThiefPlugin/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# WindowTranslator ColorThief Plugin

[WindowTranslator](https://github.com/Freeesia/WindowTranslator) で、キャプチャ画像から翻訳テキストに適した前景色と背景色を推定するカラープラグインです。

## 機能

- OCR領域周辺の代表色から背景色を推定
- 背景との明度差を考慮して読みやすい文字色を選択
- 回転したテキスト領域にも対応

外部APIや追加設定は必要ありません。インストール後、対象設定のカラーモジュールで「近似カラー」を選択してください。

## インストール

WindowTranslatorの設定画面で3番目の「プラグイン」タブを開き、このプラグインをインストールしてください。プレリリース版を利用する場合は、このプラグインの「プレリリース」にチェックを入れます。

インストールまたは更新の反映にはWindowTranslatorの再起動が必要です。
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0-windows10.0.20348.0</TargetFramework>
<Title>ColorThief Plugin</Title>
<Description>Detects readable foreground and background colors for translated text.</Description>
</PropertyGroup>

<ItemGroup>
Expand Down
22 changes: 22 additions & 0 deletions Plugins/WindowTranslator.Plugin.DeepLTranslatePlugin/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# WindowTranslator DeepL Translator Plugin

[WindowTranslator](https://github.com/Freeesia/WindowTranslator) でDeepL APIを利用する翻訳プラグインです。

## 機能

- DeepL APIによる翻訳
- WindowTranslatorから渡された文脈を翻訳リクエストへ反映
- CSV用語集による表記の統一
- 設定画面からAPI利用量を確認

## 設定

- DeepL APIの認証キーが必要です。
- 用語集を利用する場合は、ヘッダーなしの`原文,訳文`形式のCSVファイルを指定します。
- 利用可能な言語、料金、上限はDeepL APIの契約内容に従います。

## インストール

WindowTranslatorの設定画面で3番目の「プラグイン」タブを開き、このプラグインをインストールしてください。プレリリース版を利用する場合は、このプラグインの「プレリリース」にチェックを入れます。

インストールまたは更新の反映にはWindowTranslatorの再起動が必要です。
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<Title>DeepL Translator Plugin</Title>
<Description>Translation for WindowTranslator using the DeepL API.</Description>
<ExcludeFromAppBundle>true</ExcludeFromAppBundle>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="CsvHelper" />
<PackageReference Include="DeepL.net" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<!-- テスト・デバッグ専用。アプリ内ストアへ公開しない。 -->
<IsPackable>false</IsPackable>
</PropertyGroup>

</Project>
25 changes: 25 additions & 0 deletions Plugins/WindowTranslator.Plugin.FoMPlugin/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# WindowTranslator Fields of Mistria Filter Plugin

[WindowTranslator](https://github.com/Freeesia/WindowTranslator) の翻訳をゲーム「Fields of Mistria」向けに補助するフィルタープラグインです。

## 機能

- 実行中の`FieldsOfMistria.exe`を検出した場合だけ有効化
- ゲームの`localization.json`を参照してOCR結果を補正
- キャラクター、シーン、会話の情報を翻訳コンテキストとして追加
- キャラクター名やアイテム名を選択中の翻訳モジュールへ用語集として登録

## 設定

- OCR補正の有効化
- 公式日本語テキストの利用
- プレイヤー名と農場名
- ゲームデータに存在しないテキストの除外

このプラグイン自体は翻訳サービスを提供しません。WindowTranslatorで別途、翻訳モジュールを選択してください。

## インストール

WindowTranslatorの設定画面で3番目の「プラグイン」タブを開き、このプラグインをインストールしてください。プレリリース版を利用する場合は、このプラグインの「プレリリース」にチェックを入れます。

インストールまたは更新の反映にはWindowTranslatorの再起動が必要です。
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0-windows10.0.20348.0</TargetFramework>
<Title>Fields of Mistria Filter Plugin</Title>
<Description>Context-aware translation filtering for Fields of Mistria.</Description>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<ExcludeFromAppBundle>true</ExcludeFromAppBundle>
</PropertyGroup>

<ItemGroup>
Expand Down
24 changes: 24 additions & 0 deletions Plugins/WindowTranslator.Plugin.GitHubCopilotPlugin/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# WindowTranslator GitHub Copilot Translator Plugin

[WindowTranslator](https://github.com/Freeesia/WindowTranslator) でGitHub Copilotを利用する翻訳プラグインです。

## 機能

- 選択したCopilotモデルによる文脈を考慮した翻訳
- 翻訳方針を追加できるカスタムコンテキスト
- CSV用語集による表記の統一
- WindowTranslatorが提供する会話やゲーム固有のコンテキストを反映

## 必要条件と設定

- GitHub Copilotを利用できるGitHubアカウントと認証
- 利用するモデル名
- 必要に応じて翻訳コンテキストと、ヘッダーなしの`原文,訳文`形式のCSV用語集

利用可能なモデル、料金、上限はGitHub Copilotの契約内容に従います。

## インストール

WindowTranslatorの設定画面で3番目の「プラグイン」タブを開き、このプラグインをインストールしてください。プレリリース版を利用する場合は、このプラグインの「プレリリース」にチェックを入れます。

インストールまたは更新の反映にはWindowTranslatorの再起動が必要です。
Loading
Loading