<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:system="clr-namespace:System;assembly=mscorlib"
                    xml:lang="en">

    <!-- Resource Culture -->
    <!-- See the supported list: https://azuliadesigns.com/c-sharp-tutorials/list-net-culture-country-codes/ -->
    <system:String x:Key="CultureInfo">En-US</system:String>

    <!-- Boolean Display Params -->
    <system:String x:Key="BooleanFalseText">No</system:String>
    <system:String x:Key="BooleanTrueText">Yes</system:String>
    
    <!-- Clipboard -->
    <system:String x:Key="ClipboardCut">Cut</system:String>
    <system:String x:Key="ClipboardCopy">Copy</system:String>
    <system:String x:Key="ClipboardPaste">Paste</system:String>

    <!-- Toast or dialog -->
    <system:String x:Key="ErrorMessageUnhandledException" xml:space="preserve">Unhandled exception occurred: 
{0}: 
{1}</system:String>
    <system:String x:Key="ErrorMessageOpenExternalUrl">Cannot open URL: {0}</system:String>
    <system:String x:Key="ErrorMessageOpenEmailClient">Cannot open email client to: {0}</system:String>
    <system:String x:Key="MessageHasUnsavedChangesConfirmation">You have unsaved changes. Are you sure to exit the application?</system:String>

    <!-- Validation  -->
    <system:String x:Key="ValErrorToast">Not all fields filled correctly.</system:String>
    <system:String x:Key="ValErrorInvalidInput">Invalid input!</system:String>
    <system:String x:Key="ValErrorRequired">Field is mandatory!</system:String>
    <system:String x:Key="ValErrorMinLength">Minimum {0} characters</system:String>
    <system:String x:Key="ValErrorMaxLength">Maximum {0} characters</system:String>
    <system:String x:Key="ValErrorRange">Valid range: {0} ... {1}</system:String>
    <system:String x:Key="ValErrorUnique">Unique value required!</system:String>
    <system:String x:Key="ValErrorFileName">Not suitable to use as filename!</system:String>
    <system:String x:Key="ValErrorMinItems">Minimum {0} item(s) required</system:String>

    <!-- Filter evaluator  -->
    <system:String x:Key="FilterErrorOperatorWithoutFirstOperand">Operator {0} without first operand.</system:String>
    <system:String x:Key="FilterErrorUnexpectedToken">Unexpected token: {0}</system:String>
    <system:String x:Key="FilterErrorInvalidExpression">Invalid expression: {0}</system:String>
    <system:String x:Key="FilterErrorUnterminatedQuotedString">Unterminated quoted string.</system:String>
    <system:String x:Key="FilterErrorUnexpectedEndOfExpression">Unexpected end of expression.</system:String>

    <!-- MCheckBox -->
    <system:String x:Key="CheckBoxUnknown">Unknown</system:String>
    <system:String x:Key="CheckBoxFalse">No</system:String>
    <system:String x:Key="CheckBoxTrue">Yes</system:String>

    <!-- LogWindow -->
    <system:String x:Key="LogWindowDelete">Delete</system:String>
    <system:String x:Key="LogWindowCopy">Copy</system:String>
    <system:String x:Key="LogWindowFilterString">Filter string</system:String>
    <system:String x:Key="LogWindowAutoScroll">Auto scroll</system:String>
    <system:String x:Key="LogWindowDate">Date</system:String>
    <system:String x:Key="LogWindowThread">Thread</system:String>
    <system:String x:Key="LogWindowLevel">Level</system:String>
    <system:String x:Key="LogWindowComponent">Component</system:String>
    <system:String x:Key="LogWindowText">Text</system:String>

    <!-- DialogWindow -->
    <system:String x:Key="DialogHeaderInfo">Info</system:String>
    <system:String x:Key="DialogHeaderError">Error</system:String>
    <system:String x:Key="DialogButtonOK">OK</system:String>
    <system:String x:Key="DialogButtonCancel">Cancel</system:String>
    <system:String x:Key="DialogButtonClose">Close</system:String>
    <system:String x:Key="DialogButtonSave">Save</system:String>
    <system:String x:Key="DialogButtonDelete">Delete</system:String>
    <system:String x:Key="DialogButtonNext">Next</system:String>
    <system:String x:Key="DialogButtonExit">Exit</system:String>
    <system:String x:Key="DialogButtonContinue">Continue</system:String>
    <system:String x:Key="DialogButtonAdd">Add</system:String>

    <!-- Notification Toast -->
    <system:String x:Key="ToastHeaderInfo">Info</system:String>
    <system:String x:Key="ToastHeaderWarning">Warning</system:String>
    <system:String x:Key="ToastHeaderError">Error</system:String>
    <system:String x:Key="ToastHeaderSuccess">Success</system:String>
    
    <!-- MDataGrid -->
    <system:String x:Key="MDataGridNoRecordsFound">No records found</system:String>
    <system:String x:Key="MDataGridCopyCellValue">Copy cell value</system:String>
    <system:String x:Key="MDataGridGoToLink">Go to {0}</system:String>
    <system:String x:Key="MDataGridDetailedFilter">Detailed filter</system:String>
    <system:String x:Key="MDataGridButtonClearFilter">Clear filter</system:String>
    <system:String x:Key="MDataGridButtonApplyFilter">Apply filter</system:String>
    <system:String x:Key="MDataGridButtonFilter">Filter</system:String>

    <system:String x:Key="MDataGridFilterHistoryPopupTitle">Recent filters</system:String>
    <system:String x:Key="MDataGridFilterHistoryFilterAgainButtonTooltip">Filter again {0}</system:String>

    <system:String x:Key="MDataGridButtonFilterHistoryTooltip">Show filter history</system:String>
    <system:String x:Key="MDataGridButtonShowFilterExamplesTooltip">Show filter examples</system:String>
    <system:String x:Key="MDataGridFilterExpressionGenericExamples"  xml:space="preserve">Generic filter examples:
       
    apple ⟶ Any column contains apple ignore case
    apple* ⟶ Any column starts with apple
    *apple ⟶ Any column ends with apple
    "apple" ⟶ Any column equals apple
        
AND, OR and NOT and parentheses are also supported:

    apple AND banana ⟶ Some column has apple and some has banana
    apple OR banana ⟶ Any column has apple or banana
    NOT apple* ⟶ No column starts with apple
    (apple OR banana) AND NOT juice ⟶ Any of them but not juice
    </system:String>

    <system:String x:Key="MDataGridFilterExpressionColumnExamples"  xml:space="preserve">Column filter examples:
       
    apple ⟶ Column contains apple ignore case
    apple* ⟶ Column starts with apple
    *apple ⟶ Column ends with apple
    "apple" ⟶ Column exact match apple
    "" ⟶ Column is empty
        
AND, OR and NOT and parentheses are also supported:

    apple AND banana ⟶ Column contains both
    apple OR banana ⟶ Column contains any of them
    apple OR "" ⟶ Column contain apple or it is empty
    NOT apple* ⟶ Column doesn't starts with apple
    (apple OR banana) AND NOT juice ⟶ Any of them but not juice 
    NOT "" ⟶ Column is not empty
    </system:String>
    
    <!-- MDataGridBorderMode enum -->
    <system:String x:Key="MDataGridBorderModeNone">None</system:String>
    <system:String x:Key="MDataGridBorderModeSingle">Single</system:String>
    <system:String x:Key="MDataGridBorderModeDouble">Double</system:String>

    <!-- MDataGridRowSeparatorMode enum -->
    <system:String x:Key="MDataGridRowSeparatorModeNone">None</system:String>
    <system:String x:Key="MDataGridRowSeparatorModeSeparatorRow">Horizontal lines</system:String>
    <system:String x:Key="MDataGridRowSeparatorModeSeparatorColumn">Vertical lines</system:String>
    <system:String x:Key="MDataGridRowSeparatorModeSeparatorGrid">Grid</system:String>

    <!-- MListBox -->
    <system:String x:Key="MListBoxSelectNone">None</system:String>
    <system:String x:Key="MListBoxSelectAllItem">Select all</system:String>
    <system:String x:Key="MListBoxTooltipAddNewItem">Add new item</system:String>

    <!-- MDatePicker -->
    <system:String x:Key="MDatePickerToday">Today</system:String>
    <system:String x:Key="MDatePickerClear">Clear</system:String>
    
    <!-- MImageViewer -->
    <system:String x:Key="MImageViewerPrintTooltip">Print image</system:String>
    <system:String x:Key="MImageViewerInfoTooltip">Show image info</system:String>
    <system:String x:Key="MImageViewerZoomInTooltip">Zoom in</system:String>
    <system:String x:Key="MImageViewerZoomOutTooltip">Zoom out</system:String>
    <system:String x:Key="MImageViewerZoomLevelTooltip">Current zoom percentage</system:String>
    <system:String x:Key="MImageViewerRotateLeftTooltip">Rotate left</system:String>
    <system:String x:Key="MImageViewerRotateRightTooltip">Rotate right</system:String>
    <system:String x:Key="MImageViewerFitTooltip">Fit image width or height</system:String>
    <system:String x:Key="MImageViewerFitHeightTooltip">Fit height</system:String>
    <system:String x:Key="MImageViewerFitWidthTooltip">Fit width</system:String>

    <system:String x:Key="MImageViewerInfoFileName">File name</system:String>
    <system:String x:Key="MImageViewerInfoFileSize">File size</system:String>
    <system:String x:Key="MImageViewerInfoFileSizeFormat">{0:0.0} kB ({1} bytes)</system:String>
    <system:String x:Key="MImageViewerInfoDialogHeader">Image info</system:String>
    <system:String x:Key="MImageViewerInfoFileFormat">File format</system:String>
    <system:String x:Key="MImageViewerInfoResolution">Resolution</system:String>
    <system:String x:Key="MImageViewerInfoResolutionFormat">{0:0} x {1:0}</system:String>
    <system:String x:Key="MImageViewerInfoColorDepth">Color depth</system:String>

    <!-- MSelectImage -->
    <system:String x:Key="MSelectImageOpenImageDialogHeader">Open image file</system:String>
    <system:String x:Key="MSelectImageImageFiles">Image Files</system:String>
    <system:String x:Key="MSelectImageAllFiles">All Files</system:String>
    <system:String x:Key="MSelectImageCannotOpenImage">Cannot open image {0}.</system:String>
    <system:String x:Key="MSelectImageCannotCopyToClipboard">Cannot copy image to clipboard.</system:String>
    <system:String x:Key="MSelectImageCannotCutToClipboard">Cannot cut image to clipboard.</system:String>
    <system:String x:Key="MSelectImageCannotPasteFromClipboard">Cannot paste image from clipboard.</system:String>
    <system:String x:Key="MSelectImageCannotSaveImage">Cannot save image {0}.</system:String>
    <system:String x:Key="MSelectImageTooltipOpenFolder">Open image file from the file system. You can also drag and drop image.</system:String>
    <system:String x:Key="MSelectImageTooltipPaste">Paste image from the Clipbord</system:String>
    <system:String x:Key="MSelectImageTooltipRotate">Rotate image clockwise</system:String>
    <system:String x:Key="MSelectImageTooltipFit">Fit image width or height</system:String>

    <!-- MinMaxRange and MinTypMax -->
    <system:String x:Key="RangeMinValueFieldName">Min.</system:String>
    <system:String x:Key="RangeTypValueFieldName">Typ.</system:String>
    <system:String x:Key="RangeMaxValueFieldName">Max.</system:String>

    <!-- MPdfViewer -->
    <system:String x:Key="MPdfViewerInfoDialogHeader">Pdf info</system:String>
    <system:String x:Key="MPdfViewerSidePanelTooltip">Show side panel</system:String>
    <system:String x:Key="MPdfViewerSearchTooltip">Search text</system:String>
    <system:String x:Key="MPdfViewerSaveAsTooltip">Save as</system:String>
    <system:String x:Key="MPdfViewerPrintTooltip">Print pages</system:String>
    <system:String x:Key="MPdfViewerInfoTooltip">Show pdf info</system:String>
    <system:String x:Key="MPdfViewerPreviousPageTooltip">Previous page</system:String>
    <system:String x:Key="MPdfViewerNextPageTooltip">Next page</system:String>
    <system:String x:Key="MPdfViewerCurrentPageNumberTooltip">Current page number</system:String>
    <system:String x:Key="MPdfViewerPageNumberOf">of {0}</system:String>
    <system:String x:Key="MPdfViewerZoomInTooltip">Zoom in</system:String>
    <system:String x:Key="MPdfViewerZoomOutTooltip">Zoom out</system:String>
    <system:String x:Key="MPdfViewerZoomLevelTooltip">Current zoom percentage</system:String>
    <system:String x:Key="MPdfViewerRotateLeftTooltip">Rotate left</system:String>
    <system:String x:Key="MPdfViewerRotateRightTooltip">Rotate right</system:String>
    <system:String x:Key="MPdfViewerFitHeightTooltip">Fit height</system:String>
    <system:String x:Key="MPdfViewerFitWidthTooltip">Fit width</system:String>
    <system:String x:Key="MPdfViewerBookModeTooltip">Toggle between Book mode and Continous mode</system:String>

    <system:String x:Key="MPdfViewerSidePanelTabBookmarks">Bookmarks</system:String>
    <system:String x:Key="MPdfViewerSidePanelTabThumbnails">Thumbnails</system:String>

    <system:String x:Key="MPdfViewerSearchPrevMatchTooltip">Previous match</system:String>
    <system:String x:Key="MPdfViewerSearchNextMatchTooltip">Next match</system:String>
    <system:String x:Key="MPdfViewerSearchMatchCaseTooltip">Match case</system:String>
    <system:String x:Key="MPdfViewerSearchMatchWholeWordsTooltip">Match Whole words</system:String>
    <system:String x:Key="MPdfViewerSearchHighlightAllMatchesTooltip">Highlight all matches</system:String>
    <system:String x:Key="MPdfViewerSearchNoMatchesFoundTooltip">No matches found.</system:String>
    <system:String x:Key="MPdfViewerSearchWrapAroundTooltip">Find reached the starting point of the search.</system:String>
    <system:String x:Key="MPdfViewerSearchCloseTooltip">Close search</system:String>
    <system:String x:Key="MPdfViewerSearchMatchesCount">{0} of {1} matches</system:String>

    <system:String x:Key="MPdfViewerInfoFileName">File name</system:String>
    <system:String x:Key="MPdfViewerInfoFileSize">File size</system:String>
    <system:String x:Key="MPdfViewerInfoFileSizeFormat">{0:0.0} kB ({1} bytes)</system:String>
    <system:String x:Key="MPdfViewerInfoTitle">Title</system:String>
    <system:String x:Key="MPdfViewerInfoAuthor">Author</system:String>
    <system:String x:Key="MPdfViewerInfoSubject">Subject</system:String>
    <system:String x:Key="MPdfViewerInfoKeywords">Keywords</system:String>
    <system:String x:Key="MPdfViewerInfoCreationDate">Creation date</system:String>
    <system:String x:Key="MPdfViewerInfoModificationDate">Modification date</system:String>
    <system:String x:Key="MPdfViewerInfoCreator">Creator</system:String>
    <system:String x:Key="MPdfViewerInfoProducer">PDF Producer</system:String>
    <system:String x:Key="MPdfViewerInfoVersion">PDF Version</system:String>
    <system:String x:Key="MPdfViewerInfoPageCount">Page count</system:String>
    <system:String x:Key="MPdfViewerInfoPageSize">Page size</system:String>
    <system:String x:Key="MPdfViewerInfoPageSizeFormat">{0:0.0} x {1:0.0} mm</system:String>

    <system:String x:Key="MPdfViewerSaveDialogHeader">Save as PDF</system:String>
    <system:String x:Key="MPdfViewerSaveDialogFilter">PDF files</system:String>
    <system:String x:Key="MPdfViewerSaveAsDone">PDF saved successfully.</system:String>
    <system:String x:Key="MPdfViewerSaveAsFailed">Failed to save the PDF file.</system:String>

</ResourceDictionary>
