Compare commits
4 Commits
a131ed10f9
...
master
Author | SHA1 | Date | |
---|---|---|---|
e723e939d7 | |||
0630eb312a | |||
d2b2f2e708 | |||
51840754e2 |
@@ -1,3 +1,3 @@
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
[assembly: AssemblyVersion("0.0.10")]
|
[assembly: AssemblyVersion("0.0.11")]
|
||||||
|
@@ -58,6 +58,7 @@ namespace Cryville.EEW.Unity {
|
|||||||
[JsonDerivedType(typeof(CWAOpenDataEventSourceConfig), "CWAOpenData")]
|
[JsonDerivedType(typeof(CWAOpenDataEventSourceConfig), "CWAOpenData")]
|
||||||
[JsonDerivedType(typeof(EMSCRealTimeEventSourceConfig), "EMSCRealTime")]
|
[JsonDerivedType(typeof(EMSCRealTimeEventSourceConfig), "EMSCRealTime")]
|
||||||
[JsonDerivedType(typeof(FANStudioEventSourceConfig), "FANStudio")]
|
[JsonDerivedType(typeof(FANStudioEventSourceConfig), "FANStudio")]
|
||||||
|
[JsonDerivedType(typeof(FANStudioAllEventSourceConfig), "FANStudioAll")]
|
||||||
[JsonDerivedType(typeof(GeoNetEventSourceConfig), "GeoNet")]
|
[JsonDerivedType(typeof(GeoNetEventSourceConfig), "GeoNet")]
|
||||||
[JsonDerivedType(typeof(GlobalQuakeServerEventSourceConfig), "GlobalQuakeServer")]
|
[JsonDerivedType(typeof(GlobalQuakeServerEventSourceConfig), "GlobalQuakeServer")]
|
||||||
[JsonDerivedType(typeof(GlobalQuakeServer15EventSourceConfig), "GlobalQuakeServer15")]
|
[JsonDerivedType(typeof(GlobalQuakeServer15EventSourceConfig), "GlobalQuakeServer15")]
|
||||||
@@ -71,6 +72,7 @@ namespace Cryville.EEW.Unity {
|
|||||||
record CWAOpenDataEventSourceConfig([property: JsonRequired] string Subtype, [property: JsonRequired] string Token) : EventSourceConfig;
|
record CWAOpenDataEventSourceConfig([property: JsonRequired] string Subtype, [property: JsonRequired] string Token) : EventSourceConfig;
|
||||||
record EMSCRealTimeEventSourceConfig() : EventSourceConfig;
|
record EMSCRealTimeEventSourceConfig() : EventSourceConfig;
|
||||||
record FANStudioEventSourceConfig([property: JsonRequired] string Subtype) : EventSourceConfig;
|
record FANStudioEventSourceConfig([property: JsonRequired] string Subtype) : EventSourceConfig;
|
||||||
|
record FANStudioAllEventSourceConfig(IReadOnlyCollection<string> Filter = null, bool IsFilterWhitelist = false) : EventSourceConfig;
|
||||||
record GeoNetEventSourceConfig(int MinimumMMI = 3, bool DoGetFullHistory = false, bool DoGetStrongMotionInfo = true) : EventSourceConfig;
|
record GeoNetEventSourceConfig(int MinimumMMI = 3, bool DoGetFullHistory = false, bool DoGetStrongMotionInfo = true) : EventSourceConfig;
|
||||||
record GlobalQuakeServerEventSourceConfig([property: JsonRequired] string Host, int Port = 38000) : EventSourceConfig;
|
record GlobalQuakeServerEventSourceConfig([property: JsonRequired] string Host, int Port = 38000) : EventSourceConfig;
|
||||||
record GlobalQuakeServer15EventSourceConfig(string Host, int Port = 38000) : GlobalQuakeServerEventSourceConfig(Host, Port);
|
record GlobalQuakeServer15EventSourceConfig(string Host, int Port = 38000) : GlobalQuakeServerEventSourceConfig(Host, Port);
|
||||||
|
@@ -130,9 +130,11 @@ namespace Cryville.EEW.Unity.Map {
|
|||||||
}
|
}
|
||||||
|
|
||||||
readonly ContextedGeneratorManager<IMapGeneratorContext, MapElement> _gen = new(new IContextedGenerator<IMapGeneratorContext, MapElement>[] {
|
readonly ContextedGeneratorManager<IMapGeneratorContext, MapElement> _gen = new(new IContextedGenerator<IMapGeneratorContext, MapElement>[] {
|
||||||
|
new BeijingEarthquakeMapGenerator(),
|
||||||
new BMKGEarthquakeMapGenerator(),
|
new BMKGEarthquakeMapGenerator(),
|
||||||
new CEAEEWMapGenerator(),
|
new CEAEEWMapGenerator(),
|
||||||
new CENCEarthquakeMapGenerator(),
|
new FANStudio.Map.CENCEarthquakeMapGenerator(),
|
||||||
|
new Wolfx.Map.CENCEarthquakeMapGenerator(),
|
||||||
new CENCEEWMapGenerator(),
|
new CENCEEWMapGenerator(),
|
||||||
new CWAEarthquakeMapGenerator(),
|
new CWAEarthquakeMapGenerator(),
|
||||||
new CWAEEWMapGenerator(),
|
new CWAEEWMapGenerator(),
|
||||||
@@ -144,10 +146,13 @@ namespace Cryville.EEW.Unity.Map {
|
|||||||
new GeoNetQuakeMapGenerator(),
|
new GeoNetQuakeMapGenerator(),
|
||||||
new GeoNetStrongMapGenerator(),
|
new GeoNetStrongMapGenerator(),
|
||||||
new GlobalQuakeMapViewGenerator(),
|
new GlobalQuakeMapViewGenerator(),
|
||||||
|
new HKOEarthquakeMapGenerator(),
|
||||||
new ICLEEWMapGenerator(),
|
new ICLEEWMapGenerator(),
|
||||||
new JMAAtomMapGenerator(),
|
new JMAAtomMapGenerator(),
|
||||||
new JMAEEWMapGenerator(),
|
new JMAEEWMapGenerator(),
|
||||||
|
new NingxiaEarthquakeMapGenerator(),
|
||||||
new NOAAMapGenerator(),
|
new NOAAMapGenerator(),
|
||||||
|
new ShakeAlertEEWMapGenerator(),
|
||||||
new FANStudio.Map.SichuanEEWMapGenerator(),
|
new FANStudio.Map.SichuanEEWMapGenerator(),
|
||||||
new Wolfx.Map.SichuanEEWMapGenerator(),
|
new Wolfx.Map.SichuanEEWMapGenerator(),
|
||||||
new QuakeMLEventMapGenerator(),
|
new QuakeMLEventMapGenerator(),
|
||||||
|
@@ -1,8 +1,6 @@
|
|||||||
using SpeechLib;
|
using SpeechLib;
|
||||||
using System;
|
using System;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Threading;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Cryville.EEW.Unity {
|
namespace Cryville.EEW.Unity {
|
||||||
class TTSWorker : Core.Audio.TTSWorker {
|
class TTSWorker : Core.Audio.TTSWorker {
|
||||||
@@ -33,15 +31,14 @@ namespace Cryville.EEW.Unity {
|
|||||||
return (status.dwRunningState & (uint)SpeechRunState.SRSEIsSpeaking) != 0;
|
return (status.dwRunningState & (uint)SpeechRunState.SRSEIsSpeaking) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override Task Speak(CultureInfo culture, string content, CancellationToken cancellationToken) {
|
protected override void BeginSpeak(CultureInfo culture, string content) {
|
||||||
if (_voice == null) return Task.CompletedTask;
|
if (_voice == null) return;
|
||||||
_voice.Speak(
|
_voice.Speak(
|
||||||
string.Format(CultureInfo.InvariantCulture, "<LANG LANGID=\"{0:x}\">{1}</LANG>", culture.LCID, content),
|
string.Format(CultureInfo.InvariantCulture, "<LANG LANGID=\"{0:x}\">{1}</LANG>", culture.LCID, content),
|
||||||
(uint)(SpeechVoiceSpeakFlags.SVSFlagsAsync | SpeechVoiceSpeakFlags.SVSFPurgeBeforeSpeak),
|
(uint)(SpeechVoiceSpeakFlags.SVSFlagsAsync | SpeechVoiceSpeakFlags.SVSFPurgeBeforeSpeak),
|
||||||
out _
|
out _
|
||||||
);
|
);
|
||||||
App.MainLogger.Log(0, "Audio", null, "TTS ({0}): {1}", culture, content);
|
App.MainLogger.Log(0, "Audio", null, "TTS ({0}): {1}", culture, content);
|
||||||
return Task.CompletedTask;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void StopCurrent() {
|
protected override void StopCurrent() {
|
||||||
|
@@ -107,11 +107,13 @@ namespace Cryville.EEW.Unity {
|
|||||||
_ongoingReportManager.Dispose();
|
_ongoingReportManager.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
CENCEarthquakeRVMGenerator _cencEarthquakeRVMGenerator;
|
Wolfx.CENCEarthquakeRVMGenerator _cencEarthquakeRVMGenerator;
|
||||||
void RegisterViewModelGenerators(CoreWorker worker) {
|
void RegisterViewModelGenerators(CoreWorker worker) {
|
||||||
|
worker.RegisterViewModelGenerator(new BeijingEarthquakeRVMGenerator());
|
||||||
worker.RegisterViewModelGenerator(new BMKGEarthquakeRVMGenerator());
|
worker.RegisterViewModelGenerator(new BMKGEarthquakeRVMGenerator());
|
||||||
worker.RegisterViewModelGenerator(new CEAEEWRVMGenerator());
|
worker.RegisterViewModelGenerator(new CEAEEWRVMGenerator());
|
||||||
worker.RegisterViewModelGenerator(_cencEarthquakeRVMGenerator = new CENCEarthquakeRVMGenerator());
|
worker.RegisterViewModelGenerator(new FANStudio.CENCEarthquakeRVMGenerator());
|
||||||
|
worker.RegisterViewModelGenerator(_cencEarthquakeRVMGenerator = new());
|
||||||
worker.RegisterViewModelGenerator(new CENCEEWRVMGenerator());
|
worker.RegisterViewModelGenerator(new CENCEEWRVMGenerator());
|
||||||
worker.RegisterViewModelGenerator(new CWAEarthquakeRVMGenerator());
|
worker.RegisterViewModelGenerator(new CWAEarthquakeRVMGenerator());
|
||||||
worker.RegisterViewModelGenerator(new CWAEEWRVMGenerator());
|
worker.RegisterViewModelGenerator(new CWAEEWRVMGenerator());
|
||||||
@@ -123,23 +125,28 @@ namespace Cryville.EEW.Unity {
|
|||||||
worker.RegisterViewModelGenerator(new GeoNetQuakeRVMGenerator());
|
worker.RegisterViewModelGenerator(new GeoNetQuakeRVMGenerator());
|
||||||
worker.RegisterViewModelGenerator(new GeoNetStrongRVMGenerator());
|
worker.RegisterViewModelGenerator(new GeoNetStrongRVMGenerator());
|
||||||
worker.RegisterViewModelGenerator(new GlobalQuakeRVMGenerator());
|
worker.RegisterViewModelGenerator(new GlobalQuakeRVMGenerator());
|
||||||
|
worker.RegisterViewModelGenerator(new HKOEarthquakeRVMGenerator());
|
||||||
worker.RegisterViewModelGenerator(new ICLEEWRVMGenerator());
|
worker.RegisterViewModelGenerator(new ICLEEWRVMGenerator());
|
||||||
worker.RegisterViewModelGenerator(new JMAAtomRVMGenerator());
|
worker.RegisterViewModelGenerator(new JMAAtomRVMGenerator());
|
||||||
worker.RegisterViewModelGenerator(new JMAEEWRVMGenerator());
|
worker.RegisterViewModelGenerator(new JMAEEWRVMGenerator());
|
||||||
|
worker.RegisterViewModelGenerator(new NingxiaEarthquakeRVMGenerator());
|
||||||
worker.RegisterViewModelGenerator(new NOAAAtomRVMGenerator());
|
worker.RegisterViewModelGenerator(new NOAAAtomRVMGenerator());
|
||||||
var quakemlEventRVMGenerator = new QuakeMLEventRVMGenerator();
|
var quakemlEventRVMGenerator = new QuakeMLEventRVMGenerator();
|
||||||
quakemlEventRVMGenerator.AddExtension(new USGSQuakeMLExtension());
|
quakemlEventRVMGenerator.AddExtension(new USGSQuakeMLExtension());
|
||||||
worker.RegisterViewModelGenerator(quakemlEventRVMGenerator);
|
worker.RegisterViewModelGenerator(quakemlEventRVMGenerator);
|
||||||
|
worker.RegisterViewModelGenerator(new ShakeAlertEEWRVMGenerator());
|
||||||
worker.RegisterViewModelGenerator(new FANStudio.SichuanEEWRVMGenerator());
|
worker.RegisterViewModelGenerator(new FANStudio.SichuanEEWRVMGenerator());
|
||||||
worker.RegisterViewModelGenerator(new Wolfx.SichuanEEWRVMGenerator());
|
worker.RegisterViewModelGenerator(new Wolfx.SichuanEEWRVMGenerator());
|
||||||
worker.RegisterViewModelGenerator(new USGSContoursRVMGenerator());
|
worker.RegisterViewModelGenerator(new USGSContoursRVMGenerator());
|
||||||
worker.RegisterViewModelGenerator(new VersionRVMGenerator());
|
worker.RegisterViewModelGenerator(new VersionRVMGenerator());
|
||||||
}
|
}
|
||||||
CENCEarthquakeTTSMessageGenerator _cencEarthquakeTTSMessageGenerator;
|
Wolfx.TTS.CENCEarthquakeTTSMessageGenerator _cencEarthquakeTTSMessageGenerator;
|
||||||
void RegisterTTSMessageGenerators(CoreWorker worker) {
|
void RegisterTTSMessageGenerators(CoreWorker worker) {
|
||||||
|
worker.RegisterTTSMessageGenerator(new BeijingEarthquakeTTSMessageGenerator());
|
||||||
worker.RegisterTTSMessageGenerator(new BMKGEarthquakeTTSMessageGenerator());
|
worker.RegisterTTSMessageGenerator(new BMKGEarthquakeTTSMessageGenerator());
|
||||||
worker.RegisterTTSMessageGenerator(new CEAEEWTTSMessageGenerator());
|
worker.RegisterTTSMessageGenerator(new CEAEEWTTSMessageGenerator());
|
||||||
worker.RegisterTTSMessageGenerator(_cencEarthquakeTTSMessageGenerator = new CENCEarthquakeTTSMessageGenerator());
|
worker.RegisterTTSMessageGenerator(new FANStudio.TTS.CENCEarthquakeTTSMessageGenerator());
|
||||||
|
worker.RegisterTTSMessageGenerator(_cencEarthquakeTTSMessageGenerator = new());
|
||||||
worker.RegisterTTSMessageGenerator(new CENCEEWTTSMessageGenerator());
|
worker.RegisterTTSMessageGenerator(new CENCEEWTTSMessageGenerator());
|
||||||
worker.RegisterTTSMessageGenerator(new CWAEarthquakeTTSMessageGenerator());
|
worker.RegisterTTSMessageGenerator(new CWAEarthquakeTTSMessageGenerator());
|
||||||
worker.RegisterTTSMessageGenerator(new CWAEEWTTSMessageGenerator());
|
worker.RegisterTTSMessageGenerator(new CWAEEWTTSMessageGenerator());
|
||||||
@@ -149,10 +156,13 @@ namespace Cryville.EEW.Unity {
|
|||||||
worker.RegisterTTSMessageGenerator(new GeoNetQuakeHistoryTTSMessageGenerator());
|
worker.RegisterTTSMessageGenerator(new GeoNetQuakeHistoryTTSMessageGenerator());
|
||||||
worker.RegisterTTSMessageGenerator(new GeoNetQuakeTTSMessageGenerator());
|
worker.RegisterTTSMessageGenerator(new GeoNetQuakeTTSMessageGenerator());
|
||||||
worker.RegisterTTSMessageGenerator(new GeoNetStrongTTSMessageGenerator());
|
worker.RegisterTTSMessageGenerator(new GeoNetStrongTTSMessageGenerator());
|
||||||
|
worker.RegisterTTSMessageGenerator(new HKOEarthquakeTTSMessageGenerator());
|
||||||
worker.RegisterTTSMessageGenerator(new ICLEEWTTSMessageGenerator());
|
worker.RegisterTTSMessageGenerator(new ICLEEWTTSMessageGenerator());
|
||||||
worker.RegisterTTSMessageGenerator(new JMAAtomTTSMessageGenerator());
|
worker.RegisterTTSMessageGenerator(new JMAAtomTTSMessageGenerator());
|
||||||
worker.RegisterTTSMessageGenerator(new JMAEEWTTSMessageGenerator());
|
worker.RegisterTTSMessageGenerator(new JMAEEWTTSMessageGenerator());
|
||||||
|
worker.RegisterTTSMessageGenerator(new NingxiaEarthquakeTTSMessageGenerator());
|
||||||
worker.RegisterTTSMessageGenerator(new NOAATTSMessageGenerator());
|
worker.RegisterTTSMessageGenerator(new NOAATTSMessageGenerator());
|
||||||
|
worker.RegisterTTSMessageGenerator(new ShakeAlertEEWTTSMessageGenerator());
|
||||||
worker.RegisterTTSMessageGenerator(new FANStudio.TTS.SichuanEEWTTSMessageGenerator());
|
worker.RegisterTTSMessageGenerator(new FANStudio.TTS.SichuanEEWTTSMessageGenerator());
|
||||||
worker.RegisterTTSMessageGenerator(new Wolfx.TTS.SichuanEEWTTSMessageGenerator());
|
worker.RegisterTTSMessageGenerator(new Wolfx.TTS.SichuanEEWTTSMessageGenerator());
|
||||||
}
|
}
|
||||||
@@ -184,11 +194,17 @@ namespace Cryville.EEW.Unity {
|
|||||||
},
|
},
|
||||||
EMSCRealTimeEventSourceConfig => new EMSCRealTimeWorker(new("wss://www.seismicportal.eu/standing_order/websocket")),
|
EMSCRealTimeEventSourceConfig => new EMSCRealTimeWorker(new("wss://www.seismicportal.eu/standing_order/websocket")),
|
||||||
FANStudioEventSourceConfig fanStudio => fanStudio.Subtype switch {
|
FANStudioEventSourceConfig fanStudio => fanStudio.Subtype switch {
|
||||||
|
"cenc" => new FANStudioWorker<FANStudio.Model.CENCEarthquake>(new("wss://ws.fanstudio.tech/cenc")),
|
||||||
"cea" => new FANStudioWorker<FANStudio.Model.CEAEEW>(new("wss://ws.fanstudio.tech/cea")),
|
"cea" => new FANStudioWorker<FANStudio.Model.CEAEEW>(new("wss://ws.fanstudio.tech/cea")),
|
||||||
"sichuan" => new FANStudioWorker<FANStudio.Model.SichuanEEW>(new("wss://ws.fanstudio.tech/sichuan")),
|
"sichuan" => new FANStudioWorker<FANStudio.Model.SichuanEEW>(new("wss://ws.fanstudio.tech/sichuan")),
|
||||||
|
"ningxia" => new FANStudioWorker<FANStudio.Model.NingxiaEarthquake>(new("wss://ws.fanstudio.tech/ningxia")),
|
||||||
"fujian" => new FANStudioWorker<FANStudio.Model.FujianEEW>(new("wss://ws.fanstudio.tech/fujian")),
|
"fujian" => new FANStudioWorker<FANStudio.Model.FujianEEW>(new("wss://ws.fanstudio.tech/fujian")),
|
||||||
|
"beijing" => new FANStudioWorker<FANStudio.Model.BeijingEarthquake>(new("wss://ws.fanstudio.tech/beijing")),
|
||||||
|
"hko" => new FANStudioWorker<FANStudio.Model.HKOEarthquake>(new("wss://ws.fanstudio.tech/hko")),
|
||||||
|
"sa" => new FANStudioWorker<FANStudio.Model.ShakeAlertEEW>(new("wss://ws.fanstudio.tech/hko")),
|
||||||
_ => throw new InvalidOperationException("Unknown FAN Studio sub-type."),
|
_ => throw new InvalidOperationException("Unknown FAN Studio sub-type."),
|
||||||
},
|
},
|
||||||
|
FANStudioAllEventSourceConfig fanStudioAll => BuildFANStudioAllWorkerFilter(new FANStudioAllWorker(new("wss://ws.fanstudio.tech/all")), fanStudioAll),
|
||||||
GeoNetEventSourceConfig geoNet => BuildGeoNetWorker(new(new("https://api.geonet.org.nz/quake"), new("https://api.geonet.org.nz/quake/history/index"), new("https://api.geonet.org.nz/intensity/strong/processed/index")), geoNet),
|
GeoNetEventSourceConfig geoNet => BuildGeoNetWorker(new(new("https://api.geonet.org.nz/quake"), new("https://api.geonet.org.nz/quake/history/index"), new("https://api.geonet.org.nz/intensity/strong/processed/index")), geoNet),
|
||||||
GlobalQuakeServer15EventSourceConfig gq => new GlobalQuakeWorker15(gq.Host, gq.Port),
|
GlobalQuakeServer15EventSourceConfig gq => new GlobalQuakeWorker15(gq.Host, gq.Port),
|
||||||
GlobalQuakeServerEventSourceConfig gq => new GlobalQuakeWorker(gq.Host, gq.Port),
|
GlobalQuakeServerEventSourceConfig gq => new GlobalQuakeWorker(gq.Host, gq.Port),
|
||||||
@@ -232,6 +248,11 @@ namespace Cryville.EEW.Unity {
|
|||||||
|
|
||||||
return worker;
|
return worker;
|
||||||
}
|
}
|
||||||
|
FANStudioAllWorker BuildFANStudioAllWorkerFilter(FANStudioAllWorker worker, FANStudioAllEventSourceConfig config) {
|
||||||
|
if (config.Filter != null) worker.SetFilter(config.Filter);
|
||||||
|
worker.IsFilterWhitelist = config.IsFilterWhitelist;
|
||||||
|
return worker;
|
||||||
|
}
|
||||||
static BMKGOpenDataWorker BuildBMKGOpenDataWorkerUris(BMKGOpenDataWorker worker, BMKGOpenDataEventSourceConfig config) {
|
static BMKGOpenDataWorker BuildBMKGOpenDataWorkerUris(BMKGOpenDataWorker worker, BMKGOpenDataEventSourceConfig config) {
|
||||||
worker.SetDataUris(config.Subtypes.Select(i => new Uri(string.Format(CultureInfo.InvariantCulture, "https://data.bmkg.go.id/DataMKG/TEWS/{0}.json", i))));
|
worker.SetDataUris(config.Subtypes.Select(i => new Uri(string.Format(CultureInfo.InvariantCulture, "https://data.bmkg.go.id/DataMKG/TEWS/{0}.json", i))));
|
||||||
return worker;
|
return worker;
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -7,6 +7,7 @@
|
|||||||
"Serial": "#{0}",
|
"Serial": "#{0}",
|
||||||
"SerialCancel": "取消",
|
"SerialCancel": "取消",
|
||||||
"SerialFinal": "#{0}終",
|
"SerialFinal": "#{0}終",
|
||||||
|
"SoundPlayerError": "効果音プレーヤーでエラー",
|
||||||
"TTSError": "エラーのため音声合成が動作を停止しました",
|
"TTSError": "エラーのため音声合成が動作を停止しました",
|
||||||
"UnknownLocation": "地域不明",
|
"UnknownLocation": "地域不明",
|
||||||
"WorkerConnected": "{0} に接続しました",
|
"WorkerConnected": "{0} に接続しました",
|
||||||
|
@@ -7,6 +7,7 @@
|
|||||||
"Serial": "#{0}",
|
"Serial": "#{0}",
|
||||||
"SerialCancel": "Cancel",
|
"SerialCancel": "Cancel",
|
||||||
"SerialFinal": "#{0} (Fin.)",
|
"SerialFinal": "#{0} (Fin.)",
|
||||||
|
"SoundPlayerError": "Error in sound player",
|
||||||
"TTSError": "TTS stopped working due to an error",
|
"TTSError": "TTS stopped working due to an error",
|
||||||
"UnknownLocation": "unknown location",
|
"UnknownLocation": "unknown location",
|
||||||
"WorkerConnected": "Connected to {0}",
|
"WorkerConnected": "Connected to {0}",
|
||||||
|
@@ -7,6 +7,7 @@
|
|||||||
"Serial": "#{0}",
|
"Serial": "#{0}",
|
||||||
"SerialCancel": "取消",
|
"SerialCancel": "取消",
|
||||||
"SerialFinal": "#{0}終",
|
"SerialFinal": "#{0}終",
|
||||||
|
"SoundPlayerError": "音效播放器發生錯誤",
|
||||||
"TTSError": "語音合成因錯誤停止工作",
|
"TTSError": "語音合成因錯誤停止工作",
|
||||||
"UnknownLocation": "不明位置",
|
"UnknownLocation": "不明位置",
|
||||||
"WorkerConnected": "已連接到 {0}",
|
"WorkerConnected": "已連接到 {0}",
|
||||||
|
@@ -7,6 +7,7 @@
|
|||||||
"Serial": "#{0}",
|
"Serial": "#{0}",
|
||||||
"SerialCancel": "取消",
|
"SerialCancel": "取消",
|
||||||
"SerialFinal": "#{0}終",
|
"SerialFinal": "#{0}終",
|
||||||
|
"SoundPlayerError": "音效播放器發生錯誤",
|
||||||
"TTSError": "語音合成因錯誤停止工作",
|
"TTSError": "語音合成因錯誤停止工作",
|
||||||
"UnknownLocation": "不明位置",
|
"UnknownLocation": "不明位置",
|
||||||
"WorkerConnected": "已連接到 {0}",
|
"WorkerConnected": "已連接到 {0}",
|
||||||
|
@@ -7,6 +7,7 @@
|
|||||||
"Serial": "#{0}",
|
"Serial": "#{0}",
|
||||||
"SerialCancel": "取消",
|
"SerialCancel": "取消",
|
||||||
"SerialFinal": "#{0}终",
|
"SerialFinal": "#{0}终",
|
||||||
|
"SoundPlayerError": "音效播放器发生错误",
|
||||||
"TTSError": "语音合成因错误停止工作",
|
"TTSError": "语音合成因错误停止工作",
|
||||||
"UnknownLocation": "不明位置",
|
"UnknownLocation": "不明位置",
|
||||||
"WorkerConnected": "已连接到 {0}",
|
"WorkerConnected": "已连接到 {0}",
|
||||||
|
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 326d510a187a2034da07d89f42260a86
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"Culture": "en-US",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "Earthquake information. At {0}, a magnitude {2:F1} earthquake occurred in {1}. Hypocenter depth {3} kilometers.",
|
||||||
|
"Title": "Earthquake information"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6ccedf009b6e57543bb8ed5abb4d7857
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"Culture": "zh-CN",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "地震信息。{0},{1}发生震级{2:F1}级地震。震源深度{3}千米。",
|
||||||
|
"Title": "地震信息"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f8ffa43a00777f441a615ec35c10774a
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"Culture": "yue-HK",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "地震資訊。{0},{1}發生震級{2:F1}級地震。震源深度{3}公里。",
|
||||||
|
"Title": "地震資訊"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: fe6d81c7f5c44184391895278c88fff5
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"Culture": "zh-TW",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "地震資訊。{0},{1}發生規模{2:F1}級地震。震源深度{3}公里。",
|
||||||
|
"Title": "地震資訊"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ba447e445f2c522489ed2bdf06f7b84b
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 18bae5785df3b2444aca0a1e001efd44
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"Culture": "en-US",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "Earthquake information. {4}. At {0}, a magnitude {2:F1} earthquake occurred in {1}. Hypocenter depth {3} kilometers.",
|
||||||
|
"Title": "Earthquake information",
|
||||||
|
"TypeAutomatic": "Automatic",
|
||||||
|
"TypeReviewed": "Reviewed"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bf933cd26fe0f9e47b544be1e81ef710
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"Culture": "zh-CN",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "地震信息。{4}。{0},{1}发生震级{2:F1}级地震。震源深度{3}千米。",
|
||||||
|
"Title": "地震信息",
|
||||||
|
"TypeAutomatic": "自动测定",
|
||||||
|
"TypeReviewed": "正式测定"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ad55ac2e31274754e99706be31d5d047
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"Culture": "yue-HK",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "地震資訊。{4}。{0},{1}發生震級{2:F1}級地震。震源深度{3}公里。",
|
||||||
|
"Title": "地震資訊",
|
||||||
|
"TypeAutomatic": "自動測定",
|
||||||
|
"TypeReviewed": "正式測定"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0eb5e678c0982ce40b26c21492a5e38b
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"Culture": "zh-TW",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "地震資訊。{4}。{0},{1}發生規模{2:F1}級地震。震源深度{3}公里。",
|
||||||
|
"Title": "地震資訊",
|
||||||
|
"TypeAutomatic": "自動測定",
|
||||||
|
"TypeReviewed": "正式測定"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ecd3b43f9d8c9c1429a62f5e4ba6f8db
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 19b1bdcf6c8c4334cb4bf4d219a832c3
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"Culture": "en-US",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "Earthquake information. At {0}, a magnitude {2} earthquake occurred in {1}. Hypocenter depth {3} kilometers.",
|
||||||
|
"Title": "Earthquake information"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6687000ed6d0a5444a71cfeb3d9ea20d
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"Culture": "zh-HK",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "地震資訊。{0},{1}發生震級{2}級地震。震源深度{3}公里。",
|
||||||
|
"Title": "地震資訊"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 10d8cdb0c6f25104d8e5a0a374dcd0cf
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"Culture": "yue-HK",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "地震資訊。{0},{1}發生震級{2}級地震。震源深度{3}公里。",
|
||||||
|
"Title": "地震資訊"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 054ae254e733dbb4d841718778a24f25
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"Culture": "zh-CN",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "地震信息。{0},{1}发生震级{2}级地震。震源深度{3}千米。",
|
||||||
|
"Title": "地震信息"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4dc84c565a7adde45876b7c350d5775d
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"Culture": "zh-TW",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "地震資訊。{0},{1}發生規模{2}級地震。震源深度{3}公里。",
|
||||||
|
"Title": "地震資訊"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a4a76f43297b3bc47b476758928af960
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 63a7db38762e18d4d852d499725bc752
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"Culture": "en-US",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "Earthquake information. At {0}, a magnitude {2:F1} earthquake occurred in {1}. Hypocenter depth {3} kilometers.",
|
||||||
|
"Title": "Earthquake information"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 32035ed8aab8f9847b33ceda71a2c72e
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"Culture": "zh-CN",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "地震信息。{0},{1}发生震级{2:F1}级地震。震源深度{3}千米。",
|
||||||
|
"Title": "地震信息"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 32538ca3ccbbfe346bfc3dde369c44b0
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"Culture": "yue-HK",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "地震資訊。{0},{1}發生震級{2:F1}級地震。震源深度{3}公里。",
|
||||||
|
"Title": "地震資訊"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 25c9ee499f1cff94692ad1b4509e03bb
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"Culture": "zh-TW",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "地震資訊。{0},{1}發生規模{2:F1}級地震。震源深度{3}公里。",
|
||||||
|
"Title": "地震資訊"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 23f81cbd9c4cf9444af4c6b7e40497e6
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a242d32a85898284fa0ad18302aeb022
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"Culture": "en-US",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "Earthquake in {0}. Magnitude {1}.",
|
||||||
|
"Title": "Earthquake warning. "
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6b67922384dfd4847b9a6068bccd8d04
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"Culture": "yue-HK",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "{0}發生震級{1}級地震。",
|
||||||
|
"Title": "地震預警。"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 23176d4b1abd1c24483668f71090a93d
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"Culture": "zh-TW",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "{0}發生規模{1}級地震。",
|
||||||
|
"Title": "地震預警。"
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ba88627f853f12f47b3129e1582d0a61
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"Culture": "zh-CN",
|
||||||
|
"Strings": {
|
||||||
|
"Body": "{0}发生震级{1}级地震。",
|
||||||
|
"Title": "地震预警。"
|
||||||
|
}
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user