diff --git a/VRCFaceTracking/Strings/en/Resources.resw b/VRCFaceTracking/Strings/en/Resources.resw index cec5ae0a..d1119459 100644 --- a/VRCFaceTracking/Strings/en/Resources.resw +++ b/VRCFaceTracking/Strings/en/Resources.resw @@ -320,4 +320,109 @@ Auto Start when SteamVR is launched + + Heighten the influence your expressions make on calibration temporarily + + + Calibrate + + + Calibrate + + + Toggles whether or not calibration is enabled + + + Calibration Enabled + + + Controls how much of an influence your facial expressions have on overall calibration over time + + + Calibration Influence + + + Slowly calibrates to your facial expressions over time + + + Continuous Calibration + + + Contributions + + + Credits + + + Dismiss + + + Force VRCFT to unload and reinitialize all modules + + + Force Re-Initialize + + + Forces sending of all parameters every frame by forcing relevancy + + + Force Relevancy + + + Gremlin Mode + + + Install + + + Install Module from *.zip + + + No changes required to run VRChat localhost + + + IP Address + + + Please Restart VRCFT + + + Re-Initialize + + + This port is used to receive OSC data from VRChat + + + Receive Port + + + Reset + + + Reset all data stored by VRCFT in your AppData folder + + + Reset VRCFT + + + Reset all VRChat OSC config data (will be regenerated when avatar is reloaded) + + + Reset VRChat Configs + + + ⚠no other program occupying the port + + + Send Port + + + Uninstall + + + Update + + + Your Rating + \ No newline at end of file diff --git a/VRCFaceTracking/Strings/zh-cn/Resources.resw b/VRCFaceTracking/Strings/zh-cn/Resources.resw index b5d8c741..c828ec16 100644 --- a/VRCFaceTracking/Strings/zh-cn/Resources.resw +++ b/VRCFaceTracking/Strings/zh-cn/Resources.resw @@ -195,7 +195,7 @@ 作者 - 模型状态 + Avatar状态 © 2023 VRCFaceTracking。版权所有。 @@ -239,7 +239,7 @@ m/s 传出 - + 没有安装模块 @@ -272,7 +272,157 @@ OSC 数据应该发送到哪里? - + + 当SteamVR启动时自动启动 + + + 自动启动 + + + 一键提高你的表情对表达式的强度 + + + 校准 + + + 提升! + + + 微调追踪数据 + + + 校准设置 + + + 用于切换是否启用校准 + + + 开启校准 + + + 调整至合适你的强度 + + + 校准影响强度 + + + 随着时间的推移,它会慢慢适应你的面部表情 + + + 连续校准 + + + 次贡献 + + + 是他们让这一切变成可能😘 + + + 贡献者 + + + 忽略 + + + 强制 VRCFT 卸载并重新初始化所有模块 + + + 强制重新初始化 + + + 通过强制相关性,强制每帧发送所有参数 + + + 强制关联 + + + 高危模式 + + + 安装 + + + 从*.zip压缩包安装模块 + + + 在本地运行VRChat无需更改 + + + IP地址 + + + 已检测到本地测试Avatar + + + OSC并不支持本地测试Avatar,可能会出大问题... + + + 在这里安装一些模块! + + 您似乎没有安装任何模块。 + + 打开本地模块位置 + + + OSC地址 + + + 我们注意到您在VRChat中的OSC设置是关闭状态,我们已帮你打开啦。如果此时游戏处于打开状态,您可能需要在菜单中手动启用它。如果没有打开游戏,那么您应该可以正常使用了! + + + 自定义OSC设置 + + + 请重启VRCFT + + + 重新初始化 + + + 该端口用于接收VRChat发送的OSC数据 + + + 接收端口 + + + 重置 + + + 重置 VRCFT 在 %AppData% 文件夹中存储的所有文件 + + + 重置 VRCFT 的所有配置 + + + 重置所有 VRChat Avatar 的 OSC 配置文件(重新加载Avatar时将自动生成新的,不删除不会更新) + + + 删除 VRChat 的OSC配置文件 + + + 这是一堆非常危险的设置,不到万不得已不建议动它... + + + 高危设置 + + + 请确保没有其他程序占用该端口 + + + 发送端口 + + + 主题设置 + + + 卸载 + + + 更新 + + + 你给予的星星 + \ No newline at end of file diff --git a/VRCFaceTracking/Views/ModuleRegistryDetailControl.xaml.cs b/VRCFaceTracking/Views/ModuleRegistryDetailControl.xaml.cs index 7d377329..d189196c 100644 --- a/VRCFaceTracking/Views/ModuleRegistryDetailControl.xaml.cs +++ b/VRCFaceTracking/Views/ModuleRegistryDetailControl.xaml.cs @@ -4,6 +4,7 @@ using VRCFaceTracking.Core.Models; using VRCFaceTracking.Core.Services; using VRCFaceTracking.ViewModels; +using Windows.ApplicationModel.Resources; namespace VRCFaceTracking.Views; @@ -19,6 +20,7 @@ public InstallableTrackingModule? ListDetailsMenuItem private readonly ModuleInstaller _moduleInstaller; private readonly ILibManager _libManager; private readonly MainViewModel _mainViewModel; + private static readonly ResourceLoader _loader = ResourceLoader.GetForViewIndependentUse("Resources"); public static readonly DependencyProperty ListDetailsMenuItemProperty = DependencyProperty.Register("ListDetailsMenuItem", typeof(TrackingModuleMetadata), typeof(ModuleRegistryDetailControl), new PropertyMetadata(null, OnListDetailsMenuItemPropertyChanged)); @@ -44,16 +46,16 @@ private static async void OnListDetailsMenuItemPropertyChanged(DependencyObject switch (control.ListDetailsMenuItem!.InstallationState) { case InstallState.NotInstalled: - control.InstallButton.Content = "Install"; + control.InstallButton.Content = _loader.GetString("install"); break; case InstallState.Installed: - control.InstallButton.Content = "Uninstall"; + control.InstallButton.Content = _loader.GetString("Uninstall"); break; case InstallState.Outdated: - control.InstallButton.Content = "Update"; + control.InstallButton.Content = _loader.GetString("Update"); break; case InstallState.AwaitingRestart: - control.InstallButton.Content = "Please Restart VRCFT"; + control.InstallButton.Content = _loader.GetString("PleaseRestartVRCFT"); control.InstallButton.IsEnabled = false; break; } @@ -64,7 +66,7 @@ private static async void OnListDetailsMenuItemPropertyChanged(DependencyObject { control.RatingControl.PlaceholderValue = rating; control.RatingControl.Value = rating; - control.RatingControl.Caption = "Your Rating"; + control.RatingControl.Caption = _loader.GetString("YourRating"); } else // Otherwise, set the rating control to the average rating. { @@ -92,7 +94,7 @@ private async void Install_Click(object sender, RoutedEventArgs e) await _moduleDataService.IncrementDownloadsAsync(ListDetailsMenuItem!); ListDetailsMenuItem!.Downloads++; _libManager.Initialize(); - InstallButton.Content = "Uninstall"; + InstallButton.Content = _loader.GetString("Uninstall"); InstallButton.IsEnabled = true; _mainViewModel.NoModulesInstalled = false; } @@ -100,7 +102,7 @@ private async void Install_Click(object sender, RoutedEventArgs e) } case InstallState.Installed: { - InstallButton.Content = "Please Restart VRCFT"; + InstallButton.Content = _loader.GetString("PleaseRestartVRCFT"); InstallButton.IsEnabled = false; _libManager.TeardownAllAndResetAsync(); _moduleInstaller.MarkModuleForDeletion(ListDetailsMenuItem!); @@ -113,7 +115,7 @@ private async void Install_Click(object sender, RoutedEventArgs e) private async void RatingControl_OnValueChanged(RatingControl sender, object args) { - RatingControl.Caption = "Your Rating"; + RatingControl.Caption = _loader.GetString("YourRating"); await _moduleDataService.SetMyRatingAsync(ListDetailsMenuItem!, (int)RatingControl.Value); } diff --git a/VRCFaceTracking/Views/ModuleRegistryPage.xaml b/VRCFaceTracking/Views/ModuleRegistryPage.xaml index 99600d63..a5c60e60 100644 --- a/VRCFaceTracking/Views/ModuleRegistryPage.xaml +++ b/VRCFaceTracking/Views/ModuleRegistryPage.xaml @@ -87,7 +87,7 @@ - + diff --git a/VRCFaceTracking/Views/SettingsPage.xaml b/VRCFaceTracking/Views/SettingsPage.xaml index 6c0edcdb..1f27c238 100644 --- a/VRCFaceTracking/Views/SettingsPage.xaml +++ b/VRCFaceTracking/Views/SettingsPage.xaml @@ -37,9 +37,9 @@ - - - + + + @@ -56,7 +56,7 @@ + x:Uid="Calibration_Enabled"> + x:Uid="Continuous_Calibration"> -