using System.ComponentModel; using System.Globalization; using System.Resources; using System.Runtime.CompilerServices; namespace XP.Camera.Calibration; /// /// 本地化字符串包装类 /// 使用 XP.Common.Resources.Resources 获取本地化字符串 /// public class CalibrationLocalizedStrings : INotifyPropertyChanged { private static readonly ResourceManager _resourceManager = new( "XP.Common.Resources.Resources", typeof(XP.Common.Resources.Resources).Assembly); public event PropertyChangedEventHandler? PropertyChanged; protected void OnPropertyChanged([CallerMemberName] string? propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } private string GetString(string key) { return _resourceManager.GetString(key, CultureInfo.CurrentUICulture) ?? key; } // 九点标定 public string CalibrationToolTitle => GetString("CalibrationToolTitle"); public string CalibrationLoadImage => GetString("CalibrationLoadImage"); public string CalibrationLoadCsv => GetString("CalibrationLoadCsv"); public string CalibrationExecute => GetString("CalibrationExecute"); public string CalibrationSave => GetString("CalibrationSave"); public string CalibrationLoad => GetString("CalibrationLoad"); public string CalibrationShowWorld => GetString("CalibrationShowWorld"); public string CalibrationPointList => GetString("CalibrationPointList"); public string CalibrationPixelX => GetString("CalibrationPixelX"); public string CalibrationPixelY => GetString("CalibrationPixelY"); public string CalibrationWorldX => GetString("CalibrationWorldX"); public string CalibrationWorldY => GetString("CalibrationWorldY"); public string CalibrationStatusReady => GetString("CalibrationStatusReady"); public string CalibrationStatusImageLoaded => GetString("CalibrationStatusImageLoaded"); public string CalibrationStatusCsvLoaded => GetString("CalibrationStatusCsvLoaded"); public string CalibrationStatusSuccess => GetString("CalibrationStatusSuccess"); public string CalibrationStatusFailed => GetString("CalibrationStatusFailed"); public string CalibrationStatusSaved => GetString("CalibrationStatusSaved"); public string CalibrationStatusLoaded => GetString("CalibrationStatusLoaded"); public string CalibrationCoordinates => GetString("CalibrationCoordinates"); public string CalibrationErrorMinPoints => GetString("CalibrationErrorMinPoints"); public string CalibrationSuccessTitle => GetString("CalibrationSuccessTitle"); public string CalibrationSuccessMessage => GetString("CalibrationSuccessMessage"); public string CalibrationSaveSuccess => GetString("CalibrationSaveSuccess"); public string CalibrationLoadSuccess => GetString("CalibrationLoadSuccess"); public string CalibrationLoadFailed => GetString("CalibrationLoadFailed"); // 棋盘格标定 public string ChessboardToolTitle => GetString("ChessboardToolTitle"); public string ChessboardAddImages => GetString("ChessboardAddImages"); public string ChessboardClearImages => GetString("ChessboardClearImages"); public string ChessboardCalibrate => GetString("ChessboardCalibrate"); public string ChessboardSave => GetString("ChessboardSave"); public string ChessboardLoad => GetString("ChessboardLoad"); public string ChessboardUndistort => GetString("ChessboardUndistort"); public string ChessboardParameters => GetString("ChessboardParameters"); public string ChessboardWidth => GetString("ChessboardWidth"); public string ChessboardHeight => GetString("ChessboardHeight"); public string ChessboardSquareSize => GetString("ChessboardSquareSize"); public string ChessboardImageList => GetString("ChessboardImageList"); public string ChessboardStatusInfo => GetString("ChessboardStatusInfo"); public string ChessboardStatusReady => GetString("ChessboardStatusReady"); public string ChessboardStatusAdded => GetString("ChessboardStatusAdded"); public string ChessboardStatusCleared => GetString("ChessboardStatusCleared"); public string ChessboardStatusCalibrating => GetString("ChessboardStatusCalibrating"); public string ChessboardStatusSuccess => GetString("ChessboardStatusSuccess"); public string ChessboardStatusFailed => GetString("ChessboardStatusFailed"); public string ChessboardStatusSaved => GetString("ChessboardStatusSaved"); public string ChessboardStatusLoaded => GetString("ChessboardStatusLoaded"); public string ChessboardStatusUndistorted => GetString("ChessboardStatusUndistorted"); public string ChessboardStatusImageError => GetString("ChessboardStatusImageError"); public string ChessboardProgressPreparing => GetString("ChessboardProgressPreparing"); public string ChessboardProgressDetecting => GetString("ChessboardProgressDetecting"); public string ChessboardProgressCalibrating => GetString("ChessboardProgressCalibrating"); public string ChessboardProgressCalculating => GetString("ChessboardProgressCalculating"); public string ChessboardProgressComplete => GetString("ChessboardProgressComplete"); public string ChessboardProgressFailed => GetString("ChessboardProgressFailed"); public string ChessboardErrorMinImages => GetString("ChessboardErrorMinImages"); public string ChessboardErrorInsufficientValid => GetString("ChessboardErrorInsufficientValid"); public string ChessboardSaveSuccess => GetString("ChessboardSaveSuccess"); public string ChessboardLoadSuccess => GetString("ChessboardLoadSuccess"); public string ChessboardCalibrationComplete => GetString("ChessboardCalibrationComplete"); public string ChessboardImageError => GetString("ChessboardImageError"); }