语音合成

Signed-off-by: 高源 <3056440880@qq.com>
Dev
高源 1 year ago
parent 9444d53350
commit 5de23b95ce

Binary file not shown.

@ -1,38 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WpfApp1.transToNet
{
/*
internal class GrapeToJsonTrans : GrapeToJson
{
public List<string> GrapeRequestJson()
{
List<string> re = new List<string>();
return re;
}
public List<string> GrapeRequestJsonBaiDu()
{
List<string> re = new List<string>();
return re;
}
public List<string> GrapeRequestJsonLanguageChange()
{
List<string> re = new List<string>();
return re;
}
}
*/
}

@ -1,642 +0,0 @@
using Newtonsoft.Json;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Web;
namespace WpfApp1.transToNet
{
internal class jsonNet : Messiah
{
static string https = "http://api.fanyi.baidu.com/api/trans/vip/translate?";
static string appid = "20230925001829663";//20230925001829663,20230923001827495
static Random rd = new Random();
static string salt = rd.Next(100000).ToString();
static string key = "f7ZHpw28izQ1VU_ixoY5";//f7ZHpw28izQ1VU_ixoY5,yjvMNY33Qc1TYSBjTQYQ
//baidu
static string xunweb = "https://itrans.xf-yun.com/v1/its";
static string xunid = "1299c840";
static string xunsec = "M2Q4YzkzZTIwZjNkMGE2ZjkwZWMxNzZk";
static string xunkey = "828cb2dc915d28464a904bda5d7b01b3";
static string xunfl = "en";//ja
static string xundl = "cn";
static string xuntxt = "Sakura miko";
//static HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://api.fanyi.baidu.com/api/trans/vip/translate?q=apple&from=en&to=zh&appid=20230925001829663&salt=1435660288&sign=c963bc2275c0fd1ed30da014c1ef1933");
/*
private static HttpClient HttpRe = new HttpClient()
{
BaseAddress = new Uri("http://api.fanyi.baidu.com/api/trans/vip/translate?"),
};
static async Task GetAsync(HttpClient httpc)
{
using HttpResponseMessage response = await httpc.GetAsync(temp);
//var value = response.EnsureSuccessStatusCode().WriteRequestToConsole();
var jsonResponse = await response.Content.ReadAsStringAsync();//收到json
Console.WriteLine($"{jsonResponse}\n");
}
*/
private HttpClient HttpRequestC(string url)//创建HTTP
{
HttpClient httpClient = new HttpClient()
{
BaseAddress = new Uri(url)
};
return httpClient;
}
private static string EncryptString(string str)//百度MD5加密计算方式
{
MD5 md5 = MD5.Create();
// 将字符串转换成字节数组
byte[] byteOld = Encoding.UTF8.GetBytes(str);
// 调用加密方法
byte[] byteNew = md5.ComputeHash(byteOld);
// 将加密结果转换为字符串
StringBuilder sb = new StringBuilder();
foreach (byte b in byteNew)
{
// 将字节转换成16进制表示的字符串
sb.Append(b.ToString("x2"));
}
// 返回加密的字符串
return sb.ToString();
}
private static string HmacSha256(string message, string secret)//hmachas256加密
{
byte[] keyBytes = Encoding.UTF8.GetBytes(secret);
byte[] messageBytes = Encoding.UTF8.GetBytes(message);
using (HMACSHA256 hmac = new HMACSHA256(keyBytes))
{
byte[] signatureBytes = hmac.ComputeHash(messageBytes);
return Convert.ToBase64String(signatureBytes);
}
}
private static string Sha256(string message)//SHA-256加密
{
byte[] messageBytes = Encoding.UTF8.GetBytes(message);
using (SHA256 sha256 = SHA256.Create())
{
byte[] signatureBytes = sha256.ComputeHash(messageBytes);
return Convert.ToBase64String(signatureBytes);
}
}
private static string signBody(string body)
{
byte[] messageBytes = Encoding.UTF8.GetBytes(body);
using (SHA256 sha256 = SHA256.Create())
{
byte[] signatureBytes = sha256.ComputeHash(messageBytes);
string signature = Convert.ToBase64String(signatureBytes);
return hmacsign(signature, xunsec);
}
}
private static string hmacsign(string signature, string apiSecret)
{
byte[] keyBytes = Encoding.UTF8.GetBytes(apiSecret);
byte[] messageBytes = Encoding.UTF8.GetBytes(signature);
using (HMACSHA256 hmac = new HMACSHA256(keyBytes))
{
byte[] signatureBytes = hmac.ComputeHash(messageBytes);
return Convert.ToBase64String(signatureBytes);
}
}
private static string ComputeSha256(string message)
{
byte[] messageBytes = Encoding.UTF8.GetBytes(message);
using (SHA256 sha256 = SHA256.Create())
{
byte[] signatureBytes = sha256.ComputeHash(messageBytes);
return Convert.ToBase64String(signatureBytes);
}
}
private static string BuildHttpBody()
{
Dictionary<string, object> paramMap = new()
{
{ "from", "cn" },
{ "to", "en" },
{ "appid", xunid },
{ "salt", DateTime.Now.Millisecond.ToString() },
{ "signType", "v3" },
{ "signature", "" },
{ "voice", "0" },
{ "text", "你好,世界!" }
};
string body = JsonConvert.SerializeObject(paramMap);
string signature = signBody(body);
paramMap["signature"] = signature;
return JsonConvert.SerializeObject(paramMap);
}
private static Dictionary<string, string> BuildHttpHeader(string body)
{
string curTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
string param = xunkey + curTime + body;
string checkSum = ComputeSha256(param);
Dictionary<string, string> header = new()
{
{ "Content-Type", "application/json" },
{ "X-Appid", xunid },
{ "X-CurTime", curTime },
{ "X-Param", body },
{ "X-CheckSum", checkSum }
};
return header;
}
public string RequestJsonPrivateBaiDu(string input, string srcl, string dstl, string aid, string kkey)//自定义idkey以及源语言和目标语言
{
string sign = EncryptString(aid + input + salt + kkey);
string temp = "q=" + HttpUtility.UrlEncode(input) + "&from=" + srcl + "&to=" + dstl + "&appid=" + aid + "&salt=" + salt + "&sign=" + sign;
Console.WriteLine(https + temp);
//Task t = GetAsync(HttpRe); t.Wait();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(https + temp);
request.Method = "GET";
request.ContentType = "text/html;charset=UTF-8";
request.UserAgent = null;
request.Timeout = 6000;
var response = request.GetResponse();
var myResponseStream = response.GetResponseStream();
var myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
string retString = myStreamReader.ReadToEnd();
tempC2 temp1 = JsonConvert.DeserializeObject<tempC2>(retString);
Trans_result result = temp1.trans_result[0];
string s = result.dst;
return s;
}
public string RequestJsonLanguageChangeBaiDu(string input, string srcl, string dstl)//可以自定义源语言与目标语言
{
string sign = EncryptString(appid + input + salt + key);
string temp = "q=" + HttpUtility.UrlEncode(input) + "&from=" + srcl + "&to=" + dstl + "&appid=" + appid + "&salt=" + salt + "&sign=" + sign;
Console.WriteLine(https + temp);
//Task t = GetAsync(HttpRe); t.Wait();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(https + temp);
request.Method = "GET";
request.ContentType = "text/html;charset=UTF-8";
request.UserAgent = null;
request.Timeout = 6000;
var response = request.GetResponse();
var myResponseStream = response.GetResponseStream();
var myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
string retString = myStreamReader.ReadToEnd();
tempC2 temp1 = JsonConvert.DeserializeObject<tempC2>(retString);
Trans_result result = temp1.trans_result[0];
string s = result.dst;
return s;
}
public string RequestJsonBaiDu(string input)//默认
{
string sign = EncryptString(appid + input + salt + key);
string temp = "q=" + HttpUtility.UrlEncode(input) + "&from=jp&to=zh&appid=" + appid + "&salt=" + salt + "&sign=" + sign;
Console.WriteLine(https + temp);
//Task t = GetAsync(HttpRe); t.Wait();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(https + temp);
request.Method = "GET";
request.ContentType = "text/html;charset=UTF-8";
request.UserAgent = null;
request.Timeout = 6000;
var response = request.GetResponse();
var myResponseStream = response.GetResponseStream();
var myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
string retString = myStreamReader.ReadToEnd();
tempC2 temp1 = JsonConvert.DeserializeObject<tempC2>(retString);
Trans_result result = temp1.trans_result[0];
string s = result.dst;
return s;
}
public string RequestJsonXunFei(string input)
{
// 接口地址
string host = "itrans.xfyun.cn";
string url = string.Format("https://{0}/v2/its", host);
// 原文
string q = "amyotrophic lateral sclerosis";
q = input;
// 源语言
string from = "ja";
// 目标语言
string to = "cn";
string apikey = "a31395d71149fc5f1e73353f56d3d726";
string apisecret = "YWVhYWUyM2YyMTAyMDdhYTk3YTRhMjli";
string appid = "56e76335";
string requestJson = HttpUtil.BuildXunFeiRequestJson(appid, from, to, q);
string Digest = "SHA-256=" + HttpUtil.ComputeHash256_base64(requestJson, new SHA256CryptoServiceProvider());
DateTime dateTime = DateTime.UtcNow;
string dateStr = dateTime.ToString("r");
string signature = string.Format("host: {0}\ndate: {1}\nPOST /v2/its HTTP/1.1\ndigest: {2}", host, dateStr, Digest);
string signature_sha = HttpUtil.hmacsha256(signature, apisecret);
string Authorization = string.Format("api_key=\"{0}\", algorithm=\"hmac-sha256\", headers=\"host date request-line digest\", signature=\"{1}\"", apikey, signature_sha);
//post
byte[] byteArray = Encoding.UTF8.GetBytes(requestJson);
HttpWebRequest httpWebRequest;
//HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
httpWebRequest = WebRequest.Create(url) as HttpWebRequest;
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(HttpUtil.CheckValidationResult);
httpWebRequest.ProtocolVersion = HttpVersion.Version11;
// 这里设置了协议类型。
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;// SecurityProtocolType.Tls1.2;
httpWebRequest.KeepAlive = false;
ServicePointManager.CheckCertificateRevocationList = true;
ServicePointManager.DefaultConnectionLimit = 100;
ServicePointManager.Expect100Continue = false;
}
else
{
httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
}
httpWebRequest.Method = "POST";
httpWebRequest.ContentType = "application/json";
httpWebRequest.ContentLength = byteArray.Length;
httpWebRequest.Accept = "application/json";
httpWebRequest.Date = dateTime;
httpWebRequest.Host = host;
httpWebRequest.Headers.Add("Digest", Digest);
httpWebRequest.Headers.Add("Authorization", Authorization);
httpWebRequest.KeepAlive = false;
int respondCode = 0;
string translation = string.Empty;
string respondStr = string.Empty;
try
{
using (Stream reqStream = httpWebRequest.GetRequestStream())
{
reqStream.Write(byteArray, 0, byteArray.Length);
}
using (HttpWebResponse webResponse = (HttpWebResponse)httpWebRequest.GetResponse())
{
respondCode = (int)webResponse.StatusCode;
if (respondCode == 200)
{
using (StreamReader sr = new StreamReader(webResponse.GetResponseStream(), Encoding.UTF8))
{
respondStr = sr.ReadToEnd();
}
dynamic TempResult = JsonConvert.DeserializeObject(respondStr);
respondStr = Convert.ToString(TempResult["data"]["result"]["trans_result"]["dst"]);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
return respondStr;
}
public string RequestJsonPrivateXunFei(string input, string srcl, string dstl, string xid, string xse , string xkey)
{
// 接口地址
string host = "itrans.xfyun.cn";
string url = string.Format("https://{0}/v2/its", host);
// 原文
string q = "";
q = input;
// 源语言
string from = srcl;
// 目标语言
string to = dstl; //"cn";
string apikey = xkey;
string apisecret = xse;
string appid = xid;
string requestJson = HttpUtil.BuildXunFeiRequestJson(appid, from, to, q);
string Digest = "SHA-256=" + HttpUtil.ComputeHash256_base64(requestJson, new SHA256CryptoServiceProvider());
DateTime dateTime = DateTime.UtcNow;
string dateStr = dateTime.ToString("r");
string signature = string.Format("host: {0}\ndate: {1}\nPOST /v2/its HTTP/1.1\ndigest: {2}", host, dateStr, Digest);
string signature_sha = HttpUtil.hmacsha256(signature, apisecret);
string Authorization = string.Format("api_key=\"{0}\", algorithm=\"hmac-sha256\", headers=\"host date request-line digest\", signature=\"{1}\"", apikey, signature_sha);
//post
byte[] byteArray = Encoding.UTF8.GetBytes(requestJson);
HttpWebRequest httpWebRequest;
//HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
httpWebRequest = WebRequest.Create(url) as HttpWebRequest;
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(HttpUtil.CheckValidationResult);
httpWebRequest.ProtocolVersion = HttpVersion.Version11;
// 这里设置了协议类型。
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;// SecurityProtocolType.Tls1.2;
httpWebRequest.KeepAlive = false;
ServicePointManager.CheckCertificateRevocationList = true;
ServicePointManager.DefaultConnectionLimit = 100;
ServicePointManager.Expect100Continue = false;
}
else
{
httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
}
httpWebRequest.Method = "POST";
httpWebRequest.ContentType = "application/json";
httpWebRequest.ContentLength = byteArray.Length;
httpWebRequest.Accept = "application/json";
httpWebRequest.Date = dateTime;
httpWebRequest.Host = host;
httpWebRequest.Headers.Add("Digest", Digest);
httpWebRequest.Headers.Add("Authorization", Authorization);
httpWebRequest.KeepAlive = false;
int respondCode = 0;
string translation = string.Empty;
string respondStr = string.Empty;
try
{
using (Stream reqStream = httpWebRequest.GetRequestStream())
{
reqStream.Write(byteArray, 0, byteArray.Length);
}
using (HttpWebResponse webResponse = (HttpWebResponse)httpWebRequest.GetResponse())
{
respondCode = (int)webResponse.StatusCode;
if (respondCode == 200)
{
using (StreamReader sr = new StreamReader(webResponse.GetResponseStream(), Encoding.UTF8))
{
respondStr = sr.ReadToEnd();
}
dynamic TempResult = JsonConvert.DeserializeObject(respondStr);
// 这是返回的 译文
respondStr = Convert.ToString(TempResult["data"]["result"]["trans_result"]["dst"]);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
return respondStr;
}
public string RequestJsonLanguageChangeXunFei(string input, string srcl, string dstl)
{
// 接口地址
string host = "itrans.xfyun.cn";
string url = string.Format("https://{0}/v2/its", host);
// 原文
string q = "";
q = input;
// 源语言
string from = srcl;
// 目标语言
string to = dstl;
string apikey = "a31395d71149fc5f1e73353f56d3d726";
string apisecret = "YWVhYWUyM2YyMTAyMDdhYTk3YTRhMjli";
string appid = "56e76335";
string requestJson = HttpUtil.BuildXunFeiRequestJson(appid, from, to, q);
string Digest = "SHA-256=" + HttpUtil.ComputeHash256_base64(requestJson, new SHA256CryptoServiceProvider());
DateTime dateTime = DateTime.UtcNow;
string dateStr = dateTime.ToString("r");
string signature = string.Format("host: {0}\ndate: {1}\nPOST /v2/its HTTP/1.1\ndigest: {2}", host, dateStr, Digest);
string signature_sha = HttpUtil.hmacsha256(signature, apisecret);
string Authorization = string.Format("api_key=\"{0}\", algorithm=\"hmac-sha256\", headers=\"host date request-line digest\", signature=\"{1}\"", apikey, signature_sha);
//post
byte[] byteArray = Encoding.UTF8.GetBytes(requestJson);
HttpWebRequest httpWebRequest;
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
httpWebRequest = WebRequest.Create(url) as HttpWebRequest;
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(HttpUtil.CheckValidationResult);
httpWebRequest.ProtocolVersion = HttpVersion.Version11;
// 这里设置了协议类型。
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;// SecurityProtocolType.Tls1.2;
httpWebRequest.KeepAlive = false;
ServicePointManager.CheckCertificateRevocationList = true;
ServicePointManager.DefaultConnectionLimit = 100;
ServicePointManager.Expect100Continue = false;
}
else
{
httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
}
httpWebRequest.Method = "POST";
httpWebRequest.ContentType = "application/json";
httpWebRequest.ContentLength = byteArray.Length;
httpWebRequest.Accept = "application/json";
httpWebRequest.Date = dateTime;
httpWebRequest.Host = host;
httpWebRequest.Headers.Add("Digest", Digest);
httpWebRequest.Headers.Add("Authorization", Authorization);
httpWebRequest.KeepAlive = false;
int respondCode = 0;
string translation = string.Empty;
string respondStr = string.Empty;
try
{
using (Stream reqStream = httpWebRequest.GetRequestStream())
{
reqStream.Write(byteArray, 0, byteArray.Length);
}
using (HttpWebResponse webResponse = (HttpWebResponse)httpWebRequest.GetResponse())
{
respondCode = (int)webResponse.StatusCode;
if (respondCode == 200)
{
using (StreamReader sr = new StreamReader(webResponse.GetResponseStream(), Encoding.UTF8))
{
respondStr = sr.ReadToEnd();
}
dynamic TempResult = JsonConvert.DeserializeObject(respondStr);
// 接收到的 译文
respondStr = Convert.ToString(TempResult["data"]["result"]["trans_result"]["dst"]);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
return respondStr;
}
}
class Trans_result
{
public string src { get; set; }
public string dst { get; set; }
}
class tempC2
{
public List<Trans_result> trans_result { get; set; }
}
class ResponseData
{
public int code { get; set; }
public string message { get; set; }
public string sid { get; set; }
public List<Result> data { get; set; }
}
class Result
{
public string src { get; set; }
public string tgt { get; set; }
}
// 讯飞
class XunFeiRequestClass
{
[JsonProperty("common")]
public common c { get; set; }
[JsonProperty("business")]
public business b { get; set; }
[JsonProperty("data")]
public data d { get; set; }
}
class common
{
[JsonProperty("app_id")]
public string app_id { get; set; }
}
class business
{
[JsonProperty("from")]
public string from { get; set; }
[JsonProperty("to")]
public string to { get; set; }
}
class data
{
[JsonProperty("text")]
public string text { get; set; }
}
class HttpUtil//讯飞用
{
//计算字符哈希值
public static string ComputeHash256_base64(string input, HashAlgorithm algorithm)
{
Byte[] inputBytes = Encoding.UTF8.GetBytes(input);
Byte[] hashedBytes = algorithm.ComputeHash(inputBytes);
return Convert.ToBase64String(hashedBytes);
}
//构建讯飞翻译API的请求参数的JSON字符串
public static string BuildXunFeiRequestJson(string appid, string from, string to, string text)
{
common c = new common();
c.app_id = appid;
business b = new business();
b.from = from;
b.to = to;
data d = new data();
d.text = EncryptBase64(text);
XunFeiRequestClass xunFeiRequestClass = new XunFeiRequestClass();
xunFeiRequestClass.c = c;
xunFeiRequestClass.b = b;
xunFeiRequestClass.d = d;
return JsonConvert.SerializeObject(xunFeiRequestClass);
}
//进行Base64编码
public static string EncryptBase64(string text)
{
byte[] bytes = Encoding.UTF8.GetBytes(text);
return Convert.ToBase64String(bytes);
}
//计算字符串的HMAC-SHA256签名
public static string hmacsha256(string text, string secret)
{
string signRet = string.Empty;
using (HMACSHA256 mac = new HMACSHA256(Encoding.UTF8.GetBytes(secret)))
{
byte[] hash = mac.ComputeHash(Encoding.UTF8.GetBytes(text));
signRet = Convert.ToBase64String(hash);
}
return signRet;
}
//验证服务器证书是否有效
public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
return true;
}
}
}

@ -0,0 +1,13 @@
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/modules.xml
/projectSettingsUpdater.xml
/.idea.WpfApp2.iml
/contentModel.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
</project>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
</component>
</project>

@ -0,0 +1,168 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoGeneratedRunConfigurationManager">
<projectFile>WpfApp2/WpfApp2.csproj</projectFile>
</component>
<component name="AutoImportSettings">
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="6788dd56-ddb4-43b5-8671-b09d81a9785d" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.idea/.idea.WpfApp2/.idea/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.WpfApp2/.idea/encodings.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.WpfApp2/.idea/indexLayout.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.WpfApp2/.idea/vcs.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.vs/ProjectEvaluation/wpfapp2.metadata.v6.1" beforeDir="false" afterPath="$PROJECT_DIR$/.vs/ProjectEvaluation/wpfapp2.metadata.v6.1" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.vs/ProjectEvaluation/wpfapp2.projects.v6.1" beforeDir="false" afterPath="$PROJECT_DIR$/.vs/ProjectEvaluation/wpfapp2.projects.v6.1" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.vs/WpfApp2/DesignTimeBuild/.dtbcache.v2" beforeDir="false" afterPath="$PROJECT_DIR$/.vs/WpfApp2/DesignTimeBuild/.dtbcache.v2" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.vs/WpfApp2/FileContentIndex/362c3933-8d62-4304-85de-7adf808e0b02.vsidx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.vs/WpfApp2/FileContentIndex/924a50e3-4b1f-4e4f-a0fe-30bd52e7ae56.vsidx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.vs/WpfApp2/FileContentIndex/a4e611ce-151b-4c2f-9c18-0f4b9084f4dd.vsidx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.vs/WpfApp2/v17/.suo" beforeDir="false" afterPath="$PROJECT_DIR$/.vs/WpfApp2/v17/.suo" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2.sln" beforeDir="false" afterPath="$PROJECT_DIR$/TstTranslator.sln" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/MainWindow.xaml" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/MainWindow.xaml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/MainWindow.xaml.cs" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/MainWindow.xaml.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/App.g.cs" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/App.g.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/App.g.i.cs" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/App.g.i.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/MainWindow.baml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/MainWindow.g.cs" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/MainWindow.g.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/MainWindow.g.i.cs" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/MainWindow.g.i.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/WpfApp2.GeneratedMSBuildEditorConfig.editorconfig" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/WpfApp2.GeneratedMSBuildEditorConfig.editorconfig" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/WpfApp2.assets.cache" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/WpfApp2.assets.cache" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/WpfApp2.csproj.AssemblyReference.cache" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/WpfApp2.csproj.AssemblyReference.cache" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/WpfApp2_MarkupCompile.cache" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/WpfApp2_MarkupCompile.i.cache" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/WpfApp2_MarkupCompile.lref" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/view/ProgressSelect.baml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/view/ProgressSelect.g.cs" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/view/ProgressSelect.g.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/view/ProgressSelect.g.i.cs" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/view/ProgressSelect.g.i.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/view/TranslationSourceSelect.baml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/view/TranslationSourceSelect.g.cs" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/view/TranslationSourceSelect.g.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/view/TranslationSourceSelect.g.i.cs" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/view/TranslationSourceSelect.g.i.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/view/TranslationText.baml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/view/TranslationText.g.cs" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/view/TranslationText.g.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/view/TranslationText.g.i.cs" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/Debug/net6.0-windows10.0.19041.0/view/TranslationText.g.i.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/WpfApp2.csproj.nuget.g.props" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/WpfApp2.csproj.nuget.g.props" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/project.nuget.cache" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/project.nuget.cache" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/project.packagespec.json" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/project.packagespec.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/rider.project.model.nuget.info" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/rider.project.model.nuget.info" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/rider.project.restore.info" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/rider.project.restore.info" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/x64/Debug/net6.0-windows10.0.19041.0/WpfApp2_MarkupCompile.i.cache" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/x64/Debug/net6.0-windows10.0.19041.0/WpfApp2_MarkupCompile.i.cache" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WpfApp2/obj/x64/Debug/net6.0-windows10.0.19041.0/view/ErrorIn.g.i.cs" beforeDir="false" afterPath="$PROJECT_DIR$/WpfApp2/obj/x64/Debug/net6.0-windows10.0.19041.0/view/ErrorIn.g.i.cs" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/../.." />
</component>
<component name="HighlightingSettingsPerFile">
<setting file="file://$PROJECT_DIR$/TstTranslator/App.xaml" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/TstTranslator/AssemblyInfo.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/TstTranslator/view/MainWindow.xaml" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/TstTranslator/view/MainWindow.xaml.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/TstTranslator/view/SelectPriTrueWindow.xaml" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/TstTranslator/view/TranslationSourceSelect.xaml" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/TstTranslator/view/TranslationText.xaml" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/WpfApp2/MainWindow.xaml.cs" root0="FORCE_HIGHLIGHTING" />
</component>
<component name="MetaFilesCheckinStateConfiguration" checkMetaFiles="true" />
<component name="ProblemsViewState">
<option name="selectedTabId" value="CurrentFile" />
</component>
<component name="ProjectColorInfo">{
&quot;customColor&quot;: &quot;&quot;,
&quot;associatedIndex&quot;: 1
}</component>
<component name="ProjectId" id="2XbQwOJP4mnIs5qQENsw3fz56uO" />
<component name="ProjectLevelVcsManager">
<ConfirmationsSetting value="2" id="Add" />
</component>
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
&quot;git-widget-placeholder&quot;: &quot;CHL&quot;,
&quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
&quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
&quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
&quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
&quot;settings.editor.selected.configurable&quot;: &quot;ReSpellerSettingsId&quot;,
&quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
},
&quot;keyToStringList&quot;: {
&quot;rider.external.source.directories&quot;: [
&quot;C:\\Users\\82590\\AppData\\Roaming\\JetBrains\\Rider2023.2\\resharper-host\\DecompilerCache&quot;,
&quot;C:\\Users\\82590\\AppData\\Roaming\\JetBrains\\Rider2023.2\\resharper-host\\SourcesCache&quot;,
&quot;C:\\Users\\82590\\AppData\\Local\\Symbols\\src&quot;
]
}
}</component>
<component name="RunManager">
<configuration name="TstTranslator" type="DotNetProject" factoryName=".NET Project">
<option name="EXE_PATH" value="$PROJECT_DIR$/TstTranslator/bin/Debug/net6.0-windows10.0.19041.0/TstTranslator.exe" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/TstTranslator/bin/Debug/net6.0-windows10.0.19041.0" />
<option name="PASS_PARENT_ENVS" value="1" />
<option name="USE_EXTERNAL_CONSOLE" value="0" />
<option name="USE_MONO" value="0" />
<option name="RUNTIME_ARGUMENTS" value="" />
<option name="PROJECT_PATH" value="$PROJECT_DIR$/TstTranslator/TstTranslator.csproj" />
<option name="PROJECT_EXE_PATH_TRACKING" value="1" />
<option name="PROJECT_ARGUMENTS_TRACKING" value="1" />
<option name="PROJECT_WORKING_DIRECTORY_TRACKING" value="1" />
<option name="PROJECT_KIND" value="DotNetCore" />
<option name="PROJECT_TFM" value="net6.0-windows10.0.19041" />
<method v="2">
<option name="Build" />
</method>
</configuration>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="6788dd56-ddb4-43b5-8671-b09d81a9785d" name="Changes" comment="" />
<created>1698895541859</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1698895541859</updated>
<workItem from="1698895543198" duration="840000" />
<workItem from="1699267116853" duration="3721000" />
<workItem from="1699270998075" duration="877000" />
</task>
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
<component name="UnityCheckinConfiguration" checkUnsavedScenes="true" />
<component name="Vcs.Log.Tabs.Properties">
<option name="TAB_STATES">
<map>
<entry key="MAIN">
<value>
<State />
</value>
</entry>
</map>
</option>
</component>
<component name="VcsManagerConfiguration">
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="true" />
<MESSAGE value="更换存储路径,解决临时存储数据无效问题" />
</component>
<component name="XDebuggerManager">
<watches-manager>
<configuration name="DotNetProject">
<watch expression="textBox" />
</configuration>
</watches-manager>
</component>
</project>

@ -0,0 +1,3 @@
{
"CurrentProjectSetting": null
}

Binary file not shown.

@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.33424.131
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TstTranslator", "TstTranslator\TstTranslator.csproj", "{D8D09E8D-F700-438E-9C46-C537E1E3D478}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D8D09E8D-F700-438E-9C46-C537E1E3D478}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D8D09E8D-F700-438E-9C46-C537E1E3D478}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D8D09E8D-F700-438E-9C46-C537E1E3D478}.Debug|x64.ActiveCfg = Debug|x64
{D8D09E8D-F700-438E-9C46-C537E1E3D478}.Debug|x64.Build.0 = Debug|x64
{D8D09E8D-F700-438E-9C46-C537E1E3D478}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D8D09E8D-F700-438E-9C46-C537E1E3D478}.Release|Any CPU.Build.0 = Release|Any CPU
{D8D09E8D-F700-438E-9C46-C537E1E3D478}.Release|x64.ActiveCfg = Release|x64
{D8D09E8D-F700-438E-9C46-C537E1E3D478}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5433003B-6435-41C2-B900-033F2939110C}
EndGlobalSection
EndGlobal

@ -0,0 +1,13 @@
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/contentModel.xml
/projectSettingsUpdater.xml
/modules.xml
/.idea.TstTranslator.iml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
</project>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../../.." vcs="Git" />
</component>
</project>

@ -0,0 +1,3 @@
{
"CurrentProjectSetting": null
}

@ -0,0 +1,7 @@
{
"ExpandedNodes": [
""
],
"SelectedNode": "\\view",
"PreviewInSolutionExplorer": false
}

@ -0,0 +1,9 @@
<Application x:Class="TstTranslator.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:TstTranslator"
StartupUri="/view/MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>

@ -0,0 +1,11 @@
using System.Windows;
namespace TstTranslator
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
}
}

@ -0,0 +1,10 @@
using System.Windows;
[assembly: ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries)
)]

@ -0,0 +1 @@
[{"name":"将臣","message":"”cha“"},{"name":null,"message":"按照紫蝶的话,决定吹夜风。"},{"name":null,"message":"话虽如此,也不是没有目的的夜晚散步。"},{"name":"将臣","message":"“——呼。”"},{"name":null,"message":"一边笔直地挥下竹刀,一边吸引左脚。"},{"name":null,"message":"突然停住的竹刀。另外,笔直地举起,把吸引的左脚向后下降。"},{"name":"将臣","message":"“——呼。”"},{"name":null,"message":"然后再次挥动竹刀的同时,这次右脚下降。"},{"name":null,"message":"就这样一直保持着正面的姿态,脑子里却一直在想事情。"},{"name":"将臣","message":"“回去了……不回去了……回去了……不回去了。”"},{"name":null,"message":"每次挥下竹刀,都会说出那样的话。"},{"name":null,"message":"话虽如此,因为不是花占卜,所以也不是有确切的结束。"},{"name":null,"message":"一想到这一点,手臂的动作自然地变得缓慢了。"},{"name":"将臣","message":"“……嗯……”"},{"name":null,"message":"sbasbuiasb"},{"name":"将臣","message":"“结果,我想怎么做,就这样而已。”"},{"name":null,"message":"如果你想回到适合居住的街道就回去。"},{"name":null,"message":"也不是再也回不来了。祖父和廉太郎们也在。"},{"name":null,"message":"只要想来,马上就能再来。"},{"name":null,"message":"相反,如果你想在这里多待一会儿,那也就说出来就好了。"},{"name":null,"message":"也可以在旅馆和廉太郎家受到照顾吧。"},{"name":null,"message":"应该不会有那么讨厌的表情……大概吧。"},{"name":null,"message":"所以,只要给出答案……。"},{"name":"将臣","message":"“像这样烦恼的话……应该是想留下来吧。”"},{"name":null,"message":"为什么胸口不舒服呢?"},{"name":null,"message":"有什么东西卡住了,怎么也做不到,很恶心……。"},{"name":"将臣","message":"“不能断言留下来,这是最好的理由吧……?”"},{"name":"将臣","message":"“光是明白了这一点就值得挥动竹刀吗?”"},{"name":null,"message":"运动很好,差不多该回房间了吧。"},{"name":"将臣","message":"“……话说回来,里面还有灯。”"},{"name":null,"message":"也许连那样的事情都没注意到,视野变得狭窄了。"},{"name":"将臣","message":"“有人在吗?”"},{"name":null,"message":"进去一看,那里有一个意外的身影。"},{"name":null,"message":"以认真的表情跳舞的朝武先生的身姿。"},{"name":null,"message":"虽然是在舞蹈的供奉上看了好几次的样子,但是在这样的时间里看还是第一次呢。"},{"name":null,"message":"大部分都是在日落之前结束的。"},{"name":null,"message":"恐怕到现在为止都是考虑到在山上驱魔的吧。"},{"name":"将臣","message":"“……”"},{"name":null,"message":"没有注意到我的事吗,凛然的气氛不破坏继续飞舞的朝武先生。"},{"name":null,"message":"还是那么厉害的集中力啊。"},{"name":null,"message":"没有混乱的动作,已经渗透到身体里了。"},{"name":null,"message":"和确认每一个动作的我的样子完全不同。"},{"name":null,"message":"被那美丽所吸引……一见钟情。"},{"name":"将臣","message":"“(……这是你第几次看得入迷了?)”"},{"name":"将臣","message":"“(至今为止看过好几次的舞,现在也这样看得入迷了。)”"},{"name":"将臣","message":"“(……)”"},{"name":null,"message":"然后我一直静静地眺望着,直到朝武的舞蹈结束。"},{"name":"芳乃","message":"“……啊……”"},{"name":"将臣","message":"“辛苦了,朝武先生。”"},{"name":"芳乃","message":"“啊,啊,有地,你在干什么?连竹刀都拿着……”"},{"name":"芳乃","message":"“有可疑的人吗?”"},{"name":"将臣","message":"“不是的。我只是假装而已。随便借一下院内。”"},{"name":"芳乃","message":"“我想这也没关系……从这个时间开始?弄不好的话有地先生会被当成可疑的人哦?”"},{"name":"将臣","message":"“……也许确实如此。”"},{"name":"芳乃","message":"“嗯,我想晚上参拜的人应该没有……”"},{"name":"将臣","message":"“朝武才是。为什么要从这个时间开始跳舞?”"},{"name":"芳乃","message":"“那个……爸爸和茉子说今天可以休息。”"},{"name":"芳乃","message":"“虽然试着按照那句话休息了一下……但是怎么也静不下来。”"},{"name":null,"message":"那么长的时间里,每天都不缺吧。"},{"name":null,"message":"我的训练并没有那么熟悉身体。"},{"name":null,"message":"如果不烦恼的话,大概很高兴休息了吧。"}]

@ -0,0 +1,211 @@
[
{
"name": "将臣",
"message": "「………」"
},
{
"message": "ムラサメちゃんの言葉に従い、夜風に当たることにした。"
},
{
"message": "と言っても、あてのない夜の散歩というわけではない。"
},
{
"name": "将臣",
"message": "「――フッ」"
},
{
"message": "竹刀を真っ直ぐ振りおろしながら、左足を引き付ける。"
},
{
"message": "ピタリと止めた竹刀。また、真っ直ぐに振り上げ、引きつけた左足を後ろに下げた。"
},
{
"name": "将臣",
"message": "「――フッ」"
},
{
"message": "そして再び竹刀を振り下ろすのと同時に、今度は右足を下げる。"
},
{
"message": "こうして正面素振りを続けながらも、頭の中はずっと考え事をしたままだ。"
},
{
"name": "将臣",
"message": "「帰るっ……帰らないっ……帰るっ……帰らないっ」"
},
{
"message": "竹刀を振り下ろす度に、そんなことを口にする。"
},
{
"message": "とはいえ花占いじゃないんだから、きっちりした終わりがあるわけでもない。"
},
{
"message": "それを思うと、自然と腕の動きがゆっくりになっていった。"
},
{
"name": "将臣",
"message": "「……ふぅー……」"
},
{
"message": "別に、頭を悩ませるほどの事じゃない。"
},
{
"name": "将臣",
"message": "「結局、俺がどうしたいか、それだけなんだよな」"
},
{
"message": "住みやすい街に戻りたいなら戻ればいい。"
},
{
"message": "二度と戻って来れないわけでもない。祖父ちゃんや、廉太郎たちもいる。"
},
{
"message": "来たいと思えば、すぐにまた来られる。"
},
{
"message": "逆に、もう少しここにいたいのなら、それも言えばいいだけだ。"
},
{
"message": "旅館や、廉太郎の家にお世話になることもできるだろう。"
},
{
"message": "そんな嫌な顔はされないはずだ……多分。"
},
{
"message": "だから、答えを出してさえしまえば……。"
},
{
"name": "将臣",
"message": "「こんな風に悩むってことは……残りたいって思ってるってことだろうけど」"
},
{
"message": "胸がスッキリしないのはなんでだろう?"
},
{
"message": "何かがひっかかって、どうしようもなく気持ち悪い……。"
},
{
"name": "将臣",
"message": "「残るって言い切れないのは、それが一番の理由かな……?」"
},
{
"name": "将臣",
"message": "「それがわかっただけでも竹刀を振った価値があるかな」"
},
{
"message": "いい運動になったし、そろそろ部屋に戻ろうか。"
},
{
"name": "将臣",
"message": "「……っていうか、まだ奥に灯りが」"
},
{
"message": "そんなことにも気付かないぐらい、視野が狭まっていたのかもしれない。"
},
{
"name": "将臣",
"message": "「誰かいるのかな?」"
},
{
"message": "中に入ってみると、そこには意外な姿があった。"
},
{
"message": "真剣な表情で、舞を踊る朝武さんの姿。"
},
{
"message": "舞の奉納などで何度も見た姿ではあるけれど、こんな時間に見るのは初めてだな。"
},
{
"message": "大抵は日が沈む前に終わらせてしまう。"
},
{
"message": "おそらく、今までは山でのお祓いを考慮してだったんだろう。"
},
{
"name": "将臣",
"message": "「………」"
},
{
"message": "俺の事に気付いていないのか、凛とした雰囲気を崩すことなく舞い続ける朝武さん。"
},
{
"message": "相変わらず凄い集中力だよなぁ。"
},
{
"message": "乱れることのないその動きは、もはや身体にしみついた動き。"
},
{
"message": "一つ一つの動きを確認してる俺の素振りとは全然違う。"
},
{
"message": "その美しさに目を奪われるというか……見惚れてしまう。"
},
{
"name": "将臣",
"message": "「(……こうして見惚れるの、何度目だろう?)」"
},
{
"name": "将臣",
"message": "「(今までに何度も見たことある舞。なのに、今もこうして見惚れてしまう)」"
},
{
"name": "将臣",
"message": "「(………)」"
},
{
"message": "そうして俺は、朝武さんの舞が終わるまで、静かに眺め続けていた。"
},
{
"name": "芳乃",
"message": "「……はぁ……」"
},
{
"name": "将臣",
"message": "「お疲れ様、朝武さん」"
},
{
"name": "芳乃",
"message": "「え、あ、有地さん、何してるんですか? 竹刀まで持って……」"
},
{
"name": "芳乃",
"message": "「不審者でもいましたか?」"
},
{
"name": "将臣",
"message": "「違う違う。ちょっと素振りをしてたんだ。勝手に境内を借りて」"
},
{
"name": "芳乃",
"message": "「それは構わないと思いますが……こんな時間から? 下手したら有地さんが不審者にされますよ?」"
},
{
"name": "将臣",
"message": "「……確かにそうかも」"
},
{
"name": "芳乃",
"message": "「まあ、夜に参る人なんてそういないとは思いますが……」"
},
{
"name": "将臣",
"message": "「朝武さんこそ。どうしてこんな時間から舞を?」"
},
{
"name": "芳乃",
"message": "「それが……お父さんや茉子からは今日ぐらいは休んでいいんじゃないかと言われて」"
},
{
"name": "芳乃",
"message": "「その言葉に従って休んではみたものの……どうにもこうにも落ち着かなくて」"
},
{
"message": "それだけ長い間、欠かさずに毎日続けてたってことなんだろう。"
},
{
"message": "俺のトレーニングは、そこまで身体に馴染んだりはしてない。"
},
{
"message": "悩んでなかったら、多分喜んで休んでいただろう。"
}
]

@ -0,0 +1,74 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows10.0.19041.0</TargetFramework>
<Nullable>enable</Nullable>
<UseWPF>true</UseWPF>
<SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion>
<StartupObject>TstTranslator.App</StartupObject>
<ImplicitUsings>disable</ImplicitUsings>
<ApplicationManifest>app.manifest</ApplicationManifest>
<Platforms>AnyCPU;x64</Platforms>
<UseWindowsForms>True</UseWindowsForms>
</PropertyGroup>
<ItemGroup>
<Compile Remove="tools\IndexConverter.cs" />
<Compile Remove="tools\JsonGenerate.cs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.1" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="System.Drawing.Common" Version="7.0.0" />
<PackageReference Include="System.Speech" Version="7.0.0" />
</ItemGroup>
<ItemGroup>
<Folder Include="OutputFile\" />
<Folder Include="SourceFile\" />
</ItemGroup>
<ItemGroup>
<None Remove="C:\Users\82590\.nuget\packages\tesseract\5.2.0\build\\..\x64\leptonica-1.82.0.dll" />
</ItemGroup>
<ItemGroup>
<None Remove="C:\Users\82590\.nuget\packages\tesseract\5.2.0\build\\..\x64\tesseract50.dll" />
</ItemGroup>
<ItemGroup>
<None Remove="C:\Users\82590\.nuget\packages\tesseract\5.2.0\build\\..\x86\leptonica-1.82.0.dll" />
</ItemGroup>
<ItemGroup>
<None Remove="C:\Users\82590\.nuget\packages\tesseract\5.2.0\build\\..\x86\tesseract50.dll" />
</ItemGroup>
<ItemGroup>
<None Remove="C:\Users\82590\.nuget\packages\tesseract\5.2.0\build\\..\x86\leptonica-1.82.0.dll" />
</ItemGroup>
<ItemGroup>
<None Remove="C:\Users\82590\.nuget\packages\tesseract\5.2.0\build\\..\x86\tesseract50.dll" />
</ItemGroup>
<ItemGroup>
<None Remove="C:\Users\82590\.nuget\packages\tesseract\5.2.0\build\\..\x64\leptonica-1.82.0.dll" />
</ItemGroup>
<ItemGroup>
<None Remove="C:\Users\82590\.nuget\packages\tesseract\5.2.0\build\\..\x64\tesseract50.dll" />
</ItemGroup>
<ItemGroup>
<COMReference Include="{215d64d2-031c-33c7-96e3-61794cd1ee61}">
<WrapperTool>tlbimp</WrapperTool>
<VersionMinor>4</VersionMinor>
<VersionMajor>2</VersionMajor>
<Guid>215d64d2-031c-33c7-96e3-61794cd1ee61</Guid>
</COMReference>
</ItemGroup>
</Project>

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
<ItemGroup>
<Compile Update="view\ScreenshotWindow.xaml.cs">
<SubType>Code</SubType>
</Compile>
<Compile Update="view\TranslationSourceSelect.xaml.cs">
<SubType>Code</SubType>
</Compile>
<Compile Update="view\TranslationText.xaml.cs">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
<Page Update="view\ScreenshotWindow.xaml">
<SubType>Designer</SubType>
</Page>
<Page Update="view\TranslationSourceSelect.xaml">
<SubType>Designer</SubType>
</Page>
<Page Update="view\TranslationText.xaml">
<SubType>Designer</SubType>
</Page>
</ItemGroup>
</Project>

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="GetProcessName.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC 清单选项
如果想要更改 Windows 用户帐户控制级别,请使用
以下节点之一替换 requestedExecutionLevel 节点。
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
指定 requestedExecutionLevel 元素将禁用文件和注册表虚拟化。
如果你的应用程序需要此虚拟化来实现向后兼容性,则移除此
元素。
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- 设计此应用程序与其一起工作且已针对此应用程序进行测试的
Windows 版本的列表。取消评论适当的元素,
Windows 将自动选择最兼容的环境。 -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
</application>
</compatibility>
<!-- 指示该应用程序可感知 DPI 且 Windows 在 DPI 较高时将不会对其进行
自动缩放。Windows Presentation Foundation (WPF)应用程序自动感知 DPI无需
选择加入。选择加入此设置的 Windows 窗体应用程序(面向 .NET Framework 4.6)还应
在其 app.config 中将 "EnableWindowsFormsHighDpiAutoResizing" 设置设置为 "true"。
将应用程序设为感知长路径。请参阅 https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation -->
<!--
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
</windowsSettings>
</application>
-->
<!-- 启用 Windows 公共控件和对话框的主题(Windows XP 和更高版本) -->
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
-->
</assembly>

@ -0,0 +1,143 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v6.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"WpfApp2/1.0.0": {
"dependencies": {
"Newtonsoft.Json": "13.0.3",
"System.Runtime.WindowsRuntime": "4.7.0",
"Tesseract": "5.2.0",
"Tesseract.Drawing": "5.2.0"
},
"runtime": {
"WpfApp2.dll": {}
}
},
"Microsoft.NETCore.Platforms/3.1.0": {},
"Microsoft.Win32.SystemEvents/6.0.0": {},
"Newtonsoft.Json/13.0.3": {
"runtime": {
"lib/net6.0/Newtonsoft.Json.dll": {
"assemblyVersion": "13.0.0.0",
"fileVersion": "13.0.3.27908"
}
}
},
"System.Drawing.Common/6.0.0": {
"dependencies": {
"Microsoft.Win32.SystemEvents": "6.0.0"
}
},
"System.Reflection.Emit/4.7.0": {},
"System.Runtime.WindowsRuntime/4.7.0": {
"dependencies": {
"Microsoft.NETCore.Platforms": "3.1.0"
},
"runtime": {
"lib/netstandard2.0/System.Runtime.WindowsRuntime.dll": {
"assemblyVersion": "4.0.15.0",
"fileVersion": "4.700.19.56404"
}
},
"runtimeTargets": {
"runtimes/win/lib/netcoreapp3.0/System.Runtime.WindowsRuntime.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "4.0.15.0",
"fileVersion": "4.700.19.56404"
}
}
},
"Tesseract/5.2.0": {
"dependencies": {
"System.Reflection.Emit": "4.7.0"
},
"runtime": {
"lib/netstandard2.0/Tesseract.dll": {
"assemblyVersion": "5.2.0.0",
"fileVersion": "5.2.0.0"
}
}
},
"Tesseract.Drawing/5.2.0": {
"dependencies": {
"System.Drawing.Common": "6.0.0",
"Tesseract": "5.2.0"
},
"runtime": {
"lib/netstandard2.0/Tesseract.Drawing.dll": {
"assemblyVersion": "5.2.0.0",
"fileVersion": "5.2.0.0"
}
}
}
}
},
"libraries": {
"WpfApp2/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.NETCore.Platforms/3.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-z7aeg8oHln2CuNulfhiLYxCVMPEwBl3rzicjvIX+4sUuCwvXw5oXQEtbiU2c0z4qYL5L3Kmx0mMA/+t/SbY67w==",
"path": "microsoft.netcore.platforms/3.1.0",
"hashPath": "microsoft.netcore.platforms.3.1.0.nupkg.sha512"
},
"Microsoft.Win32.SystemEvents/6.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-hqTM5628jSsQiv+HGpiq3WKBl2c8v1KZfby2J6Pr7pEPlK9waPdgEO6b8A/+/xn/yZ9ulv8HuqK71ONy2tg67A==",
"path": "microsoft.win32.systemevents/6.0.0",
"hashPath": "microsoft.win32.systemevents.6.0.0.nupkg.sha512"
},
"Newtonsoft.Json/13.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
"path": "newtonsoft.json/13.0.3",
"hashPath": "newtonsoft.json.13.0.3.nupkg.sha512"
},
"System.Drawing.Common/6.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-NfuoKUiP2nUWwKZN6twGqXioIe1zVD0RIj2t976A+czLHr2nY454RwwXs6JU9Htc6mwqL6Dn/nEL3dpVf2jOhg==",
"path": "system.drawing.common/6.0.0",
"hashPath": "system.drawing.common.6.0.0.nupkg.sha512"
},
"System.Reflection.Emit/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-VR4kk8XLKebQ4MZuKuIni/7oh+QGFmZW3qORd1GvBq/8026OpW501SzT/oypwiQl4TvT8ErnReh/NzY9u+C6wQ==",
"path": "system.reflection.emit/4.7.0",
"hashPath": "system.reflection.emit.4.7.0.nupkg.sha512"
},
"System.Runtime.WindowsRuntime/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-RQxUkf37fp7MSWbOfKRjUjyudyfZb2u79YY5i1s+d7vuD80A7kmr2YfefO0JprQUhanxSm8bhXigCVfX2kEh+w==",
"path": "system.runtime.windowsruntime/4.7.0",
"hashPath": "system.runtime.windowsruntime.4.7.0.nupkg.sha512"
},
"Tesseract/5.2.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YB7feJlrTWSXtK8+WaCcseGSPK/1r2d2FWeKGyndlrPwYClrzTlCoHD4/oQEUjKafmpkWlhTZZ7pxiRJYZgj6w==",
"path": "tesseract/5.2.0",
"hashPath": "tesseract.5.2.0.nupkg.sha512"
},
"Tesseract.Drawing/5.2.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ORuub0AagnAGPjdhO8qNxI6Z+2dXUmqWFy6qSjQ+Wr56SxQiV2jNvGM9Tpluvd7F5vwJeqXEWQnzFvGL6iHfjA==",
"path": "tesseract.drawing/5.2.0",
"hashPath": "tesseract.drawing.5.2.0.nupkg.sha512"
}
}
}

@ -0,0 +1,15 @@
{
"runtimeOptions": {
"tfm": "net6.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "6.0.0"
},
{
"name": "Microsoft.WindowsDesktop.App",
"version": "6.0.0"
}
]
}
}

@ -0,0 +1,125 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v6.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"SssTranslator/1.0.0": {
"dependencies": {
"CommunityToolkit.Mvvm": "8.2.1",
"Newtonsoft.Json": "13.0.3",
"System.Drawing.Common": "7.0.0",
"runtimepack.Microsoft.Windows.SDK.NET.Ref": "10.0.19041.29"
},
"runtime": {
"SssTranslator.dll": {}
}
},
"runtimepack.Microsoft.Windows.SDK.NET.Ref/10.0.19041.29": {
"runtime": {
"Microsoft.Windows.SDK.NET.dll": {
"assemblyVersion": "10.0.19041.24",
"fileVersion": "10.0.19041.29"
},
"WinRT.Runtime.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.0.3.42921"
}
}
},
"CommunityToolkit.Mvvm/8.2.1": {
"runtime": {
"lib/net6.0/CommunityToolkit.Mvvm.dll": {
"assemblyVersion": "8.2.0.0",
"fileVersion": "8.2.1.1"
}
}
},
"Microsoft.Win32.SystemEvents/7.0.0": {
"runtime": {
"lib/net6.0/Microsoft.Win32.SystemEvents.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
},
"runtimeTargets": {
"runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"Newtonsoft.Json/13.0.3": {
"runtime": {
"lib/net6.0/Newtonsoft.Json.dll": {
"assemblyVersion": "13.0.0.0",
"fileVersion": "13.0.3.27908"
}
}
},
"System.Drawing.Common/7.0.0": {
"dependencies": {
"Microsoft.Win32.SystemEvents": "7.0.0"
},
"runtime": {
"lib/net6.0/System.Drawing.Common.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
},
"runtimeTargets": {
"runtimes/win/lib/net6.0/System.Drawing.Common.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
}
}
},
"libraries": {
"SssTranslator/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"runtimepack.Microsoft.Windows.SDK.NET.Ref/10.0.19041.29": {
"type": "runtimepack",
"serviceable": false,
"sha512": ""
},
"CommunityToolkit.Mvvm/8.2.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-I24ofWVEdplxYjUez9/bljv/qb8r8Ccj6cvYXHexNBegLaD3iDy3QrzAAOYVMmfGWIXxlU1ZtECQNfU07+6hXQ==",
"path": "communitytoolkit.mvvm/8.2.1",
"hashPath": "communitytoolkit.mvvm.8.2.1.nupkg.sha512"
},
"Microsoft.Win32.SystemEvents/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-2nXPrhdAyAzir0gLl8Yy8S5Mnm/uBSQQA7jEsILOS1MTyS7DbmV1NgViMtvV1sfCD1ebITpNwb1NIinKeJgUVQ==",
"path": "microsoft.win32.systemevents/7.0.0",
"hashPath": "microsoft.win32.systemevents.7.0.0.nupkg.sha512"
},
"Newtonsoft.Json/13.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
"path": "newtonsoft.json/13.0.3",
"hashPath": "newtonsoft.json.13.0.3.nupkg.sha512"
},
"System.Drawing.Common/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-KIX+oBU38pxkKPxvLcLfIkOV5Ien8ReN78wro7OF5/erwcmortzeFx+iBswlh2Vz6gVne0khocQudGwaO1Ey6A==",
"path": "system.drawing.common/7.0.0",
"hashPath": "system.drawing.common.7.0.0.nupkg.sha512"
}
}
}

@ -0,0 +1,15 @@
{
"runtimeOptions": {
"tfm": "net6.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "6.0.0"
},
{
"name": "Microsoft.WindowsDesktop.App",
"version": "6.0.0"
}
]
}
}

@ -0,0 +1,149 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v6.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"TstTranslator/1.0.0": {
"dependencies": {
"CommunityToolkit.Mvvm": "8.2.1",
"Newtonsoft.Json": "13.0.3",
"System.Drawing.Common": "7.0.0",
"System.Speech": "7.0.0",
"runtimepack.Microsoft.Windows.SDK.NET.Ref": "10.0.19041.29"
},
"runtime": {
"TstTranslator.dll": {}
}
},
"runtimepack.Microsoft.Windows.SDK.NET.Ref/10.0.19041.29": {
"runtime": {
"Microsoft.Windows.SDK.NET.dll": {
"assemblyVersion": "10.0.19041.24",
"fileVersion": "10.0.19041.29"
},
"WinRT.Runtime.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.0.3.42921"
}
}
},
"CommunityToolkit.Mvvm/8.2.1": {
"runtime": {
"lib/net6.0/CommunityToolkit.Mvvm.dll": {
"assemblyVersion": "8.2.0.0",
"fileVersion": "8.2.1.1"
}
}
},
"Microsoft.Win32.SystemEvents/7.0.0": {
"runtime": {
"lib/net6.0/Microsoft.Win32.SystemEvents.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
},
"runtimeTargets": {
"runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"Newtonsoft.Json/13.0.3": {
"runtime": {
"lib/net6.0/Newtonsoft.Json.dll": {
"assemblyVersion": "13.0.0.0",
"fileVersion": "13.0.3.27908"
}
}
},
"System.Drawing.Common/7.0.0": {
"dependencies": {
"Microsoft.Win32.SystemEvents": "7.0.0"
},
"runtime": {
"lib/net6.0/System.Drawing.Common.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
},
"runtimeTargets": {
"runtimes/win/lib/net6.0/System.Drawing.Common.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"System.Speech/7.0.0": {
"runtime": {
"lib/net6.0/System.Speech.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "7.0.22.51805"
}
},
"runtimeTargets": {
"runtimes/win/lib/net6.0/System.Speech.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "4.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
}
}
},
"libraries": {
"TstTranslator/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"runtimepack.Microsoft.Windows.SDK.NET.Ref/10.0.19041.29": {
"type": "runtimepack",
"serviceable": false,
"sha512": ""
},
"CommunityToolkit.Mvvm/8.2.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-I24ofWVEdplxYjUez9/bljv/qb8r8Ccj6cvYXHexNBegLaD3iDy3QrzAAOYVMmfGWIXxlU1ZtECQNfU07+6hXQ==",
"path": "communitytoolkit.mvvm/8.2.1",
"hashPath": "communitytoolkit.mvvm.8.2.1.nupkg.sha512"
},
"Microsoft.Win32.SystemEvents/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-2nXPrhdAyAzir0gLl8Yy8S5Mnm/uBSQQA7jEsILOS1MTyS7DbmV1NgViMtvV1sfCD1ebITpNwb1NIinKeJgUVQ==",
"path": "microsoft.win32.systemevents/7.0.0",
"hashPath": "microsoft.win32.systemevents.7.0.0.nupkg.sha512"
},
"Newtonsoft.Json/13.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
"path": "newtonsoft.json/13.0.3",
"hashPath": "newtonsoft.json.13.0.3.nupkg.sha512"
},
"System.Drawing.Common/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-KIX+oBU38pxkKPxvLcLfIkOV5Ien8ReN78wro7OF5/erwcmortzeFx+iBswlh2Vz6gVne0khocQudGwaO1Ey6A==",
"path": "system.drawing.common/7.0.0",
"hashPath": "system.drawing.common.7.0.0.nupkg.sha512"
},
"System.Speech/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7E0uB92Cx2sXR67HW9rMKJqDACdLuz9t3I3OwZUFDzAgwKXWuY6CYeRT/NiypHcyZO2be9+0H0w0M6fn7HQtgQ==",
"path": "system.speech/7.0.0",
"hashPath": "system.speech.7.0.0.nupkg.sha512"
}
}
}

@ -0,0 +1,15 @@
{
"runtimeOptions": {
"tfm": "net6.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "6.0.0"
},
{
"name": "Microsoft.WindowsDesktop.App",
"version": "6.0.0"
}
]
}
}

@ -0,0 +1,125 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v6.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"WpfApp2/1.0.0": {
"dependencies": {
"CommunityToolkit.Mvvm": "8.2.1",
"Newtonsoft.Json": "13.0.3",
"System.Drawing.Common": "7.0.0",
"runtimepack.Microsoft.Windows.SDK.NET.Ref": "10.0.19041.29"
},
"runtime": {
"WpfApp2.dll": {}
}
},
"runtimepack.Microsoft.Windows.SDK.NET.Ref/10.0.19041.29": {
"runtime": {
"Microsoft.Windows.SDK.NET.dll": {
"assemblyVersion": "10.0.19041.24",
"fileVersion": "10.0.19041.29"
},
"WinRT.Runtime.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.0.3.42921"
}
}
},
"CommunityToolkit.Mvvm/8.2.1": {
"runtime": {
"lib/net6.0/CommunityToolkit.Mvvm.dll": {
"assemblyVersion": "8.2.0.0",
"fileVersion": "8.2.1.1"
}
}
},
"Microsoft.Win32.SystemEvents/7.0.0": {
"runtime": {
"lib/net6.0/Microsoft.Win32.SystemEvents.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
},
"runtimeTargets": {
"runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"Newtonsoft.Json/13.0.3": {
"runtime": {
"lib/net6.0/Newtonsoft.Json.dll": {
"assemblyVersion": "13.0.0.0",
"fileVersion": "13.0.3.27908"
}
}
},
"System.Drawing.Common/7.0.0": {
"dependencies": {
"Microsoft.Win32.SystemEvents": "7.0.0"
},
"runtime": {
"lib/net6.0/System.Drawing.Common.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
},
"runtimeTargets": {
"runtimes/win/lib/net6.0/System.Drawing.Common.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
}
}
},
"libraries": {
"WpfApp2/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"runtimepack.Microsoft.Windows.SDK.NET.Ref/10.0.19041.29": {
"type": "runtimepack",
"serviceable": false,
"sha512": ""
},
"CommunityToolkit.Mvvm/8.2.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-I24ofWVEdplxYjUez9/bljv/qb8r8Ccj6cvYXHexNBegLaD3iDy3QrzAAOYVMmfGWIXxlU1ZtECQNfU07+6hXQ==",
"path": "communitytoolkit.mvvm/8.2.1",
"hashPath": "communitytoolkit.mvvm.8.2.1.nupkg.sha512"
},
"Microsoft.Win32.SystemEvents/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-2nXPrhdAyAzir0gLl8Yy8S5Mnm/uBSQQA7jEsILOS1MTyS7DbmV1NgViMtvV1sfCD1ebITpNwb1NIinKeJgUVQ==",
"path": "microsoft.win32.systemevents/7.0.0",
"hashPath": "microsoft.win32.systemevents.7.0.0.nupkg.sha512"
},
"Newtonsoft.Json/13.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
"path": "newtonsoft.json/13.0.3",
"hashPath": "newtonsoft.json.13.0.3.nupkg.sha512"
},
"System.Drawing.Common/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-KIX+oBU38pxkKPxvLcLfIkOV5Ien8ReN78wro7OF5/erwcmortzeFx+iBswlh2Vz6gVne0khocQudGwaO1Ey6A==",
"path": "system.drawing.common/7.0.0",
"hashPath": "system.drawing.common.7.0.0.nupkg.sha512"
}
}
}

@ -0,0 +1,15 @@
{
"runtimeOptions": {
"tfm": "net6.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "6.0.0"
},
{
"name": "Microsoft.WindowsDesktop.App",
"version": "6.0.0"
}
]
}
}

@ -0,0 +1 @@
[{"name":"将臣","message":"“……”"},{"name":null,"message":"按照紫蝶的话,决定吹夜风。"},{"name":null,"message":"话虽如此,也不是没有目的的夜晚散步。"},{"name":"将臣","message":"“——呼。”"},{"name":null,"message":"一边笔直地挥下竹刀,一边吸引左脚。"},{"name":null,"message":"突然停住的竹刀。另外,笔直地举起,把吸引的左脚向后下降。"},{"name":"将臣","message":"“——呼。”"},{"name":null,"message":"然后再次挥动竹刀的同时,这次右脚下降。"},{"name":null,"message":"就这样一直保持着正面的姿态,脑子里却一直在想事情。"},{"name":"将臣","message":"“回去了……不回去了……回去了……不回去了。”"},{"name":null,"message":"每次挥下竹刀,都会说出那样的话。"},{"name":null,"message":"话虽如此,因为不是花占卜,所以也不是有确切的结束。"},{"name":null,"message":"一想到这一点,手臂的动作自然地变得缓慢了。"},{"name":"将臣","message":"“……嗯……”"},{"name":null,"message":"并不是什么让人烦恼的事。"},{"name":"将臣","message":"“结果,我想怎么做,就这样而已。”"},{"name":null,"message":"如果你想回到适合居住的街道就回去。"},{"name":null,"message":"也不是再也回不来了。祖父和廉太郎们也在。"},{"name":null,"message":"只要想来,马上就能再来。"},{"name":null,"message":"相反,如果你想在这里多待一会儿,那也就说出来就好了。"},{"name":null,"message":"也可以在旅馆和廉太郎家受到照顾吧。"},{"name":null,"message":"应该不会有那么讨厌的表情……大概吧。"},{"name":null,"message":"所以,只要给出答案……。"},{"name":"将臣","message":"“像这样烦恼的话……应该是想留下来吧。”"},{"name":null,"message":"为什么胸口不舒服呢?"},{"name":null,"message":"有什么东西卡住了,怎么也做不到,很恶心……。"},{"name":"将臣","message":"“不能断言留下来,这是最好的理由吧……?”"},{"name":"将臣","message":"“光是明白了这一点就值得挥动竹刀吗?”"},{"name":null,"message":"运动很好,差不多该回房间了吧。"},{"name":"将臣","message":"“……话说回来,里面还有灯。”"},{"name":null,"message":"也许连那样的事情都没注意到,视野变得狭窄了。"},{"name":"将臣","message":"“有人在吗?”"},{"name":null,"message":"进去一看,那里有一个意外的身影。"},{"name":null,"message":"以认真的表情跳舞的朝武先生的身姿。"},{"name":null,"message":"虽然是在舞蹈的供奉上看了好几次的样子,但是在这样的时间里看还是第一次呢。"},{"name":null,"message":"大部分都是在日落之前结束的。"},{"name":null,"message":"恐怕到现在为止都是考虑到在山上驱魔的吧。"},{"name":"将臣","message":"“……”"},{"name":null,"message":"没有注意到我的事吗,凛然的气氛不破坏继续飞舞的朝武先生。"},{"name":null,"message":"还是那么厉害的集中力啊。"},{"name":null,"message":"没有混乱的动作,已经渗透到身体里了。"},{"name":null,"message":"和确认每一个动作的我的样子完全不同。"},{"name":null,"message":"被那美丽所吸引……一见钟情。"},{"name":"将臣","message":"“(……这是你第几次看得入迷了?)”"},{"name":"将臣","message":"“(至今为止看过好几次的舞,现在也这样看得入迷了。)”"},{"name":"将臣","message":"“(……)”"},{"name":null,"message":"然后我一直静静地眺望着,直到朝武的舞蹈结束。"},{"name":"芳乃","message":"“……啊……”"},{"name":"将臣","message":"“辛苦了,朝武先生。”"},{"name":"芳乃","message":"“啊,啊,有地,你在干什么?连竹刀都拿着……”"},{"name":"芳乃","message":"“有可疑的人吗?”"},{"name":"将臣","message":"“不是的。我只是假装而已。随便借一下院内。”"},{"name":"芳乃","message":"“我想这也没关系……从这个时间开始?弄不好的话有地先生会被当成可疑的人哦?”"},{"name":"将臣","message":"“……也许确实如此。”"},{"name":"芳乃","message":"“嗯,我想晚上参拜的人应该没有……”"},{"name":"将臣","message":"“朝武才是。为什么要从这个时间开始跳舞?”"},{"name":"芳乃","message":"“那个……爸爸和茉子说今天可以休息。”"},{"name":"芳乃","message":"“虽然试着按照那句话休息了一下……但是怎么也静不下来。”"},{"name":null,"message":"那么长的时间里,每天都不缺吧。"},{"name":null,"message":"我的训练并没有那么熟悉身体。"},{"name":null,"message":"如果不烦恼的话,大概很高兴休息了吧。"}]

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save