<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:s="clr-namespace:System;assembly=mscorlib">
    <!-- 菜单 -->
    <s:String x:Key="Str_File">File</s:String>
    <s:String x:Key="Str_Tool">Tools</s:String>
    <s:String x:Key="Str_Download">Download</s:String>
    <s:String x:Key="Str_Help">Help</s:String>
    <s:String x:Key="Str_Diagnostics">Diagnostics Info</s:String>
    <s:String x:Key="Str_Abount">About</s:String>
    <s:String x:Key="Str_Experiment">Experimental Features</s:String>

    <s:String x:Key="Str_Open">Open...</s:String>
    <s:String x:Key="Str_OpenWorkspace">Open Workspace...</s:String>
    <s:String x:Key="Str_SaveWorkspace">Save Workspace...</s:String>
    <s:String x:Key="Str_Preference">Preferences</s:String>
    <s:String x:Key="Str_PreferenceWithDots">Preferences...</s:String>
    <s:String x:Key="Str_Exit">Exit</s:String>

    <!-- 标签页 -->
    <s:String x:Key="Str_Explorer">Explorer</s:String>
    <s:String x:Key="Str_SpineObject">Model</s:String>
    <s:String x:Key="Str_Canvas">Canvas</s:String>

    <!-- 浏览标签页 -->
    <s:String x:Key="Str_Filter">Filter</s:String>
    <s:String x:Key="Str_ChangeCurrentDirectoryTooltip">Open Directory</s:String>
    <s:String x:Key="Str_RefreshItemsTooltip">Refresh Items</s:String>
    <s:String x:Key="Str_FileDirectory">File Directory</s:String>
    <s:String x:Key="Str_FileName">File Name</s:String>
    <s:String x:Key="Str_AddSelectedItems">Import Selected Items</s:String>
    <s:String x:Key="Str_GeneratePreviewForSelected">Generate Preview for Selected</s:String>
    <s:String x:Key="Str_DeletePreviewsForSelected">Delete Previews for Selected</s:String>

    <!-- 模型列表 -->
    <s:String x:Key="Str_Name">Name</s:String>
    <s:String x:Key="Str_Show">Show</s:String>
    <s:String x:Key="Str_ListViewStatusBar">{0} items, {1} selected</s:String>
    <s:String x:Key="Str_AddSpineObject">Add...</s:String>
    <s:String x:Key="Str_OpenSkelFileTitle">Select Skeleton File (skel)</s:String>
    <s:String x:Key="Str_OpenAtlasFileTitle">Select Atlas File (atlas)</s:String>
    <s:String x:Key="Str_AddSpineObjectFromClipboard">Add from Clipboard</s:String>
    <s:String x:Key="Str_RemoveSpineObject">Remove</s:String>
    <s:String x:Key="Str_RemoveAllSpineObject">Remove All</s:String>
    <s:String x:Key="Str_Reload">Reload</s:String>
    <s:String x:Key="Str_MoveUpSpineObject">Move Up</s:String>
    <s:String x:Key="Str_MoveDownSpineObject">Move Down</s:String>
    <s:String x:Key="Str_SpineObjectConfig">Model Config</s:String>
    <s:String x:Key="Str_CopySpineObjectConfig">Copy Config</s:String>
    <s:String x:Key="Str_CopySpineObjectSkinConfig">Copy Parameters (Skin Only)</s:String>
    <s:String x:Key="Str_CopySpineObjectSlotAttachmentConfig">Copy Parameters (Slot Attachments Only)</s:String>
    <s:String x:Key="Str_CopySpineObjectSlotVisibilityConfig">Copy Parameters (Slot Visibility Only)</s:String>
    <s:String x:Key="Str_ApplySpineObjectConfig">Apply Config</s:String>
    <s:String x:Key="Str_SaveSpineObjectConfigToFile">Save Config to File...</s:String>
    <s:String x:Key="Str_ApplySpineObjectConfigFromFile">Apply Config from File...</s:String>
    <s:String x:Key="Str_Export">Export</s:String>
    <s:String x:Key="Str_ExportFrame">Export Frame...</s:String>
    <s:String x:Key="Str_ExportFrameSequence">Export Frame Sequence...</s:String>
    <s:String x:Key="Str_ExportVideo">Export Animation/Video...</s:String>
    <s:String x:Key="Str_ExportCustom">Custom Export...</s:String>

    <!-- 模型参数面板 -->
    <s:String x:Key="Str_BaseInfo">Basic</s:String>
    <s:String x:Key="Str_Version">Version</s:String>
    <s:String x:Key="Str_FileVersion">File Version</s:String>
    <s:String x:Key="Str_AssetsDir">Assets Directory</s:String>
    <s:String x:Key="Str_SkelPath">Skel Path</s:String>
    <s:String x:Key="Str_AtlasPath">Atlas Path</s:String>

    <s:String x:Key="Str_Render">Render</s:String>
    <s:String x:Key="Str_IsShown">Show</s:String>
    <s:String x:Key="Str_UsePma">Premultiply Alpha</s:String>
    <s:String x:Key="Str_Physics">Physics</s:String>
    <s:String x:Key="Str_TimeScale">Time Scale</s:String>
    <s:String x:Key="Str_TimeScaleTootltip">Time scale for a single model, must be positive.</s:String>

    <s:String x:Key="Str_Transform">Transform</s:String>
    <s:String x:Key="Str_Scale">Scale</s:String>
    <s:String x:Key="Str_FlipX">Flip X</s:String>
    <s:String x:Key="Str_FlipY">Flip Y</s:String>
    <s:String x:Key="Str_X">X</s:String>
    <s:String x:Key="Str_Y">Y</s:String>

    <s:String x:Key="Str_Skin">Skin</s:String>
    <s:String x:Key="Str_Enable">Enable</s:String>
    <s:String x:Key="Str_Disable">Disable</s:String>
    <s:String x:Key="Str_EnableAll">Enable All</s:String>
    <s:String x:Key="Str_DisableAll">Disable All</s:String>

    <s:String x:Key="Str_Slot">Slot</s:String>
    <s:String x:Key="Str_ClearSlotsAttachment">Clear Slots Attachment</s:String>

    <s:String x:Key="Str_Animation">Animation</s:String>
    <s:String x:Key="Str_AppendTrack">Add</s:String>
    <s:String x:Key="Str_InsertTrack">Insert</s:String>
    <s:String x:Key="Str_ClearTrack">Clear</s:String>
    <s:String x:Key="Str_TrackTimeScale">Time Scale</s:String>
    <s:String x:Key="Str_TrackTimeScaleTooltip">Time scale for a single track, must be positive.</s:String>
    <s:String x:Key="Str_TrackAlpha">Alpha Blending</s:String>
    <s:String x:Key="Str_TrackAlphaTooltip">Value range: 0–1. Similar to image blending, controls how animations from higher-index tracks mix into lower-index tracks.</s:String>

    <s:String x:Key="Str_Debug">Debug</s:String>
    <s:String x:Key="Str_DebugTexture">Texture</s:String>
    <s:String x:Key="Str_DebugBounds">Bounds</s:String>
    <s:String x:Key="Str_DebugBones">Bones</s:String>
    <s:String x:Key="Str_DebugRegions">Regions</s:String>
    <s:String x:Key="Str_DebugMeshHulls">MeshHulls</s:String>
    <s:String x:Key="Str_DebugMeshes">Meshes</s:String>
    <s:String x:Key="Str_DebugBoundingBoxes">BoundingBoxes</s:String>
    <s:String x:Key="Str_DebugPaths">Paths</s:String>
    <s:String x:Key="Str_DebugPoints">Points</s:String>
    <s:String x:Key="Str_DebugClippings">Clippings</s:String>

    <!-- 渲染画面参数面板 -->
    <s:String x:Key="Str_RenderStopped">Render Stopped</s:String>
    <s:String x:Key="Str_ResolutionX">Width (px)</s:String>
    <s:String x:Key="Str_ResolutionY">Height (px)</s:String>
    <s:String x:Key="Str_CenterX">Center X</s:String>
    <s:String x:Key="Str_CenterY">Center Y</s:String>
    <s:String x:Key="Str_Zoom">Zoom</s:String>
    <s:String x:Key="Str_Rotation">Rotation (Degrees)</s:String>
    <s:String x:Key="Str_MaxFps">Max FPS</s:String>
    <s:String x:Key="Str_MaxFpsTooltip">Maximum frame rate of the preview. Set to 0 for no limit.</s:String>
    <s:String x:Key="Str_PlaySpeed">Playback Speed</s:String>
    <s:String x:Key="Str_WallpaperView">Wallpaper View</s:String>
    <s:String x:Key="Str_RenderSelectedOnly">Render Selected Only</s:String>
    <s:String x:Key="Str_HitTestLevel">Hit Test Accuracy Level</s:String>
    <s:String x:Key="Str_LogHitSlots">Output Hit Test Slot Names</s:String>
    <s:String x:Key="Str_LogHitSlotsTooltip">When enabled, the log box will output the model and slot information for each click hit test.</s:String>
    <s:String x:Key="Str_ShowAxis">Show Axis</s:String>
    <s:String x:Key="Str_BackgroundColor">Background Color</s:String>
    <s:String x:Key="Str_BackgroundImagePath">Background Image Path</s:String>
    <s:String x:Key="Str_BackgroundImageMode">Background Image Mode</s:String>

    <!-- 渲染画面按钮组 -->
    <s:String x:Key="Str_StopTooltip">Stop</s:String>
    <s:String x:Key="Str_RestartTooltip">Restart Playback</s:String>
    <s:String x:Key="Str_PlayPauseTooltip">Play/Pause</s:String>
    <s:String x:Key="Str_ForwardStepTooltip">Forward 1 Frame</s:String>
    <s:String x:Key="Str_ForwardFastTooltip">Forward 10 Frames</s:String>
    <s:String x:Key="Str_FullScreenTooltip">Window/Fullscreen; F11</s:String>

    <!-- 弹窗文本 -->
    <s:String x:Key="Str_OK">OK</s:String>
    <s:String x:Key="Str_Cancel">Cancel</s:String>
    <s:String x:Key="Str_GeneratePreviewsTitle">Generate Previews</s:String>
    <s:String x:Key="Str_DeletePreviewsTitle">Delete Previews</s:String>
    <s:String x:Key="Str_AddSpineObjectsTitle">Batch Add Spine Files</s:String>
    <s:String x:Key="Str_ReloadSpineObjectsTitle">Reload Spine Files</s:String>

    <s:String x:Key="Str_InfoPopup">Information</s:String>
    <s:String x:Key="Str_WarnPopup">Warning</s:String>
    <s:String x:Key="Str_ErrorPopup">Error</s:String>
    <s:String x:Key="Str_QuestPopup">Operation Confirmation</s:String>
    <s:String x:Key="Str_CancelQuest">Confirm Cancel?</s:String>
    <s:String x:Key="Str_TooManyItemsToAddQuest">{0} items total, add all at once?</s:String>
    <s:String x:Key="Str_RemoveItemsQuest">Remove {0} items?</s:String>
    <s:String x:Key="Str_DeleteItemsQuest">Delete {0} items?</s:String>
    <s:String x:Key="Str_CloseToTrayQuest" xml:space="preserve">You clicked the close button. Do you want to minimize to the tray icon instead of closing the application directly?&#x0A;(If you choose Yes, the window will be minimized to the tray and can be restored by double-clicking the icon. You can change this option later in the application preferences.)</s:String>

    <!-- 导出对话框弹窗文本 -->
    <s:String x:Key="Str_FrameExporterTitle">Export Single Frame</s:String>
    <s:String x:Key="Str_FrameSequenceExporterTitle">Export Frame Sequence</s:String>
    <s:String x:Key="Str_FFmpegVideoExporterTitle">Export GIF/Video</s:String>
    <s:String x:Key="Str_CustomFFmpegExporterTitle">Custom FFmpeg Export</s:String>

    <s:String x:Key="Str_InvalidOutputDir">Invalid Output Directory</s:String>
    <s:String x:Key="Str_OutputDirNotFound">Output Directory Not Found</s:String>
    <s:String x:Key="Str_OutputDirRequired">Output folder required for single export</s:String>
    <s:String x:Key="Str_InvalidMaxResolution">Valid max resolution required when using auto resolution</s:String>
    <s:String x:Key="Str_FFmpegFormatRequired">FFmpeg export format is required</s:String>

    <s:String x:Key="Str_ExportBaseArgs">Base Parameters</s:String>
    <s:String x:Key="Str_ExportVideoArgs">Video Parameters</s:String>
    <s:String x:Key="Str_ExportOtherArgs">Other Parameters</s:String>

    <s:String x:Key="Str_ResolutionTooltip">Screen resolution; adjust related parameters in the render settings panel</s:String>
    <s:String x:Key="Str_ExportSingle">Export Single</s:String>
    <s:String x:Key="Str_ExportSingleTooltip">When checked, export selected models in a single frame; output folder is required</s:String>
    <s:String x:Key="Str_OutputDir">Output Folder</s:String>
    <s:String x:Key="Str_OutputDirTooltip">Optional output folder; if specified, all outputs go there; otherwise to individual directories; required for single export</s:String>
    <s:String x:Key="Str_Margin">Margin</s:String>
    <s:String x:Key="Str_MarginTooltip">Extra margin around the frame; overflow content appears in this area</s:String>
    <s:String x:Key="Str_AutoResolution">Auto Resolution</s:String>
    <s:String x:Key="Str_AutoResolutionTooltip">When checked, resolution is based on models' bounding boxes, ignoring preview zoom and other settings</s:String>
    <s:String x:Key="Str_MaxResolution">Max Resolution</s:String>
    <s:String x:Key="Str_MaxResolutionTooltip">Only effective with auto resolution; limits maximum resolution in both directions</s:String>

    <s:String x:Key="Str_ImageFormat">Image Format</s:String>
    <s:String x:Key="Str_ImageQuality">Image Quality</s:String>
    <s:String x:Key="Str_ImageQualityTooltip">Range 0–100; only effective for certain formats</s:String>

    <s:String x:Key="Str_Duration">Duration</s:String>
    <s:String x:Key="Str_ExportDurationTooltip">Export duration; if less than 0, the maximum duration of all animations in all models will be used during export.</s:String>

    <s:String x:Key="Str_Fps">FPS</s:String>
    <s:String x:Key="Str_ExportSpeed">Export Speed</s:String>
    <s:String x:Key="Str_ExportSpeedTooltip">Export speed factor; only affects the animation speed of the model, not the export duration or frame rate.</s:String>
    <s:String x:Key="Str_KeepLastFrame">Keep Last Frame</s:String>
    <s:String x:Key="Str_KeepLastFrameTooltip">When keeping the last frame, animation is smoother but frame count may be one higher</s:String>

    <s:String x:Key="Str_VideoFormat">Video Format</s:String>
    <s:String x:Key="Str_LoopPlay">Loop Play</s:String>
    <s:String x:Key="Str_LoopPlayTooltip" xml:space="preserve">[Gif/Webp/Apng]&#x0A;Whether the animation loops</s:String>
    <s:String x:Key="Str_QualityParameter">Quality Parameter</s:String>
    <s:String x:Key="Str_QualityParameterTooltip" xml:space="preserve">[Webp]&#x0A;Quality parameter, range 0-100, higher value means better quality</s:String>
    <s:String x:Key="Str_LosslessParam">Lossless Compression</s:String>
    <s:String x:Key="Str_LosslessParamTooltip" xml:space="preserve">[Webp]&#x0A;Lossless compression, quality parameter will be ignored</s:String>
    <s:String x:Key="Str_PredMethod">Predictor Method</s:String>
    <s:String x:Key="Str_PredMethodTooltip" xml:space="preserve">[Apng]&#x0A;Pred parameter, value range 0-5, corresponding to different encoding strategies: none, sub, up, avg, paeth, and mixed.&#x0A;It affects encoding time and file size.</s:String>
    <s:String x:Key="Str_CrfParameter">CRF Parameter</s:String>
    <s:String x:Key="Str_CrfParameterTooltip" xml:space="preserve">[Mp4/Webm/Mkv]&#x0A;CRF parameter, range 0-63, lower value means higher quality</s:String>
    <s:String x:Key="Str_ProfileParameter">Profile Parameter</s:String>
    <s:String x:Key="Str_ProfileParameterTooltip" xml:space="preserve">[Mov]&#x0A;Profile parameter, an integer between -1 and 5,&#x0A;corresponding to: auto, proxy, lt, standard, hq, 4444, and 4444xq.&#x0A;Alpha channel encoding is available only when the value is 4 or higher.</s:String>

    <s:String x:Key="Str_FFmpegFormat">Export Format</s:String>
    <s:String x:Key="Str_FFmpegFormatTooltip">FFmpeg export format (equivalent to "-f"), e.g. "mp4", "webm"</s:String>
    <s:String x:Key="Str_FFmpegCodec">Codec</s:String>
    <s:String x:Key="Str_FFmpegCodecTooltip">FFmpeg codec (equivalent to "-c:v"), e.g. "libx264", "libx265"</s:String>
    <s:String x:Key="Str_FFmpegPixelFormat">Pixel Format</s:String>
    <s:String x:Key="Str_FFmpegPixelFormatTooltip">FFmpeg pixel format (equivalent to "-pix_fmt"), e.g. "yuv420p", "yuv444p"</s:String>
    <s:String x:Key="Str_FFmpegBitrate">Bitrate</s:String>
    <s:String x:Key="Str_FFmpegBitrateTooltip">FFmpeg bitrate (equivalent to "-b:v"), e.g. "6K", "2M"</s:String>
    <s:String x:Key="Str_FFmpegFilter">Filter</s:String>
    <s:String x:Key="Str_FFmpegFilterTooltip">FFmpeg filter (equivalent to "-vf")</s:String>
    <s:String x:Key="Str_FFmpegCustomArgs">Custom Args</s:String>
    <s:String x:Key="Str_FFmpegCustomArgsTooltip">FFmpeg custom args, same as command line, e.g. "-crf 23"</s:String>

    <!-- 诊断信息对话框 -->
    <s:String x:Key="Str_CopyDiagnosticsInfo">Copy to Clipboard</s:String>
    <s:String x:Key="Str_Copied">Copied</s:String>

    <!-- 关于对话框 -->
    <s:String x:Key="Str_ProgremVersion">Program Version</s:String>
    <s:String x:Key="Str_ProjectUrl">Project URL</s:String>

    <!-- 首选项对话框 -->
    <s:String x:Key="Str_TextureLoadPreference">Texture Loading Options</s:String>
    <s:String x:Key="Str_ForcePremul">Force Premultiplied Channels</s:String>
    <s:String x:Key="Str_ForcePremulTooltip">When enabled, this applies premultiplied operations to pixels during texture loading, helping to resolve black edge issues at some connections.</s:String>
    <s:String x:Key="Str_ForceNearest">Force Nearest Interpolation</s:String>
    <s:String x:Key="Str_ForceMipmap">Force Mipmap</s:String>
    <s:String x:Key="Str_ForceMipmapTooltip">When enabled, this helps reduce aliasing when textures are scaled down, at the cost of slightly higher video memory usage.</s:String>

    <s:String x:Key="Str_SpineLoadPreference">Model Loading Options</s:String>

    <s:String x:Key="Str_RendererPreference">Preview Options</s:String>

    <s:String x:Key="Str_AppPreference">Application Options</s:String>
    <s:String x:Key="Str_Language">Language</s:String>
    <s:String x:Key="Str_AppSkin">Skin</s:String>
    <s:String x:Key="Str_CloseToTray">Minimize to tray when closing</s:String>
    <s:String x:Key="Str_AutoRun">Auto Start</s:String>
    <s:String x:Key="Str_AutoRunWorkspaceConfigPath">Auto-load Workspace File on Startup</s:String>
    <s:String x:Key="Str_AutoRunWorkspaceConfigPathTooltip">Specifies the workspace configuration file to be automatically loaded when the program starts with Windows startup. This takes effect only if auto-startup is enabled.</s:String>
    <s:String x:Key="Str_AssociateFileSuffix">Associate File Extension</s:String>

</ResourceDictionary>
