[
  {
    "path": ".gitattributes",
    "content": "# Set the default behavior, in case people don't have core.autocrlf set.\n* text=auto\n\n# Declare files that will always have CRLF line endings on checkout.\n*.cs text eol=crlf\n*.xaml text eol=crlf\n*.resw text eol=crlf\n*.csproj text eol=crlf\n*.sln text eol=crlf\n\n# Denote all files that are truly binary and should not be modified.\n*.png binary\n*.jpg binary"
  },
  {
    "path": ".github/FUNDING.yml",
    "content": "# These are supported funding model platforms\n\ngithub: 0x7c13\npatreon: # Replace with a single Patreon username\nopen_collective: # Replace with a single Open Collective username\nko_fi: jackieliu\ntidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel\ncommunity_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry\nliberapay: # Replace with a single Liberapay username\nissuehunt: # Replace with a single IssueHunt username\notechie: # Replace with a single Otechie username\ncustom: paypal.me/jackil\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "content": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: \"[Bug]\"\nlabels: ''\nassignees: ''\n\n---\n\n**Describe the bug**\nA clear and concise description of what the bug is.\n\n**To Reproduce**\nSteps to reproduce the behavior.\n\n**Expected behavior**\nA clear and concise description of what you expected to happen.\n\n**Screenshots**\nIf applicable, add screenshots to help explain your problem.\n\n**Desktop (please complete the following information):**\n - OS: [e.g. Windows 10 1809 17763.593]\n - Version [e.g. v0.9.3.0]\n\n**Additional context**\nAdd any other context about the problem here.\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "content": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: \"[Feature request]\"\nlabels: ''\nassignees: ''\n\n---\n\n**Is your feature request related to a problem? Please describe.**\nA clear and concise description of what the problem is. Ex. I'm always frustrated when [...]\n\n**Describe the solution you'd like**\nA clear and concise description of what you want to happen.\n\n**Describe alternatives you've considered**\nA clear and concise description of any alternative solutions or features you've considered.\n\n**Additional context**\nAdd any other context or screenshots about the feature request here.\n"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "content": "<!-- Add a brief overview here of the feature/bug & fix. -->\n\n## PR Type\nWhat kind of change does this PR introduce?\n<!-- Please uncomment one or more that apply to this PR and apply required prefix to the title. -->\n\n<!-- - Bugfix -->\n<!-- Prefix title with \"fix: \" -->\n\n<!-- - Feature -->\n<!-- Prefix title with \"feat: \" -->\n\n<!-- - Translation -->\n<!-- Prefix title with \"lang: \" -->\n\n<!-- - Documentation content changes -->\n<!-- Prefix title with \"doc: \" -->\n\n<!-- - CI/CD pipeline changes -->\n<!-- Prefix title with \"ci: \" -->\n\n<!-- - Other... Please describe: -->\n<!-- Prefix title with \"other: \" or custom label with conventional commit format: https://www.conventionalcommits.org/en/v1.0.0/ -->\n\n## Other information\n"
  },
  {
    "path": ".github/RELEASE_TEMPLATE/changelog_config.json",
    "content": "{\n  \"conventionalCommitsParserOptions\": {\n    \"revertPattern\": \"/^(?:Revert|revert:)\\\\s\\\"?([\\\\s\\\\S]+?)\\\"?\\\\s*This reverts commit (\\\\w*)\\\\./i\",\n    \"issuePrefixes\": [ \"#\", \"OLDARCH-\" ]\n  },\n  \"handleBarsOptions\": {\n    \"setupFile\": null,\n    \"template\": \".github/RELEASE_TEMPLATE/changelog_template.hbs\",\n    \"compileOptions\": { \"noEscape\": true }\n  },\n  \"breakingChangesPattern\": \"/^breaking\\\\s+change$/gim\",\n  \"hostname\": \"https://github.com\"\n}\n"
  },
  {
    "path": ".github/RELEASE_TEMPLATE/changelog_template.hbs",
    "content": "{{#with release}}\n## [{{name}}]({{href}})\n{{/with}}\n\n{{#commit-list commits heading='### 💥 Breaking Changes' breaking=true }}\n- {{#if scope}} **{{scope}}:** {{/if}}{{subject}} ([`{{shorthash}}`]({{html_url}}))\n{{/commit-list}}\n\n{{#commit-list commits heading='### ✨ Features' type='feat' excludeBreaking=true}}\n- {{#if scope}} **{{scope}}:** {{/if}}{{subject}} ([`{{shorthash}}`]({{html_url}}))\n{{/commit-list}}\n\n{{#commit-list commits heading='### 🐛 Fixes' type='fix' excludeBreaking=true }}\n- {{#if scope}} **{{scope}}:** {{/if}}{{subject}} ([`{{shorthash}}`]({{html_url}}))\n{{/commit-list}}\n\n{{#commit-list commits heading='### 🔥 Refactorings' type='refactor' excludeBreaking=true }}\n- {{#if scope}} **{{scope}}:** {{/if}}{{subject}} ([`{{shorthash}}`]({{html_url}}))\n{{/commit-list}}\n\n{{#commit-list commits heading='### 🐎 Performance Improvements' type='perf' excludeBreaking=true }}\n- {{#if scope}} **{{scope}}:** {{/if}}{{subject}} ([`{{shorthash}}`]({{html_url}}))\n{{/commit-list}}\n\n{{#commit-list commits heading='### 🛠 Maintenance' types='chore,ci' excludeBreaking=true }}\n- {{#if scope}} **{{scope}}:** {{/if}}{{subject}} ([`{{shorthash}}`]({{html_url}}))\n{{/commit-list}}\n\n{{#commit-list commits heading='### ✅ Tests' type='test' excludeBreaking=true }}\n- {{#if scope}} **{{scope}}:** {{/if}}{{subject}} ([`{{shorthash}}`]({{html_url}}))\n{{/commit-list}}\n\n{{#commit-list commits heading='### 📚 Documentation' type='doc,docs' excludeBreaking=true }}\n- {{#if scope}} **{{scope}}:** {{/if}}{{subject}} ([`{{shorthash}}`]({{html_url}}))\n{{/commit-list}}\n\n{{#commit-list commits heading='### 💄 Style' type='style' excludeBreaking=true }}\n- {{#if scope}} **{{scope}}:** {{/if}}{{subject}} ([`{{shorthash}}`]({{html_url}}))\n{{/commit-list}}\n\n{{#commit-list commits heading='### 📢 Translations' type='lang,trans' excludeBreaking=true }}\n- {{#if scope}} **{{scope}}:** {{/if}}{{subject}} ([`{{shorthash}}`]({{html_url}}))\n{{/commit-list}}\n"
  },
  {
    "path": ".github/dependabot.yml",
    "content": "version: 2\nupdates:\n  - package-ecosystem: \"github-actions\"\n    # default location of `.github/workflows`\n    directory: \"/\"\n    schedule:\n      interval: \"weekly\"\n    commit-message:\n      prefix: 'action-deps: '\n\n  - package-ecosystem: \"nuget\"\n    # location of package manifests\n    directory: \"/src/Notepads\"\n    schedule:\n      interval: \"daily\"\n    commit-message:\n      prefix: 'nuget-deps: '\n\n# Built with ❤ by [Pipeline Foundation](https://pipeline.foundation)"
  },
  {
    "path": ".github/issue_label_bot.yaml",
    "content": "label-alias:\n  bug: 'bug'\n  feature_request: 'enhancement'\n  question: 'question'\n"
  },
  {
    "path": ".github/workflows/csa-bulk-dismissal.yml",
    "content": "name: Code scanning alerts bulk dismissal\n\non:\n  workflow_run:\n    workflows: [ \"Notepads CI/CD Pipeline\" ]\n    types:\n      - completed\n  workflow_dispatch:\n    inputs:\n      type:\n        description: Type of filter to use (\"path\" for using path and \"desc\" for using description)\n        required: true\n        default: 'path'\n      reason:\n        description: Reason for dismissal (\"fp\" for \"false positive\", \"wf\" for \"won't fix\" and \"ut\" for \"used in tests\")\n        required: true\n        default: 'wf'\n\njobs:\n  setup:\n    runs-on: windows-latest\n    outputs:\n      matrix: ${{ steps.set_filter_matrix.outputs.matrix }}\n    steps:\n      - name: Setup filter matrix\n        id: set_filter_matrix\n        shell: pwsh\n        run: |\n          $FILTER_TYPE = $env:FILTER_TYPE\n          if ( !( $env:FILTER_TYPE -ieq 'path' ) -And !( $env:FILTER_TYPE -ieq 'desc' ) ) {\n            $FILTER_TYPE = 'path'\n          }\n\n          switch ( $env:REASON ) {\n            fp {\n              $REASON = \"false positive\"\n            }\n            wf {\n              $REASON = \"won't fix\"\n            }\n            ut {\n              $REASON = \"used in tests\"\n            }\n            default {\n              $REASON = \"won't fix\"\n            }\n          }\n\n          if ( $FILTER_TYPE -ieq 'path' ) {\n            $MATRIX = @{\n              include = @(\n                @{\n                   filter = \"*/obj/*\"\n                 }\n              )\n            }\n          } elseif ( $FILTER_TYPE -ieq 'desc' ) {\n            $MATRIX = @{\n              include = @(\n                @{\n                   filter = \"Calls to unmanaged code\"\n                 },\n                @{\n                   filter = \"Unmanaged code\"\n                 }\n              )\n            }\n          } else {\n              throw \"Invalid filter type argument\"\n          }\n\n          $MATRIX.include | Foreach-Object {\n            $_.Add('type',\"$FILTER_TYPE\")\n            $_.Add('reason',\"$REASON\")\n          }\n          echo \"::set-output name=matrix::$($MATRIX | ConvertTo-Json -depth 32 -Compress)\"\n        env:\n          FILTER_TYPE: ${{ github.event.inputs.type }}\n          REASON: ${{ github.event.inputs.reason }}\n  dismiss-alerts:\n    name: Dismiss alerts\n    needs: setup\n    runs-on: windows-latest\n    strategy:\n      matrix: ${{ fromJson(needs.setup.outputs.matrix) }}\n    env:\n      # Settings\n      OWNER: ${{ github.repository_owner }} # verbatim from URL\n      PROJECT_NAME: ${{ github.event.repository.name }} # verbatim from URL\n      ACCESS_TOKEN: ${{ secrets.CSA_ACCESS_TOKEN }} # requires security_events read/write permissions\n      DISMISS_REASON: ${{ matrix.reason }} # \"false positive\", \"won't fix\" or \"used in tests\".\n      ALERTS_PER_PAGE: 100 # maximum is 100\n      FILTER: ${{ matrix.filter }}\n      FILTER_TYPE: ${{ matrix.type }}\n    steps:\n      - name: Run automation\n        id: run_automation\n        shell: pwsh\n        run: |\n          $HEADERS = @{\n            Authorization = 'Basic {0}' -f [System.Convert]::ToBase64String([char[]]\"$($env:OWNER):$($env:ACCESS_TOKEN)\")\n            Accept = 'application/vnd.github.v3+json'\n          }\n\n          $page = 1\n          $FETCH_URL = \"https://api.github.com/repos/$env:OWNER/$env:PROJECT_NAME/code-scanning/alerts?state=open&page={0}&per_page=$env:ALERTS_PER_PAGE\"\n          $LIST_OF_ALERTS = Invoke-RestMethod -Method Get -Headers $HEADERS -Uri $($FETCH_URL -f $page)\n          while ( $LIST_OF_ALERTS -ne $null ) {\n            if ( $env:FILTER_TYPE -ieq 'path' ) {\n              $MATCHES += $($LIST_OF_ALERTS | Where-Object { $_.most_recent_instance.location.path -like \"$env:FILTER\" })\n            } else {\n              $MATCHES += $($LIST_OF_ALERTS | Where-Object { $_.rule.description -like \"$env:FILTER\" })\n            }\n\n            $page += 1\n            $LIST_OF_ALERTS = Invoke-RestMethod -Method Get -Headers $HEADERS -Uri $($FETCH_URL -f $page)\n          }\n\n          $ALERT_URL = \"https://api.github.com/repos/$env:OWNER/$env:PROJECT_NAME/code-scanning/alerts/{0}\"\n          $BODY = @{\n            state = 'dismissed'\n            dismissed_reason = \"$env:DISMISS_REASON\"\n          } | ConvertTo-Json\n          foreach ($index in $MATCHES.number) {\n            Invoke-RestMethod -Method Patch -Headers $HEADERS -Uri $($ALERT_URL -f $index) -Body $BODY\n          }\n\n# Built with ❤ by [Pipeline Foundation](https://pipeline.foundation)"
  },
  {
    "path": ".github/workflows/main.yml",
    "content": "name: Notepads CI/CD Pipeline\n\non:\n  push:\n    #paths-ignore:\n    #- '**.md'\n    #- 'ScreenShots/**'\n    #- '.whitesource'\n    #- 'azure-pipelines.yml'\n    #- '.github/**'\n    #- '!.github/workflows/main.yml'\n    branches-ignore:\n    # PRs made by bots trigger both 'push' and 'pull_request' event, ignore 'push' event in that case\n    - 'dependabot**'\n    - 'imgbot**'\n    tags-ignore:\n    - '**'\n  pull_request:\n    paths-ignore:\n    - '**.md'\n    - 'ScreenShots/**'\n    - '.whitesource'\n    - 'azure-pipelines.yml'\n    - '.github/**'\n    - '!.github/workflows/main.yml'\n  workflow_dispatch:\n    inputs:\n      param:\n        description: Optional parameter for additional actions\n        # Type '(major|maj) (realease|rel)' or '(minor|min) (realease|rel)' or release for major,miner,patch release respectively\n        # Or explicitly provide version number to create release with that version\n        required: false\n  schedule:\n    - cron: '0 8 * * *'\n\njobs:\n  setup:\n    runs-on: windows-latest\n    outputs:\n      matrix: ${{ steps.set_matrix.outputs.matrix }}\n    steps:\n      - name: Setup strategy matrix\n        id: set_matrix\n        shell: pwsh\n        run: |\n          $MATRIX = @{\n            include = @( [ordered]@{\n                configuration= \"Debug\"\n                appxBundlePlatforms = \"x86|x64\"\n                oldVersion = \"\"\n                newVersion = \"\"\n                debug = $true\n                runCodeqlAnalysis = $false\n                runSonarCloudScan = $false\n              }, [ordered]@{\n                configuration= \"Release\"\n                appxBundlePlatforms= \"x86|x64|ARM64\"\n                oldVersion = \"\"\n                newVersion = \"\"\n                debug = $true\n                runCodeqlAnalysis= $false\n                runSonarCloudScan= $false\n              }, [ordered]@{\n                configuration= \"Production\"\n                appxBundlePlatforms= \"x86|x64|ARM64\"\n                oldVersion = \"\"\n                newVersion = \"\"\n                debug = $true\n                runCodeqlAnalysis= $false\n                runSonarCloudScan= $false\n              }\n            )\n          }\n\n          if ( ( $env:GITHUB_EVENT -eq 'pull_request' ) `\n               -or ( $env:GITHUB_EVENT -eq 'schedule' ) `\n               -or ( $env:FORK -eq 'true' ) ) {\n            $MATRIX.include | Foreach-Object { $_.runSonarCloudScan = $false }\n          }\n\n          if ( ( $env:GITHUB_EVENT -ne 'push' ) `\n               -and ( $env:GITHUB_EVENT -ne 'pull_request' ) ) {\n            $MATRIX.include = @($MATRIX.include | Where-Object { $_.configuration -eq \"$env:RELEASE_CONFIGURATION\" })\n\n            if ( ( $env:GITHUB_EVENT -eq 'workflow_dispatch' ) `\n                 -and ( $env:GITHUB_REF -eq 'refs/heads/master' ) ) {\n              $FETCH_URL = \"https://api.github.com/repos/$env:GIT_REPOSITORY/tags?per_page=1\"\n              $OLD_VER = [System.Version]::Parse($(Invoke-RestMethod -Method Get -Uri $FETCH_URL).name -replace 'v')\n\n              [System.Int32[]]$VER_INPUT = $($env:PARAM -replace '[a-zA-Z]| ').Split('.')\n              if ( ( $VER_INPUT.Count -gt 1 ) -or ( $VER_INPUT[0] -gt 0 ) ) {\n                $NEW_VER = [System.Version]::new($VER_INPUT[0],`\n                                                (if ( $VER_INPUT.Count -ge 1 ) { $VER_INPUT[1] } else { 0 }),`\n                                                (if ( $VER_INPUT.Count -ge 2 ) { $VER_INPUT[2] } else { 0 }),`\n                                                (if ( $VER_INPUT.Count -ge 3 ) { $VER_INPUT[3] } else { 0 }))\n              } elseif ( $env:PARAM -match 'rel' ) {\n                if ( $env:PARAM -match 'maj' ) {\n                  $NEW_VER = [System.Version]::new($OLD_VER.Major + 1, 0, 0, 0)\n                } elseif ( $env:PARAM -match 'min' ) {\n                  $NEW_VER = [System.Version]::new($OLD_VER.Major, $OLD_VER.Minor + 1, 0, 0)\n                } else {\n                  $NEW_VER = [System.Version]::new($OLD_VER.Major, $OLD_VER.Minor, $OLD_VER.Build + 1, 0)\n                }\n              }\n\n              if ( ![System.String]::IsNullOrEmpty($OLD_VER) `\n                   -and ![System.String]::IsNullOrEmpty($NEW_VER) `\n                   -and ( $NEW_VER -gt $OLD_VER ) ) {\n                $MATRIX.include | Foreach-Object { $_.oldVersion = $OLD_VER.ToString() }\n                $MATRIX.include | Foreach-Object { $_.newVersion = $NEW_VER.ToString() }\n              }\n\n              $MATRIX.include | Foreach-Object { $_.runCodeqlAnalysis = $false }\n              $MATRIX.include | Foreach-Object {\n                if ( $_.configuration -eq \"$env:RELEASE_CONFIGURATION\" ) { $_.release = $true }\n              }\n            } else {\n              $MATRIX.include | Foreach-Object { $_.appxBundlePlatforms = 'x64' }\n              if ( $env:GITHUB_EVENT -ne 'schedule' ) {\n                $MATRIX.include | Foreach-Object { $_.runCodeqlAnalysis = $false }\n              }\n            }\n          }\n          echo \"::set-output name=matrix::$($MATRIX | ConvertTo-Json -depth 32 -Compress)\"\n        env:\n          FORK: ${{ github.event.repository.fork }}\n          PARAM: ${{ github.event.inputs.param }}\n          GITHUB_REF: ${{ github.ref }}\n          GITHUB_EVENT: ${{ github.event_name }}\n          RELEASE_CONFIGURATION: Production\n\n  ci:\n    needs: setup\n    runs-on: windows-latest\n    strategy:\n      matrix: ${{ fromJson(needs.setup.outputs.matrix) }}\n    outputs:\n      old_version: ${{ matrix.oldVersion }}\n      new_version: ${{ matrix.newVersion }}\n    env:\n      SOLUTION_NAME: src\\Notepads.sln\n      CONFIGURATION: ${{ matrix.configuration }}\n      DEFAULT_DIR: ${{ github.workspace }}\n    steps:\n      - if: matrix.runSonarCloudScan\n        name: Set up JDK 11\n        id: Setup_JDK\n        uses: actions/setup-java@v5\n        with:\n          java-version: 1.11\n\n      - name: Setup MSBuild\n        id: setup_msbuild\n        uses: microsoft/setup-msbuild@v2\n\n      - name: Setup NuGet\n        id: setup-nuget\n        uses: NuGet/setup-nuget@v2.0.1\n\n      - name: Checkout repository\n        id: checkout_repo\n        uses: actions/checkout@v5\n        with:\n          fetch-depth: 50\n          token: ${{ secrets.GITHUB_TOKEN }}\n\n      # Due to the insufficient memory allocated by default, CodeQL sometimes requires more to be manually allocated\n      - if: matrix.runCodeqlAnalysis\n        name: Configure Pagefile\n        id: config_pagefile\n        uses: al-cheb/configure-pagefile-action@v1.4\n        with:\n            minimum-size: 8GB\n            maximum-size: 10GB\n\n      - if: matrix.newVersion != ''\n        name: Bump GitHub tag and Update manifest\n        id: tag_manifest_generator\n        shell: pwsh\n        run: |\n          git config --global user.name $env:GIT_USER_NAME\n          git config --global user.email $env:GIT_USER_EMAIL\n          git tag -a -m \"$env:NEW_VERSION_TAG\" $env:NEW_VERSION_TAG\n          git push --follow-tags\n          $xml = [xml](Get-Content $env:APPXMANIFEST_PATH)\n          $xml.Package.Identity.Version = $env:NEW_VERSION\n          $xml.save($env:APPXMANIFEST_PATH)\n        env:\n          GIT_USER_NAME: ${{ secrets.GIT_USER_NAME }}\n          GIT_USER_EMAIL: ${{ secrets.GIT_USER_EMAIL }}\n          APPXMANIFEST_PATH: src\\Notepads\\Package.appxmanifest\n          NEW_VERSION: ${{ matrix.newVersion }}\n          NEW_VERSION_TAG: v${{ matrix.newVersion }}\n\n      - if: matrix.runSonarCloudScan\n        name: Cache SonarCloud packages\n        id: cache_sonar_packages\n        uses: actions/cache@v4.3.0\n        with:\n          path: ~\\sonar\\cache\n          key: ${{ runner.os }}-sonar\n          restore-keys: ${{ runner.os }}-sonar\n\n      - if: matrix.runSonarCloudScan\n        name: Cache SonarCloud scanner\n        id: cache_sonar_scanner\n        uses: actions/cache@v4.3.0\n        with:\n          path: .\\.sonar\\scanner\n          key: ${{ runner.os }}-sonar-scanner\n          restore-keys: ${{ runner.os }}-sonar-scanner\n\n      - if: matrix.runSonarCloudScan && steps.cache_sonar_scanner.outputs.cache-hit != 'true'\n        name: Install SonarCloud scanner\n        id: install_sonar_scanner\n        shell: pwsh\n        run: |\n          New-Item -Path .\\.sonar\\scanner -ItemType Directory\n          dotnet tool update dotnet-sonarscanner --tool-path .\\.sonar\\scanner\n\n      - if: matrix.runSonarCloudScan\n        name: Initialize SonarCloud scanner\n        id: init_sonar_scanner\n        shell: pwsh\n        run: |\n          $LOWERCASE_REPOSITORY_NAME = \"${{ github.event.repository.name }}\".ToLower()\n          .\\.sonar\\scanner\\dotnet-sonarscanner begin `\n          /k:\"${{ github.repository_owner }}_${{ github.event.repository.name }}\" `\n          /o:\"$LOWERCASE_REPOSITORY_NAME\" `\n          /d:sonar.login=\"$env:SONAR_TOKEN\" `\n          /d:sonar.host.url=\"https://sonarcloud.io\"\n        env:\n          SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}\n\n      - if: matrix.newVersion != ''\n        name: Create and validate PFX certificate for AppxBundle\n        id: create_validate_pfx_cert\n        shell: pwsh\n        run: |\n          $TARGET_FILE = \"$env:DEFAULT_DIR\\cert.pfx\"\n          $FROM_BASE64_STR = [System.Convert]::FromBase64String($env:BASE64_STR)\n          [System.IO.File]::WriteAllBytes($TARGET_FILE, $FROM_BASE64_STR)\n\n          $FILE_STREAM = [System.IO.File]::OpenRead($TARGET_FILE)\n          $FILE_STREAM.Position = 0\n          $SHA256 = [System.Security.Cryptography.SHA256]::Create()\n          $HASH_BUILDER = [System.Text.StringBuilder]::new()\n          $SHA256.ComputeHash($FILE_STREAM) | ForEach-Object { $HASH_BUILDER.Append($_.ToString(\"x2\")) }\n          if ( $HASH_BUILDER.ToString() -cne $env:SHA256_HASH ) {\n            throw [System.Exception]::new(\"Created certificate hash $($HASH_BUILDER.ToString()) $(\n                                           )doesn't match provided hash $($env:SHA256_HASH)\")\n          }\n        env:\n          BASE64_STR: ${{ secrets.PACKAGE_CERTIFICATE_BASE64 }}\n          SHA256_HASH: ${{ secrets.PACKAGE_CERTIFICATE_SHA256 }}\n\n      - name: Restore the application\n        id: restore_application\n        shell: pwsh\n        run: |\n          msbuild $env:SOLUTION_NAME /t:Restore\n          nuget restore $env:SOLUTION_NAME\n\n      - if: matrix.runCodeqlAnalysis\n        name: Initialize CodeQL\n        id: init_codeql\n        uses: github/codeql-action/init@v3\n        with:\n          queries: security-and-quality\n          languages: csharp\n\n      - name: Build and generate bundles\n        id: build_app\n        shell: pwsh\n        run: |\n          msbuild $env:SOLUTION_NAME `\n          /p:Platform=$env:PLATFORM `\n          /p:Configuration=$env:CONFIGURATION `\n          /p:UapAppxPackageBuildMode=$env:UAP_APPX_PACKAGE_BUILD_MODE `\n          /p:AppxBundle=$env:APPX_BUNDLE `\n          /p:AppxPackageSigningEnabled=$env:APPX_PACKAGE_SIGNING_ENABLED `\n          /p:AppxBundlePlatforms=$env:APPX_BUNDLE_PLATFORMS `\n          /p:AppxPackageDir=$env:ARTIFACTS_DIR `\n          /p:PackageCertificateKeyFile=$env:PACKAGE_CERTIFICATE_KEYFILE `\n          /p:PackageCertificatePassword=$env:PACKAGE_CERTIFICATE_PASSWORD\n        env:\n          PLATFORM: x64\n          UAP_APPX_PACKAGE_BUILD_MODE: StoreUpload\n          APPX_BUNDLE: Always\n          APPX_PACKAGE_SIGNING_ENABLED: ${{ matrix.newVersion != '' }}\n          APPX_BUNDLE_PLATFORMS: ${{ matrix.appxBundlePlatforms }}\n          ARTIFACTS_DIR: ${{ github.workspace }}\\Artifacts\n          PACKAGE_CERTIFICATE_KEYFILE: ${{ github.workspace }}\\cert.pfx\n          PACKAGE_CERTIFICATE_PASSWORD: ${{ secrets.PACKAGE_CERTIFICATE_PWD }}\n          APP_CENTER_SECRET: ${{ secrets.APP_CENTER_SECRET }}\n\n      - if: matrix.debug && !contains( matrix.appxBundlePlatforms, 'arm64' )\n        name: Test ARM build in debug configuration\n        id: build_app_arm_debug\n        shell: pwsh\n        run: |\n          msbuild $env:SOLUTION_NAME `\n          /p:Platform=$env:PLATFORM `\n          /p:Configuration=$env:CONFIGURATION `\n          /p:UapAppxPackageBuildMode=$env:UAP_APPX_PACKAGE_BUILD_MODE `\n          /p:AppxBundle=$env:APPX_BUNDLE `\n          /p:AppxBundlePlatforms=$env:APPX_BUNDLE_PLATFORMS\n        env:\n          PLATFORM: ARM64\n          UAP_APPX_PACKAGE_BUILD_MODE: StoreUpload\n          APPX_BUNDLE: Always\n          APPX_BUNDLE_PLATFORMS: ARM64\n\n      - if: matrix.runCodeqlAnalysis\n        name: Perform CodeQL Analysis\n        id: analyze_codeql\n        uses: github/codeql-action/analyze@v3\n        continue-on-error: true\n\n      - if: matrix.runSonarCloudScan\n        name: Send SonarCloud results\n        id: send_sonar_results\n        shell: pwsh\n        run: |\n          .\\.sonar\\scanner\\dotnet-sonarscanner end `\n          /d:sonar.login=\"$env:SONAR_TOKEN\"\n        env:\n          GITHUB_TOKEN: ${{ secrets.SONAR_GITHUB_TOKEN }}\n          SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}\n\n      - if: matrix.newVersion != ''\n        name: Upload build artifacts\n        id: upload_artifacts\n        uses: actions/upload-artifact@v4\n        with:\n          name: Build artifacts\n          path: Artifacts/\n\n  cd:\n    # This job will execute when the workflow is triggered on a 'workflow_dispatch' event,\n    # the target branch is 'master' and required parameter provided for release.\n    if: needs.ci.outputs.new_version != ''\n    needs: [ setup, ci ]\n    runs-on: windows-latest\n    env:\n      OLD_VERSION: ${{ needs.ci.outputs.old_version }}\n      NEW_VERSION: ${{ needs.ci.outputs.new_version }}\n    steps:\n      - name: Checkout repository\n        id: checkout_repo\n        uses: actions/checkout@v5\n\n      - name: Download and extract MSIX package\n        id: dl_package_artifact\n        uses: actions/download-artifact@v6\n        with:\n          name: Build artifacts\n          path: Artifacts/\n\n      - name: Create deployment payload\n        id: create_notepads_zip\n        shell: pwsh\n        run: |\n          Get-ChildItem -Filter *Production* -Recurse | Rename-Item -NewName { $_.name -replace \"_Production|_Test\",'' }\n          Compress-Archive -Path \"Notepads_$($env:NEW_VERSION)\\*\" `\n                           -DestinationPath \"Notepads_$($env:NEW_VERSION)\\Notepads_$($env:NEW_VERSION)_x86_x64_ARM64.zip\"\n        working-directory: ./Artifacts\n\n      - name: Generate changelog\n        id: generate_changlog\n        uses: mrchief/universal-changelog-action@v1.3.2\n        with:\n          previousReleaseTagNameOrSha: v${{ env.OLD_VERSION }}\n          nextReleaseTagName: v${{ env.NEW_VERSION }}\n          nextReleaseName: v${{ env.NEW_VERSION }}\n          configFilePath: .github/RELEASE_TEMPLATE/changelog_config.json\n\n      - name: Create and publish release\n        id: create_release\n        uses: ncipollo/release-action@v1.20.0\n        with:\n          allowUpdates: true\n          replacesArtifacts: true\n          tag: v${{ env.NEW_VERSION }}\n          name: Notepads v${{ env.NEW_VERSION }}\n          body: ${{ steps.generate_changlog.outputs.changelog }}\n          token: ${{ secrets.GITHUB_TOKEN }}\n          artifacts:\n             Artifacts/Notepads_${{ env.NEW_VERSION }}/Notepads_${{ env.NEW_VERSION }}_x86_x64_ARM64.msixbundle\n             Artifacts/Notepads_${{ env.NEW_VERSION }}/Notepads_${{ env.NEW_VERSION }}_x86_x64_ARM64.zip\n\n#      - name: Publish to Windows Store\n#        id: publish_to_store\n#        uses: isaacrlevin/windows-store-action@1.0\n#        with:\n#          tenant-id: ${{ secrets.AZURE_AD_TENANT_ID }}\n#          client-id: ${{ secrets.AZURE_AD_APPLICATION_CLIENT_ID }}\n#          client-secret: ${{ secrets.AZURE_AD_APPLICATION_SECRET }}\n#          app-id: ${{ secrets.STORE_APP_ID }}\n#          package-path: \"${{ github.workspace }}/Artifacts/\"\n\n# Built with ❤ by [Pipeline Foundation](https://pipeline.foundation)\n"
  },
  {
    "path": ".gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n##\n## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore\n\n# User-specific files\n*.rsuser\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\n[Aa][Rr][Mm]/\n[Aa][Rr][Mm]64/\nbld/\n[Bb]in/\n[Oo]bj/\n[Ll]og/\n\n# Visual Studio 2015/2017 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# Visual Studio 2017 auto generated files\nGenerated\\ Files/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# Benchmark Results\nBenchmarkDotNet.Artifacts/\n\n# .NET Core\nproject.lock.json\nproject.fragment.lock.json\nartifacts/\n\n# StyleCop\nStyleCopReport.xml\n\n# Files built by Visual Studio\n*_i.c\n*_p.c\n*_h.h\n*.ilk\n*.meta\n*.obj\n*.iobj\n*.pch\n*.pdb\n*.ipdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*_wpftmp.csproj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n*.VC.VC.opendb\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# Visual Studio Trace Files\n*.e2e\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# JustCode is a .NET coding add-in\n.JustCode\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# AxoCover is a Code Coverage Tool\n.axoCover/*\n!.axoCover/settings.json\n\n# Visual Studio code coverage results\n*.coverage\n*.coveragexml\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# Note: Comment the next line if you want to checkin your web deploy settings,\n# but database connection strings (with potential passwords) will be unencrypted\n*.pubxml\n*.publishproj\n\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\n# checkin your Azure Web App publish settings, but sensitive information contained\n# in these scripts will be unencrypted\nPublishScripts/\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/[Pp]ackages/*\n# except build/, which is used as an MSBuild target.\n!**/[Pp]ackages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/[Pp]ackages/repositories.config\n# NuGet v3's project.json files produces more ignorable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Windows Store app package directories and files\nAppPackages/\nBundleArtifacts/\n_pkginfo.txt\n*.appx\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!?*.[Cc]ache/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.jfm\n*.pfx\n*.publishsettings\norleans.codegen.cs\n\n# Including strong name files can present a security risk\n# (https://github.com/github/gitignore/pull/2483#issue-259490424)\n#*.snk\n\n# Since there are multiple workflows, uncomment next line to ignore bower_components\n# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)\n#bower_components/\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\nServiceFabricBackup/\n*.rptproj.bak\n\n# SQL Server files\n*.mdf\n*.ldf\n*.ndf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n*.rptproj.rsuser\n*- Backup*.rdl\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\nnode_modules/\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)\n*.vbw\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# Paket dependency manager\n.paket/paket.exe\npaket-files/\n\n# FAKE - F# Make\n.fake/\n\n# JetBrains Rider\n.idea/\n*.sln.iml\n\n# CodeRush personal settings\n.cr/personal\n\n# Python Tools for Visual Studio (PTVS)\n__pycache__/\n*.pyc\n\n# Cake - Uncomment if you are using it\n# tools/**\n# !tools/packages.config\n\n# Tabs Studio\n*.tss\n\n# Telerik's JustMock configuration file\n*.jmconfig\n\n# BizTalk build output\n*.btp.cs\n*.btm.cs\n*.odx.cs\n*.xsd.cs\n\n# OpenCover UI analysis results\nOpenCover/\n\n# Azure Stream Analytics local run output\nASALocalRun/\n\n# MSBuild Binary and Structured Log\n*.binlog\n\n# NVidia Nsight GPU debugger configuration file\n*.nvuser\n\n# MFractors (Xamarin productivity tool) working folder\n.mfractor/\n\n# Local History for Visual Studio\n.localhistory/\n\n# BeatPulse healthcheck temp database\nhealthchecksdb\n\n# Logs and databases #\n######################\n*.log\n*.sql\n*.sqlite\n\n# OS generated files #\n######################\n.DS_Store\n.DS_Store?\n._*\n.Spotlight-V100\n.Trashes\nehthumbs.db\nThumbs.db\n"
  },
  {
    "path": ".whitesource",
    "content": "{\n  \"checkRunSettings\": {\n    \"vulnerableCheckRunConclusionLevel\": \"failure\"\n  },\n  \"issueSettings\": {\n    \"minSeverityLevel\": \"LOW\"\n  }\n}"
  },
  {
    "path": "CI-CD_DOCUMENTATION.md",
    "content": "# Notepads CI/CD documentation\n\n- after merging the PR, the first run of the \"Notepads CI/CD Pipeline\" workflow will not complete successfully, because it requires specific setup explained in this documentation. The two other workflows \"CodeQL Analysis\" and \"Build\", should complete successfully.\n\n## 1. Set up SonarCloud\n\n### SonarCloud is a cloud-based code quality and security service\n\n#### Create SonarCloud project\n\n- Go to https://sonarcloud.io/\n\n- Click the \"Log in\" button and create a new account or connect with GitHub account (recommended)\n\n- At the top right corner click the \"+\" sign\n\n- From the dropdown select \"Create new Organization\"\n\n- Click the \"Choose an organization on GitHub\" button\n\n- Select an account for the organization setup\n\n- On Repository Access select \"Only select repositories\" and select the project and click the \"Save\" button\n\n- On the \"Create organization page\" don't change the Key and click \"Continue\"\n\n- Select the Free plan then click the \"Create Organization\" button to finalize the creation of the Organization\n\n#### Configure SonarCloud project\n\n- At the top right corner click the \"+\" sign and select \"Analyze new project\"\n\n- Select the project and click the \"Set Up\" button in the box on the right\n\n- Under \"Choose your analysis method\" click \"With GitHub Actions\" and **keep the following page open**\n\n- [Create a new PAT with **repo_deployment** and **read:packages** permissions](#7-how-to-create-a-pat) and copy the value of the generated token\n\n- In the project's GitHub repository, go to the **Settings** tab -> Secrets\n\n- Click on **New Repository secret** and create a new secret with the name **SONAR_GITHUB_TOKEN** and the token you just copied as the value\n\n- Create another secret with the two values from the SonarCloud page you kept open, which you can close after completing this step\n\n![SonarCloud_1](ScreenShots/CI-CD_DOCUMENTATION/SonarCloud_1.png)\n\n- [Run the \"Notepads CI/CD Pipeline\" workflow manually](#2-run-workflow-manually)\n\n#### Set Quality Gate\n\n- After the \"Notepads CI/CD Pipeline\" workflow has executed successfully, go to https://sonarcloud.io/projects and click on the project\n\n- In the alert bar above the results, click the \"Set new code definition\" button and select \"Previous version\" (notice the \"New Code definition has been updated\" alert at the top)\n\n- The Quality Gate will become active as soon as the next SonarCloud scan completes successfully\n\n<br>\n<a name=\"workflow_dispatch\"></a>\n\n## 2. Run workflow manually\n\nOnce you've set up all the steps above correctly, you should be able to successfully complete a manual execution of the \"Notepads CI/CD Pipeline\" workflow.\n\n1. Go to the project's GitHub repository and click on the **Actions** tab\n\n2. From the \"Workflows\" list on the left, click on \"Notepads CI/CD Pipeline\"\n\n3. On the right, next to the \"This workflow has a workflow_dispatch event trigger\" label, click on the \"Run workflow\" dropdown, make sure the default branch is selected (if not manually changed, should be main or master) in the \"Use workflow from\" dropdown and click the \"Run workflow\" button\n\n4. You can optionally fill the argument textbox with \"release\" to trigger [GitHub Release](#github_release) and [Store Upload](#store_upload)\n\n![Actions_workflow_dispatch](ScreenShots/CI-CD_DOCUMENTATION/Actions_workflow_dispatch.png)\n\n5. Once the workflow run has completed successfully, move on to the next step of the documentation\n\nNOTE: **screenshots are only exemplary**\n\n<br>\n\n## 3. Set up Dependabot\n\nDependabot is a GitHub native security tool that goes through the dependencies in the project and creates alerts, and PRs with updates when a new and/or non-vulnerable version is found.\n\n- for PRs with version updates, this pipeline comes pre-configured for all current dependency sources in the project, so at \"Insights\" tab -> \"Dependency graph\" -> \"Dependabot\", you should be able to see all tracked sources of dependencies, when they have been checked last and view a full log of the last check\n\n![Dependabot_tab](ScreenShots/CI-CD_DOCUMENTATION/Dependabot_tab.png)\n\n![Dependabot_log_page](ScreenShots/CI-CD_DOCUMENTATION/Dependabot_log_page.png)\n\n### Set up security alerts and updates\n\n##### - GitHub, through Dependabot, also natively offers a security check for vulnerable dependencies\n\n1. Go to \"Settings\" tab of the repo\n\n2. Go to \"Security & analysis\" section\n\n3. Click \"Enable\" for both \"Dependabot alerts\" and \"Dependabot security updates\"\n\n- By enabling \"Dependabot alerts\", you would be notified for any vulnerable dependencies in the project. At \"Security\" tab -> \"Dependabot alerts\", you can manage all alerts. By clicking on an alert, you would be able to see a detailed explanation of the vulnerability and a viable solution.\n\n![Dependabot_alerts_page](ScreenShots/CI-CD_DOCUMENTATION/Dependabot_alerts_page.png)\n\n![Dependabot_alert_page](ScreenShots/CI-CD_DOCUMENTATION/Dependabot_alert_page.png)\n\n- By enabling \"Dependabot security updates\", you authorize Dependabot to create PRs specifically for **security updates**\n\n![Dependabot_PRs](ScreenShots/CI-CD_DOCUMENTATION/Dependabot_PRs.png)\n\n### Set up Dependency graph\n\n##### - The \"Dependency graph\" option should be enabled by default for all public repos, but in case it isn't:\n\n1. Go to \"Settings\" tab of the repo\n\n2. Go to \"Security&Analysis\" section\n\n3. Click \"Enable\" for the \"Dependency graph\" option\n\n- this option enables the \"Insights\" tab -> \"Dependency graph\" section -> \"Dependencies\" tab, in which all the dependencies for the project are listed, under the different manifests they are included in\n\n![Dependabot_dependency_graph](ScreenShots/CI-CD_DOCUMENTATION/Dependabot_dependency_graph.png)\n\nNOTE: **screenshots are only exemplary**\n\n<br>\n\n## 4. CodeQL\n\nCodeQL is GitHub's own industry-leading semantic code analysis engine. CodeQL requires no setup, because it comes fully pre-configured by us.\n\nTo activate it and see its results, only a push commit or a merge of a PR to the default branch of the repository, is required.\n\nWe've also configured CodeQL to run on schedule, so every day at 8:00AM UTC, it automatically scans the code.\n\n- you can see the results here at **Security** tab -> **Code scanning alerts** -> **CodeQL**:\n\n![CodeQL_results](ScreenShots/CI-CD_DOCUMENTATION/CodeQL_results.png)\n\n- on the page of each result, you can see an explanation of what the problem is and also one or more solutions:\n\n![CodeQL_alert_page](ScreenShots/CI-CD_DOCUMENTATION/CodeQL_alert_page.png)\n\n### Code scanning alerts bulk dismissal tool\n\n##### - currently, GitHub allows for only 25 code scanning alerts to be dismissed at a time. Sometimes, you might have hundreds you would like to dismiss, so you will have to click many times and wait for a long time to dismiss them. Via the \"csa-bulk-dismissal.yml\", you can automatically dismiss unnecessary alerts or manually do that with one click.\n\nNOTE: This tool executes automatically when **Notepads CI/CD Pipeline** action completes.\n\n#### 1. Setup\n\n1. In the repository, go to the **Settings** tab -> **Secrets**\n\n![CSA_secrets](ScreenShots/CI-CD_DOCUMENTATION/CSA_secrets.png)\n\n2. Add the following secrets with the name and the corresponding value, by at the upper right of the section, clicking on the **New repository secret** button:\n\n![CSA_new_secret](ScreenShots/CI-CD_DOCUMENTATION/CSA_new_secret.png)\n\n![CSA_secret_add](ScreenShots/CI-CD_DOCUMENTATION/CSA_secret_add.png)\n\n- CSA_ACCESS_TOKEN - [create a PAT with \"security_events\" permission only](#7-how-to-create-a-pat).\n\n#### 2. Execution\n\n1. This tool is automatically triggered when **Notepads CI/CD Pipeline** task completes, if you want to manually execute this follow next steps\n\n2. In your repo, click on the Actions tab and on the left, in the Workflows list, click on the \"Code scanning alerts bulk dismissal\"\n\n![CSA_execute_1](ScreenShots/CI-CD_DOCUMENTATION/CSA_execute_1.png)\n\n3. On the right, click on the \"Run workflow\" dropdown. Under \"Use workflow from\" choose your default branch (usually main/master), in the **Type of filter to use** field type \"path\"/\"desc\" depending upon whether dismiss alerts based on predefined paths or description respectively (default is \"path\"), in the **Reason for dismissal** type \"fp\"/\"wf\"/\"ut\" for \"false positive\"/\"won't fix\"/\"used in tests\" respectively (default is \"wf\") and click on the **Run workflow** button\n\n<a name=\"csa_execute\"></a>\n![CSA_execute_2](ScreenShots/CI-CD_DOCUMENTATION/CSA_execute_2.png)\n\nNOTE: if any unsupported values are entered default values will be used\n\n4. If everything was set up currently in the \"Setup\" phase, the \"Code scanning alerts bulk dismissal\" workflow is going to be executed successfully, which after some time, would result in **all** previously open code scanning alerts, with a certain description be dismissed\n\n![CSA_execute_3](ScreenShots/CI-CD_DOCUMENTATION/CSA_execute_3.png)\n\n![CSA_execute_4](ScreenShots/CI-CD_DOCUMENTATION/CSA_execute_4.png)\n\n![CSA_execute_5](ScreenShots/CI-CD_DOCUMENTATION/CSA_execute_5.png)\n\nNOTE: \"closed\" refers to \"dismissed\" alerts\n\n#### 3. Customization\n\nThe \"setup\" job in the pipeline, allows for more precise filtering of alerts to bulk dismiss. It uses the filter type to choose (filter based on path or description) from the alert to determine if it has to be dismissed or not. We've added the following paths and alert descriptions by default:\n\n##### Paths:\n\n- \"\\*/obj/\\*\" (if path contains `obj` folder at any position)\n\n##### Descriptions:\n\n- \"Calls to unmanaged code\"\n- \"Unmanaged code\"\n\n##### To add more paths, follow these steps:\n\n1. In your source code, open \".github/workflows/csa-bulk-dismissal.yml\"\n\n2. From line 50 to 56, notice \"$MATRIX = **\". This is the [powershell hashtable](https://docs.microsoft.com/powershell/scripting/learn/deep-dives/everything-about-hashtable?view=powershell-7.1) of filters that the CSABD (Code scanning alerts bulk dismissal) tool uses to filter through the alerts:\n\n![CSA_custom_3](ScreenShots/CI-CD_DOCUMENTATION/CSA_custom_3.png)\n\n3. To add more paths under **include** element use comma separation and followed from next line add `@{ filter = \"New path\" }`. Replace \"New path\" with the path (with or without [wild cards](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_wildcards?view=powershell-7.1)) you want:\n\n![CSA_custom_4](ScreenShots/CI-CD_DOCUMENTATION/CSA_custom_4.png)\n\n##### To add more descriptions, follow these steps:\n\n1. In your source code, open \".github/workflows/csa-bulk-dismissal.yml\"\n\n2. From line 58 to 67, notice \"$MATRIX = **\". This is the [powershell hashtable](https://docs.microsoft.com/powershell/scripting/learn/deep-dives/everything-about-hashtable?view=powershell-7.1) of filters that the CSABD (Code scanning alerts bulk dismissal) tool uses to filter through the alerts:\n\n![CSA_custom_1](ScreenShots/CI-CD_DOCUMENTATION/CSA_custom_1.png)\n\n3. To add more descriptions under **include** element use comma separation and followed from next line add `@{ filter = \"New description\" }`. Replace \"New description\" with the description you want:\n\n![CSA_custom_2](ScreenShots/CI-CD_DOCUMENTATION/CSA_custom_2.png)\n\n##### To change default filter type and dismissal reason, follow these steps:\n\n1. In your source code, open \".github/workflows/csa-bulk-dismissal.yml\"\n\n2. To change default filter type change **$FILTER_TYPE** variable in line 31 to something else (default is \"path\", supported are: \"desc\" and \"path\"):\n\n![CSA_custom_5](ScreenShots/CI-CD_DOCUMENTATION/CSA_custom_5.png)\n\n3. To change dismissal reason change **$REASON** variable in line 45 to something else (default is \"won't fix\", supported are: \"false positive\", \"won't fix\" and \"used in tests\"):\n\n![CSA_custom_6](ScreenShots/CI-CD_DOCUMENTATION/CSA_custom_6.png)\n\nNOTE: changing default filter type and dismissal reason won't change dafault value typed when [manually executing](#csa_execute) tool, change values in line 13 and 17 respectively to reflect the change\n\n![CSA_custom_7](ScreenShots/CI-CD_DOCUMENTATION/CSA_custom_7.png)\n\n<br>\n<a name=\"github_release\"></a>\n\n## 5. Automated GitHub release\n\nWhen triggered bumps up the GitHub tag in the repo and executes the CD job and produces release with changelogs\n\nNote: **not every commit to your master branch are included in changelog**\n\n#### Setup\n\nAdd the following secrets by going to the repo **Settings** tab -> **Secrets**:\n\n1. **PACKAGE_CERTIFICATE_BASE64**\n\n- used to dynamically create the PFX file required for the signing of the **msixbundle**\n- use the following PowerShell code locally to turn your PFX file into Base64:\n\n```\n# read from PFX as binary\n$PFX_FILE = [IO.File]::ReadAllBytes('absolute_path_to_PFX')\n# convert to Base64 and write in txt\n[System.Convert]::ToBase64String($PFX_FILE) | Out-File 'absolute_path\\cert.txt'\n```\n\n- copy the contents of the **cert.txt** and paste as the value of the secret\n\n2. **PACKAGE_CERTIFICATE_PWD**\n\n- used in the build of the project to authenticate the PFX\n- copy and paste the password of your PFX as the value of this secret\n\nNOTE:\n\n- none of those values are visible in the logs of the pipeline, nor are available to anyone outside of the original repository e.g. forks, anonymous clones etc.\n- the dynamically created PFX file lives only for the duration of the pipeline execution\n\n#### Execution\n\n[Once you've set up all the steps for manual execution of the \"Notepads CI/CD Pipeline\" workflow correctly](#workflow_dispatch), you should be able to successfully trigger release with the same workflow.\n\n1. Go to the project's GitHub repository and click on the **Actions** tab\n\n2. From the \"Workflows\" list on the left, click on \"Notepads CI/CD Pipeline\"\n\n3. On the right, next to the \"This workflow has a workflow_dispatch event trigger\" label, click on the \"Run workflow\" dropdown, make sure the default branch is selected (if not manually changed, should be main or master) in the \"Use workflow from\" dropdown, type \"release\" in the argument textbox (By default \"test\" is typed) and click the \"Run workflow\" button\n\n![Actions_workflow_dispatch](ScreenShots/CI-CD_DOCUMENTATION/Actions_workflow_dispatch.png)\n\n4. The workflow will produce release assets and calculate version, generate changelogs from valid commits since previous tag.\n\nNOTE: **screenshots are only exemplary**\n\n<br>\n\n#### - follow these instructions for any commit (push or PR merge) to your master branch, you would like to see in changelog and count towards version change.\n\nYou would need one of three keywords at the start of your commit title. Each of the three keywords corresponds to a number in your release version i.e. v1.2.3. The release versioning uses the [\"Conventional Commits\" specification](https://www.conventionalcommits.org/en/v1.0.0/):\n\n- \"fix: ...\" - this keyword corresponds to the last number v1.2.**3**, also known as PATCH;\n- \"feat: ...\" - this keyword corresponds to the middle number v1.**2**.3, also known as MINOR;\n- \"perf: ...\" - this keyword corresponds to the first number v**1**.2.3, also known as MAJOR. In addition, to trigger a MAJOR release, you would need to write \"BREAKING CHANGE: ...\" in the description of the commit, with an empty line above it to indicate it is in the <footer> portion of the description;\n\nNote: when making a MAJOR release by committing through a terminal, use the multiple line syntax to add the commit title on one line and then adding an empty line, and then adding the \"BREAKING CHANGE: \" label\n<br><br>\n\n#### Examples\n\nExample(fix/PATCH): <br>\n`git commit -a -m \"fix: this is a PATCH release triggering commit\"`\n<br>\n`git push origin master`\n<br>\n<br>\nOn triggering `Release`:\n<br>\nResult: v1.2.3 -> **v1.2.4**\n<br>\n<br>\n<br>\nExample(feat/MINOR): <br>\n`git commit -a -m \"feat: this is a MINOR release triggering commit\"`\n<br>\n`git push origin master`\n<br>\n<br>\nOn triggering `Release`:\n<br>\nResult: v1.2.3 -> **v1.3.0**\n<br>\n<br>\n<br>\nExample(perf/MAJOR): <br>\n`` git commit -a -m \"perf: this is a MAJOR release triggering commit ` ``\n<br>\n&gt;&gt; <br>\n&gt;&gt; `BREAKING CHANGE: this is the breaking change\"`\n<br>\n`git push origin master`\n<br>\n<br>\nOn triggering `Release`:\n<br>\nResult: v1.2.3 -> **v2.0.0**\n<br>\n<br>\nNote: in the MAJOR release example, the PowerShell multiline syntax ` (backtick) is used. After writing a backtick, a press of the Enter key should open a new line.\n\n<br>\n<a name=\"store_upload\"></a>\n\n## 6. Setup automated publishing to the Windows Store\n\n#### - for the automation to work, at least one submission needs to be already created manually\n\n- [Create an Azure AD tenant](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-create-new-tenant) or use an existing one\n\n- Associate your [Microsoft Partner Center with the Azure AD tenant](https://docs.microsoft.com/en-us/windows/uwp/publish/associate-azure-ad-with-partner-center)\n\n- [Create a new app registration](https://docs.microsoft.com/en-us/azure/devops/pipelines/library/service-endpoints?view=azure-devops&tabs=yaml) or use an existing one from the list in your **portal.azure.com** -> **Azure Active Directory** -> **App registrations** section\n\n- Add the [Azure AD application to the Microsoft Partner Center](https://docs.microsoft.com/en-us/partner-center/service-principal) and give it \"Manager\" permissions\n\n- In the project's GitHub repo, create the following secrets:\n\n1. **AZURE_AD_TENANT_ID** and **AZURE_AD_APPLICATION_CLIENT_ID**\n\n   - copy and paste the values shown in the screenshot below to the appropriate secret:\n\n![Publish_to_store_1](ScreenShots/CI-CD_DOCUMENTATION/Publish_to_store_1.png)\n\nNote: screenshot is taken from **portal.azure.com** -> **Azure AD** -> **App registrations** -> **app-name** page\n\n2. **AZURE_AD_APPLICATION_SECRET**\n\n   - copy and paste the value you get on the page following from **Account settings** -> **User management** -> **Azure AD applications** -> click on the added application:\n\n![Publish_to_store_2](ScreenShots/CI-CD_DOCUMENTATION/Publish_to_store_2.png)\n\n3. **STORE_APP_ID**\n\n   - copy and paste the highlighted code as the value of this secret:\n\n![Publish_to_store_3](ScreenShots/CI-CD_DOCUMENTATION/Publish_to_store_3.png)\n\n- If everything was setup correctly, on your next push commit to the `master` branch with a new `Identity.Version` in the `Package.appxmanifest`, a new submission in the Microsoft Partner Center with the new `*.msixupload` package should appear and be automatically submitted if all verifications pass\n\n<br>\n\n## 7. How to create a PAT\n\n- In a new tab open GitHub, at the top right corner, click on your profile picture and click on **Settings** from the dropdown.\n\n  ![CSA_new_pat_1](ScreenShots/CI-CD_DOCUMENTATION/CSA_new_pat_1.png)\n\n- Go to Developer Settings -> Personal access tokens.\n\n  ![CSA_new_pat_2](ScreenShots/CI-CD_DOCUMENTATION/CSA_new_pat_2.png)\n\n  ![CSA_new_pat_3](ScreenShots/CI-CD_DOCUMENTATION/CSA_new_pat_3.png)\n\n- Click the **Generate new token** button and enter password if prompted.\n\n  ![CSA_new_pat_4](ScreenShots/CI-CD_DOCUMENTATION/CSA_new_pat_4.png)\n\n- Name the token, from the permissions list choose the ones needed and at the bottom click on the **Generate token** button.\n\n  ![CSA_new_pat_5](ScreenShots/CI-CD_DOCUMENTATION/CSA_new_pat_5.png)\n\n- Copy the token value and paste it wherever its needed\n\n  ![CSA_new_pat_6](ScreenShots/CI-CD_DOCUMENTATION/CSA_new_pat_6.png)\n\nNOTE: once you close or refresh the page, you won't be able to copy the value of the PAT again!\n\n#\n\nBuilt with ❤ by [Pipeline Foundation](https://pipeline.foundation)\n"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "content": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as\ncontributors and maintainers pledge to making participation in our project and\nour community a harassment-free experience for everyone, regardless of age, body\nsize, disability, ethnicity, sex characteristics, gender identity and expression,\nlevel of experience, education, socio-economic status, nationality, personal\nappearance, race, religion, or sexual identity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment\ninclude:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or\n advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic\n address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a\n professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable\nbehavior and are expected to take appropriate and fair corrective action in\nresponse to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or\nreject comments, commits, code, wiki edits, issues, and other contributions\nthat are not aligned to this Code of Conduct, or to ban temporarily or\npermanently any contributor for other behaviors that they deem inappropriate,\nthreatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces\nwhen an individual is representing the project or its community. Examples of\nrepresenting a project or community include using an official project e-mail\naddress, posting via an official social media account, or acting as an appointed\nrepresentative at an online or offline event. Representation of a project may be\nfurther defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be\nreported by contacting the project team at NotepadsApp@outlook.com. All\ncomplaints will be reviewed and investigated and will result in a response that\nis deemed necessary and appropriate to the circumstances. The project team is\nobligated to maintain confidentiality with regard to the reporter of an incident.\nFurther details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good\nfaith may face temporary or permanent repercussions as determined by other\nmembers of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,\navailable at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html\n\n[homepage]: https://www.contributor-covenant.org\n\nFor answers to common questions about this code of conduct, see\nhttps://www.contributor-covenant.org/faq\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "﻿# How to Contribute:\n\nYou can contribute to Notepads project by:\n- Report issues and bugs [here](https://github.com/0x7c13/Notepads/issues)\n- Submit feature requests [here](https://github.com/0x7c13/Notepads/issues)\n- Create a pull request to help me (Let me know before you do so):\n    * Fix an existing bug, prefix title with `fix: `.\n    * Implement new features, prefix title with `feat: `.\n    * Fix grammar errors or improve my documentations, prefix title with `doc: `.\n    * Improve CI/CD pipeline, prefix title with `ci: `.\n    * Cleanup code and code refactoring or anything else you want to change in the project not listed above, prefix title with `other: ` or assign a custom prefix with the same format (`label: `).\n- Internationalization and localization:\n    * My only inputs for the work here is to recommend you guys to use existing phrases that you found in win32 notepad.exe or vs code or notepad++ as much as possible. It makes your translations more consistent and easier to understand by end users.    \n    * Since Notepads is still in early beta. I might change texts and add texts now and then for the upcoming months. Whenever that happens, I will notify you in [Notepads Discord Server](https://discord.gg/VqetCub) (Please join it if possible) and in [GitHub Discussions](https://github.com/0x7c13/Notepads/discussions/818) (Subscribe to notifications). If someday you lose the passion, feel free to let me know so I can assign your language to others.\n    * OK, here are the steps you need to follow if you want to contribute:\n        1. Make sure you can build and run Notepads project on your machine so that you can test it after your work.\n        2. Click [here](https://github.com/0x7c13/Notepads/discussions/818) and provide your information.\n        3. Do your work and test it on your machine and check your work to make sure it is not breaking any existing layout.\n        4. Finish your work and create a PR, prefix PR title with `lang: ` (Example: https://github.com/0x7c13/Notepads/pull/30)\n        5. Let me know and I will merge it if it looks good to me.\n        Notes: You should use the language code as your folder name listed here: https://docs.microsoft.com/en-us/windows/uwp/publish/supported-languages\n\nNote: This repository follows [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/), format your pull request title according to specifications.\n\n# How to Build and Run Notepads from source:\n* Make sure your machine is running on Windows 10 1903+.\n* Make sure you have Visual Studio 2019 16.2 or newer installed.\n* Make sure you have \"Universal Windows Platform development\" component installed for Visual Studio.\n* Make sure you installed \"Windows 10 SDK (10.0.17763.0 + 10.0.19041.0)\" as well.\n* Open src/Notepads.sln with Visual Studio and set Solution Platform to x64(amd64).\n* Once opened, right click on the solution and click on \"Restore NuGet Packages\".\n* Now you should be able to build and run Notepads on your machine. If it fails, try close the solution and reopen it again.\n\n# TL;DR:\nThis is my first UWP project and I learn as I go. As a result, the code base is not well organized, and it is not well written. The philosophy here is to create a text editor that is easy to use, lightweight and yet stylish instead of creating another Notepad++ or VS Code in anyway. If you are looking for a code/programming editor, you might want to use VS Code instead. If you are looking for a lightweight text editor, you come to the right place. Notepads is here to help you do small things quicker and you should always install and use other editors that suit your need.\n"
  },
  {
    "path": "LICENSE.txt",
    "content": "MIT License\n\nCopyright (c) 2019-2024 Jackie (Jiaqi) Liu\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "PRIVACY.md",
    "content": "Privacy Policy  \n----------------\n\n### Introduction  \nOur privacy policy will help you understand what information we collect by *[Notepads](https://github.com/0x7c13/Notepads)* app, how *[Notepads](https://github.com/0x7c13/Notepads)* app uses it, and what choices you have.\n*[0x7c13](https://github.com/0x7c13)* with the help of the Github Notepads App community built the *[Notepads](https://github.com/0x7c13/Notepads)* app as a free app. This APP is provided by *[0x7c13](https://github.com/0x7c13)* at no cost and is intended for use as is.\nIf you choose to use this app, then you agree to the collection and use of information in relation with this policy. The data that we collect are used for providing and improving the app service. We will not use or share your information or usage data with anyone except as described in this Privacy Policy.  \n\n### Information Collection and Use  \nFor a better experience while using this app, certain usage data and errors are collected for identifying issues or improving the user experience of the app. *[Visual Studio AppCenter](https://visualstudio.microsoft.com/app-center/)* analytics service is used in this app to collect basic usage data plus some minimum telemetry to help debug runtime errors. See thread [#334](https://github.com/0x7c13/Notepads/issues/334) for more details.\nThe app does NOT use third party services that may collect information used to identify you.\n\nNote: Visual Studio App Center is scheduled for retirement on March 31, 2025. Notepads v1.5.6.0+ starts to use Microsoft Store Services SDK to log non-privacy usage data and errors.\n\n### Data Security  \nWe value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and we cannot guarantee its absolute security.\n\n### Changes to This Privacy Policy  \nWe may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. We will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately, after they are posted on this page.  \n\n### Contact Us  \nIf you have any questions or suggestions about our Privacy Policy, do not hesitate to contact us.  \nContact Information:  \nEmail: notepadsapp@outlook.com\n"
  },
  {
    "path": "README.md",
    "content": "<p align=\"center\">\n  <img width=\"128\" align=\"center\" src=\"src/Notepads/Assets/appicon_ws.gif\">\n</p>\n<h1 align=\"center\">\n  Notepads\n</h1>\n<p align=\"center\">\n  A modern, lightweight text editor with a minimalist design.\n</p>\n<p align=\"center\">\n  <a style=\"text-decoration:none\" href=\"https://www.microsoft.com/store/apps/9nhl4nsc67wm\">\n    <img src=\"https://img.shields.io/badge/Microsoft%20Store-Download-orange.svg?style=flat-square\" alt=\"Store link\" />\n  </a>\n  <a style=\"text-decoration:none\" href=\"https://github.com/0x7c13/Notepads/releases\">\n    <img src=\"https://img.shields.io/github/release/0x7c13/notepads.svg?label=latest%20version&style=flat-square\" alt=\"Releases\" />\n  </a>\n  <a style=\"text-decoration:none\">\n    <img src=\"https://img.shields.io/badge/platform-Windows%20%7C%20UWP-yellow.svg?style=flat-square\" alt=\"Platform\" />\n  </a>\n  <a style=\"text-decoration:none\" href=\"https://discord.gg/VqetCub\">\n    <img src=\"https://img.shields.io/discord/588473626651787274.svg?style=flat-square\" alt=\"Discord\" />\n  </a>\n</p>\n\n## What is Notepads and why do I care?\n\nI have been waiting long enough for a modern Windows 10 notepad app to come before I decided to create one myself. Don’t get me wrong, Notepad++, VS Code, and Sublime are great text editors. I have used them all and I will continue to use them in the future. However, they are either too heavy or look less appealing. There are times that I just wanted to use Windows notepad for things like writing notes or editing config files. So I decided to create a win32 notepad replacement here and try to give it a modern look and feel. Most importantly, it has to be blazingly fast and appeals to everyone.\n\nSo here comes the “Notepads” 🎉 (s stands for Sets).\n\n* Fluent design with a built-in tab system.\n* Blazingly fast and lightweight.\n* Launch from the command line or PowerShell by typing: `notepads` or `notepads %FilePath%`.\n* Multi-line handwriting support.\n* Built-in Markdown live preview.\n* Built-in diff viewer (preview your changes).\n* Session snapshot and multi-instances.\n\n![Screenshot Dark](ScreenShots/1.png?raw=true \"Dark\")\n![Screenshot Markdown](ScreenShots/2.png?raw=true \"Markdown\")\n![Screenshot DiffViewer](ScreenShots/3.png?raw=true \"DiffViewer\")\n![Screenshot Light](ScreenShots/4.png?raw=true \"Light\")\n\n## Shortcuts:\n\n* Ctrl+N/T to create new tab.\n* Ctrl+(Shift)+Tab to switch between tabs.\n* Ctrl+Num(1-9) to quickly switch to specified tab.\n* Ctrl+\"+\"/\"-\" for zooming. Ctrl+\"0\" to reset zooming to default.\n* Ctrl+L/R to change text flow direction. (LTR/RTL)\n* Alt+P to toggle preview split view for Markdown file.\n* Alt+D to toggle side-by-side diff viewer.\n\n## Platform limitations (UWP):\n\n* You won't be able to save files to system folders due to UWP restriction (windows, system32, etc.).\n* You cannot associate potentially harmful file types (.cmd, .bat etc.) with Notepads.\n* Notepads does not work well with large files; the file size limit is set to 1MB for now. I will add large file support later.\n\n## Downloads:\n\nNotepads is available in the Microsoft Store. You can get the latest version of Notepads here for free: [Microsoft Store Link](https://www.microsoft.com/store/apps/9nhl4nsc67wm).\n\nYou can also use the Windows Package Manager to install notepads:\n```cmd\nwinget install \"Notepads App\"\n```\n\n## Changelog:\n\n* [Notepads Releases](https://github.com/0x7c13/Notepads/releases)\n\n## Disclaimer and Privacy statement:\n\nTo be 100% transparent:\n\n* Notepads does not and will never collect user information in terms of user privacy.\n* I will not track your IP.\n* I will not record your typings or read any of your files created in Notepads including file name and file path.\n* No typings or files will be sent to me or third parties.\n\nI am using analytics service \"AppCenter\" to collect basic usage data plus some minimum telemetry to help me debug runtime errors. Here is the thread I made clear on this topic: https://github.com/0x7c13/Notepads/issues/334\n\nFeel free to review the source code or build your own version of Notepads since it is 100% open sourced.\n\n#### More to read here: [[Privacy Policy](PRIVACY.md)]\n\nTL;DR: You might notice that I work for Microsoft but Notepads is my personal project that I accomplish during free time (to empower every person and every organization on the planet to achieve more😃). I do not work for the Windows team, nor do I work for a Microsoft UX/App team. I am not expert on creating Windows apps either. I learned how to code UWP as soon as I started this project, so don’t put too much hope on me or treat it as a project sponsored by Microsoft.\n\n## Contributing:\n\n* [How to contribute?](CONTRIBUTING.md)\n* Notepads is free and open source, if you like my work, please consider:\n   * Star this project on GitHub\n   * Leave me a review [here](https://www.microsoft.com/store/apps/9nhl4nsc67wm)\n   * [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/D1D6Y3C6)\n\n## Dependencies and References:\n* [Windows Community Toolkit](https://github.com/windows-toolkit/WindowsCommunityToolkit)\n* [XAML Controls Gallery](https://github.com/microsoft/Xaml-Controls-Gallery)\n* [Windows UI Library](https://github.com/Microsoft/microsoft-ui-xaml)\n* [ColorCode Universal](https://github.com/WilliamABradley/ColorCode-Universal)\n* [UTF Unknown](https://github.com/CharsetDetector/UTF-unknown)\n* [DiffPlex](https://github.com/mmanela/diffplex)\n* [Win2D](https://github.com/microsoft/Win2D)\n\n## Special Thanks:\n\n* [Yi Zhou](http://zhouyiwork.com/) - App icon designer, Notepads App Icon (old) is greatly inspired by the new icon for Windows Terminal.\n* [Mahmoud Qurashy](https://github.com/mah-qurashy) - App icon and file icon(s) designer, creator of the new Notepads App Icon.\n\n* Alexandru Sterpu - App Tester, who helped me a lot during preview/beta testing.\n* Code Contributors: [DanverZ](https://github.com/chenghanzou), [BernhardWebstudio](https://github.com/BernhardWebstudio), [Csányi István](https://github.com/AmionSky), [Pavel Erokhin](https://github.com/MairwunNx), [Sergio Pedri](https://github.com/Sergio0694), [Lucas Pinho B. Santos](https://github.com/pinholucas), [Soumya Ranjan Mahunt](https://github.com/soumyamahunt), [Belleve Invis](https://github.com/be5invis), [Maickonn Richard](https://github.com/Maickonn), [Xam](https://github.com/XamDR)\n* Documentation Contributors: [Craig S.](https://github.com/sercraig)\n* Localization Contributors:\n    * [fr-FR][French (France)]: [François Rousselet](https://github.com/frousselet), [François-Joseph du Fou](https://github.com/FJduFou), [Armand Delessert](https://github.com/ArmandDelessert)\n    * [es-ES][Spanish (Spain)]: [Jose Pinilla](https://github.com/joseppinilla)\n    * [zh-CN][Chinese (S)]: [lindexi](https://github.com/lindexi), [walterlv](https://github.com/walterlv), [0x7c13](https://github.com/0x7c13)\n    * [hu-HU][Hungarian (Hungary)]: [Csányi István](https://github.com/AmionSky), [Kristóf Kékesi](https://github.com/KristofKekesi)\n    * [tr-TR][Turkish (Turkey)]: [Mert Can Demir](https://github.com/validatedev), [Emirhakan Tanhan](https://github.com/EmirhakanTanhan)\n    * [ja-JP][Japanese (Japan)]: [Mamoru Satoh](https://github.com/pnp0a03)\n    * [de-DE][German (Germany)]/[de-CH][German (Switzerland)]: [Walter Wolf](https://github.com/WalterWolf49)\n    * [ru-RU][Russian (Russia)]: [Pavel Erokhin](https://github.com/MairwunNx), [krlvm](https://github.com/krlvm)\n    * [fi-FI][Finnish (Finland)]: [Esa Elo](https://github.com/sauihdik)\n    * [uk-UA][Ukrainian (Ukraine)]: [Taras Fomin aka Tarik02](https://github.com/Tarik02)\n    * [it-IT][Italian (Italy)]: [Andrea Guarinoni](https://github.com/guari), [Bunz](https://github.com/66Bunz)\n    * [cs-CZ][Czech (Czech Republic)]: [Jan Rajnoha](https://github.com/JanRajnoha)\n    * [pt-BR][Portuguese (Brazil)]: [Lucas Pinho B. Santos](https://github.com/pinholucas)\n    * [ko-KR][Korean (Korea)]: [Donghyeok Tak](https://github.com/tdh8316)\n    * [hi-IN][Hindi (India)]/[or-IN][Odia (India)]: [Soumya Ranjan Mahunt](https://github.com/soumyamahunt)\n    * [pl-PL][Polish (Poland)]: [Daxxxis](https://github.com/Daxxxis)\n    * [ka-GE][Georgian (Georgia)]: [guram mazanashvili](https://github.com/gmaza)\n    * [hr-HR][Croatian (Croatia)]: [milotype](https://github.com/milotype)\n    * [zh-TW][Chinese (T)]: [Tony Yao](https://github.com/SeaBao)\n    * [pt-PT][Portuguese (Portugal)]: [O.Leitão](https://github.com/oleitao)\n    * [sr-Latn][Serbian (Latin)]: [bzzrak](https://github.com/bzzrak)\n    * [sr-cyrl][Serbian (Cyrillic)]: [bzzrak](https://github.com/bzzrak)\n    * [nl-NL][Dutch (Netherlands)]: [Stephan Paternotte](https://github.com/Stephan-P)\n\n* Notepads CI/CD pipeline: Built with ❤ by [Pipeline Foundation](https://pipeline.foundation)\n\n[![](https://sourcerer.io/fame/0x7c13/0x7c13/Notepads/images/0)](https://sourcerer.io/fame/0x7c13/0x7c13/Notepads/links/0)[![](https://sourcerer.io/fame/0x7c13/0x7c13/Notepads/images/1)](https://sourcerer.io/fame/0x7c13/0x7c13/Notepads/links/1)[![](https://sourcerer.io/fame/0x7c13/0x7c13/Notepads/images/2)](https://sourcerer.io/fame/0x7c13/0x7c13/Notepads/links/2)[![](https://sourcerer.io/fame/0x7c13/0x7c13/Notepads/images/3)](https://sourcerer.io/fame/0x7c13/0x7c13/Notepads/links/3)[![](https://sourcerer.io/fame/0x7c13/0x7c13/Notepads/images/4)](https://sourcerer.io/fame/0x7c13/0x7c13/Notepads/links/4)[![](https://sourcerer.io/fame/0x7c13/0x7c13/Notepads/images/5)](https://sourcerer.io/fame/0x7c13/0x7c13/Notepads/links/5)[![](https://sourcerer.io/fame/0x7c13/0x7c13/Notepads/images/6)](https://sourcerer.io/fame/0x7c13/0x7c13/Notepads/links/6)[![](https://sourcerer.io/fame/0x7c13/0x7c13/Notepads/images/7)](https://sourcerer.io/fame/0x7c13/0x7c13/Notepads/links/7)\n\n## Stay tuned 📢:\n* [Notepads Discord Server](https://discord.gg/VqetCub)\n"
  },
  {
    "path": "azure-pipelines.yml",
    "content": "# Universal Windows Platform build definition\n\ntrigger:\n  paths:\n    exclude:\n    - '*.md'\n    - 'ScreenShots/'\n    - '.whitesource'\n    - '.github/'\n  tags:\n    exclude:\n    - '*'\n\npool:\n  vmImage: 'windows-latest'\n\nvariables:\n  solution: '**/*.sln'\n  buildPlatform: 'x86|x64|arm64'\n  buildConfiguration: 'Production'\n  appxPackageDir: '$(build.artifactStagingDirectory)\\AppxPackages\\\\'\n\nsteps:\n- task: NuGetToolInstaller@1\n\n- task: NuGetCommand@2\n  inputs:\n    restoreSolution: '$(solution)'\n\n- task: VSBuild@1\n  inputs:\n    platform: 'x64'\n    solution: '$(solution)'\n    configuration: '$(buildConfiguration)'\n    msbuildArgs: '/p:AppxBundlePlatforms=\"$(buildPlatform)\"\n                  /p:AppxPackageDir=\"$(appxPackageDir)\"\n                  /p:AppxBundle=Always\n                  /p:UapAppxPackageBuildMode=StoreUpload\n                  /p:AppxPackageSigningEnabled=false'\n"
  },
  {
    "path": "src/.editorconfig",
    "content": "# Remove the line below if you want to inherit .editorconfig settings from higher directories\nroot = true\n\n# C# files\n[*.cs]\n\n#### Core EditorConfig Options ####\n\n# Indentation and spacing\nindent_size = 4\nindent_style = space\ntab_width = 4\n\n# New line preferences\nend_of_line = crlf\ninsert_final_newline = false\n\n#### .NET Coding Conventions ####\n\n# this. and Me. preferences\ndotnet_style_qualification_for_event = false:silent\ndotnet_style_qualification_for_field = false:silent\ndotnet_style_qualification_for_method = false:silent\ndotnet_style_qualification_for_property = false:silent\n\n# Language keywords vs BCL types preferences\ndotnet_style_predefined_type_for_locals_parameters_members = true:silent\ndotnet_style_predefined_type_for_member_access = true:silent\n\n# Parentheses preferences\ndotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent\ndotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent\ndotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent\ndotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent\n\n# Modifier preferences\ndotnet_style_require_accessibility_modifiers = for_non_interface_members:silent\n\n# Expression-level preferences\ncsharp_style_deconstructed_variable_declaration = true:suggestion\ncsharp_style_inlined_variable_declaration = true:silent\ncsharp_style_throw_expression = true:suggestion\ndotnet_style_coalesce_expression = true:suggestion\ndotnet_style_collection_initializer = true:suggestion\ndotnet_style_explicit_tuple_names = true:suggestion\ndotnet_style_null_propagation = true:suggestion\ndotnet_style_object_initializer = true:suggestion\ndotnet_style_prefer_auto_properties = true:silent\ndotnet_style_prefer_conditional_expression_over_assignment = true:silent\ndotnet_style_prefer_conditional_expression_over_return = true:silent\ndotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion\ndotnet_style_prefer_inferred_tuple_names = true:suggestion\ndotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion\n\n# Field preferences\ndotnet_style_readonly_field = true:suggestion\n\n#### C# Coding Conventions ####\n\n# var preferences\ncsharp_style_var_elsewhere = true:silent\ncsharp_style_var_for_built_in_types = true:silent\ncsharp_style_var_when_type_is_apparent = true:silent\n\n# Expression-bodied members\ncsharp_style_expression_bodied_accessors = true:silent\ncsharp_style_expression_bodied_constructors = false:silent\ncsharp_style_expression_bodied_indexers = true:silent\ncsharp_style_expression_bodied_lambdas = true:silent\ncsharp_style_expression_bodied_methods = false:silent\ncsharp_style_expression_bodied_operators = true:silent\ncsharp_style_expression_bodied_properties = true:silent\n\n# Pattern matching preferences\ncsharp_style_pattern_matching_over_as_with_null_check = true:silent\ncsharp_style_pattern_matching_over_is_with_cast_check = true:silent\n\n# Null-checking preferences\ncsharp_style_conditional_delegate_call = true:suggestion\n\n# Modifier preferences\ncsharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async\n\n# Code-block preferences\ncsharp_prefer_braces = false:suggestion\n\n# Expression-level preferences\ncsharp_prefer_simple_default_expression = true:suggestion\ncsharp_style_pattern_local_over_anonymous_function = true:suggestion\n\n#### C# Formatting Rules ####\n\n# New line preferences\ncsharp_new_line_before_catch = true\ncsharp_new_line_before_else = true\ncsharp_new_line_before_finally = true\ncsharp_new_line_before_members_in_anonymous_types = true\ncsharp_new_line_before_members_in_object_initializers = true\ncsharp_new_line_before_open_brace = all\ncsharp_new_line_between_query_expression_clauses = true\n\n# Indentation preferences\ncsharp_indent_block_contents = true\ncsharp_indent_braces = false\ncsharp_indent_case_contents = true\ncsharp_indent_case_contents_when_block = true\ncsharp_indent_labels = one_less_than_current\ncsharp_indent_switch_labels = true\n\n# Space preferences\ncsharp_space_after_cast = false\ncsharp_space_after_colon_in_inheritance_clause = true\ncsharp_space_after_comma = true\ncsharp_space_after_dot = false\ncsharp_space_after_keywords_in_control_flow_statements = true\ncsharp_space_after_semicolon_in_for_statement = true\ncsharp_space_around_binary_operators = before_and_after\ncsharp_space_around_declaration_statements = false\ncsharp_space_before_colon_in_inheritance_clause = true\ncsharp_space_before_comma = false\ncsharp_space_before_dot = false\ncsharp_space_before_open_square_brackets = false\ncsharp_space_before_semicolon_in_for_statement = false\ncsharp_space_between_empty_square_brackets = false\ncsharp_space_between_method_call_empty_parameter_list_parentheses = false\ncsharp_space_between_method_call_name_and_opening_parenthesis = false\ncsharp_space_between_method_call_parameter_list_parentheses = false\ncsharp_space_between_method_declaration_empty_parameter_list_parentheses = false\ncsharp_space_between_method_declaration_name_and_open_parenthesis = false\ncsharp_space_between_method_declaration_parameter_list_parentheses = false\ncsharp_space_between_parentheses = false\ncsharp_space_between_square_brackets = false\n\n# Wrapping preferences\ncsharp_preserve_single_line_blocks = true\ncsharp_preserve_single_line_statements = true\n\n\n# Naming Symbols\n# constant_fields - Define constant fields\ndotnet_naming_symbols.constant_fields.applicable_kinds                            = field\ndotnet_naming_symbols.constant_fields.required_modifiers                          = const\n# non_private_readonly_fields - Define public, internal and protected readonly fields\ndotnet_naming_symbols.non_private_readonly_fields.applicable_accessibilities      = public, internal, protected\ndotnet_naming_symbols.non_private_readonly_fields.applicable_kinds                = field\ndotnet_naming_symbols.non_private_readonly_fields.required_modifiers              = readonly\n# static_readonly_fields - Define static and readonly fields\ndotnet_naming_symbols.static_readonly_fields.applicable_kinds                     = field\ndotnet_naming_symbols.static_readonly_fields.required_modifiers                   = static, readonly\n# private_readonly_fields - Define private readonly fields\ndotnet_naming_symbols.private_readonly_fields.applicable_accessibilities          = private\ndotnet_naming_symbols.private_readonly_fields.applicable_kinds                    = field\ndotnet_naming_symbols.private_readonly_fields.required_modifiers                  = readonly\n# public_internal_fields - Define public and internal fields\ndotnet_naming_symbols.public_internal_protected_fields.applicable_accessibilities = public, internal, protected\ndotnet_naming_symbols.public_internal_protected_fields.applicable_kinds           = field\n# private_protected_fields - Define private and protected fields\ndotnet_naming_symbols.private_protected_fields.applicable_accessibilities         = private, protected\ndotnet_naming_symbols.private_protected_fields.applicable_kinds                   = field\n# public_symbols - Define any public symbol\ndotnet_naming_symbols.public_symbols.applicable_accessibilities                   = public, internal, protected, protected_internal\ndotnet_naming_symbols.public_symbols.applicable_kinds                             = method, property, event, delegate\n# parameters - Defines any parameter\ndotnet_naming_symbols.parameters.applicable_kinds                                 = parameter\n# non_interface_types - Defines class, struct, enum and delegate types\ndotnet_naming_symbols.non_interface_types.applicable_kinds                        = class, struct, enum, delegate\n# interface_types - Defines interfaces\ndotnet_naming_symbols.interface_types.applicable_kinds                            = interface\n\n# Naming Styles\n# camel_case - Define the camelCase style\ndotnet_naming_style.camel_case.capitalization                                     = camel_case\n# pascal_case - Define the Pascal_case style\ndotnet_naming_style.pascal_case.capitalization                                    = pascal_case\n# first_upper - The first character must start with an upper-case character\ndotnet_naming_style.first_upper.capitalization                                    = first_word_upper\n# prefix_interface_interface_with_i - Interfaces must be PascalCase and the first character of an interface must be an 'I'\ndotnet_naming_style.prefix_interface_interface_with_i.capitalization              = pascal_case\ndotnet_naming_style.prefix_interface_interface_with_i.required_prefix             = I\n\n# Naming Rules\n\n# Async\ndotnet_naming_rule.async_methods_end_in_async.severity                            = silent\ndotnet_naming_rule.async_methods_end_in_async.symbols                             = any_async_methods\ndotnet_naming_rule.async_methods_end_in_async.style                               = end_in_async\n\ndotnet_naming_symbols.any_async_methods.applicable_kinds                          = method\ndotnet_naming_symbols.any_async_methods.applicable_accessibilities                = *\ndotnet_naming_symbols.any_async_methods.required_modifiers                        = async\n\ndotnet_naming_style.end_in_async.required_suffix                                  = Async\ndotnet_naming_style.end_in_async.capitalization                                   = pascal_case\n\n# Constant fields must be PascalCase\ndotnet_naming_rule.constant_fields_must_be_pascal_case.severity                   = silent\ndotnet_naming_rule.constant_fields_must_be_pascal_case.symbols                    = constant_fields\ndotnet_naming_rule.constant_fields_must_be_pascal_case.style                      = pascal_case\n# Public, internal and protected readonly fields must be PascalCase\ndotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.severity       = silent\ndotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.symbols        = non_private_readonly_fields\ndotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.style          = pascal_case\n# Static readonly fields must be PascalCase\ndotnet_naming_rule.static_readonly_fields_must_be_pascal_case.severity            = silent\ndotnet_naming_rule.static_readonly_fields_must_be_pascal_case.symbols             = static_readonly_fields\ndotnet_naming_rule.static_readonly_fields_must_be_pascal_case.style               = pascal_case\n# Private readonly fields must be camelCase\ndotnet_naming_rule.private_readonly_fields_must_be_camel_case.severity            = silent\ndotnet_naming_rule.private_readonly_fields_must_be_camel_case.symbols             = private_readonly_fields\ndotnet_naming_rule.private_readonly_fields_must_be_camel_case.style               = camel_case\n# Public and internal fields must be PascalCase\ndotnet_naming_rule.public_internal_protected_fields_must_be_pascal_case.severity  = silent\ndotnet_naming_rule.public_internal_protected_fields_must_be_pascal_case.symbols   = public_internal_protected_fields\ndotnet_naming_rule.public_internal_protected_fields_must_be_pascal_case.style     = pascal_case\n# Private and protected fields must be camelCase\ndotnet_naming_rule.private_fields_must_be_camel_case.severity                     = silent\ndotnet_naming_rule.private_fields_must_be_camel_case.symbols                      = private_protected_fields\ndotnet_naming_rule.private_fields_must_be_camel_case.style                        = prefix_private_field_with_underscore\n# Public members must be capitalized\ndotnet_naming_rule.public_members_must_be_capitalized.severity                    = silent\ndotnet_naming_rule.public_members_must_be_capitalized.symbols                     = public_symbols\ndotnet_naming_rule.public_members_must_be_capitalized.style                       = first_upper\n# Parameters must be camelCase\ndotnet_naming_rule.parameters_must_be_camel_case.severity                         = silent\ndotnet_naming_rule.parameters_must_be_camel_case.symbols                          = parameters\ndotnet_naming_rule.parameters_must_be_camel_case.style                            = camel_case\n# Class, struct, enum and delegates must be PascalCase\ndotnet_naming_rule.non_interface_types_must_be_pascal_case.severity               = silent\ndotnet_naming_rule.non_interface_types_must_be_pascal_case.symbols                = non_interface_types\ndotnet_naming_rule.non_interface_types_must_be_pascal_case.style                  = pascal_case\n# Interfaces must be PascalCase and start with an 'I'\ndotnet_naming_rule.interface_types_must_be_prefixed_with_i.severity               = silent\ndotnet_naming_rule.interface_types_must_be_prefixed_with_i.symbols                = interface_types\ndotnet_naming_rule.interface_types_must_be_prefixed_with_i.style                  = prefix_interface_interface_with_i\n# prefix_private_field_with_underscore - Private fields must be prefixed with _\ndotnet_naming_style.prefix_private_field_with_underscore.capitalization           = camel_case\ndotnet_naming_style.prefix_private_field_with_underscore.required_prefix          = _\n\n# Code files\n[*.{cs,vb}]\n\n# Migrate back from old Toolkit.ruleset\ndotnet_diagnostic.CA1001.severity = warning\ndotnet_diagnostic.CA1009.severity = warning\ndotnet_diagnostic.CA1016.severity = warning\ndotnet_diagnostic.CA1033.severity = warning\ndotnet_diagnostic.CA1049.severity = warning\ndotnet_diagnostic.CA1060.severity = warning\ndotnet_diagnostic.CA1061.severity = warning\ndotnet_diagnostic.CA1063.severity = warning\ndotnet_diagnostic.CA1065.severity = warning\ndotnet_diagnostic.CA1301.severity = warning\ndotnet_diagnostic.CA1400.severity = warning\ndotnet_diagnostic.CA1401.severity = warning\ndotnet_diagnostic.CA1403.severity = warning\ndotnet_diagnostic.CA1404.severity = warning\ndotnet_diagnostic.CA1405.severity = warning\ndotnet_diagnostic.CA1410.severity = warning\ndotnet_diagnostic.CA1415.severity = warning\ndotnet_diagnostic.CA1821.severity = warning\ndotnet_diagnostic.CA1900.severity = warning\ndotnet_diagnostic.CA1901.severity = warning\ndotnet_diagnostic.CA2002.severity = warning\ndotnet_diagnostic.CA2100.severity = warning\ndotnet_diagnostic.CA2101.severity = warning\ndotnet_diagnostic.CA2108.severity = warning\ndotnet_diagnostic.CA2111.severity = warning\ndotnet_diagnostic.CA2112.severity = warning\ndotnet_diagnostic.CA2114.severity = warning\ndotnet_diagnostic.CA2116.severity = warning\ndotnet_diagnostic.CA2117.severity = warning\ndotnet_diagnostic.CA2122.severity = warning\ndotnet_diagnostic.CA2123.severity = warning\ndotnet_diagnostic.CA2124.severity = warning\ndotnet_diagnostic.CA2126.severity = warning\ndotnet_diagnostic.CA2131.severity = warning\ndotnet_diagnostic.CA2132.severity = warning\ndotnet_diagnostic.CA2133.severity = warning\ndotnet_diagnostic.CA2134.severity = warning\ndotnet_diagnostic.CA2137.severity = warning\ndotnet_diagnostic.CA2138.severity = warning\ndotnet_diagnostic.CA2140.severity = warning\ndotnet_diagnostic.CA2141.severity = warning\ndotnet_diagnostic.CA2146.severity = warning\ndotnet_diagnostic.CA2147.severity = warning\ndotnet_diagnostic.CA2149.severity = warning\ndotnet_diagnostic.CA2200.severity = warning\ndotnet_diagnostic.CA2202.severity = warning\ndotnet_diagnostic.CA2207.severity = warning\ndotnet_diagnostic.CA2212.severity = warning\ndotnet_diagnostic.CA2213.severity = warning\ndotnet_diagnostic.CA2214.severity = warning\ndotnet_diagnostic.CA2216.severity = warning\ndotnet_diagnostic.CA2220.severity = warning\ndotnet_diagnostic.CA2229.severity = warning\ndotnet_diagnostic.CA2231.severity = warning\ndotnet_diagnostic.CA2232.severity = warning\ndotnet_diagnostic.CA2235.severity = warning\ndotnet_diagnostic.CA2236.severity = warning\ndotnet_diagnostic.CA2237.severity = warning\ndotnet_diagnostic.CA2238.severity = warning\ndotnet_diagnostic.CA2240.severity = warning\ndotnet_diagnostic.CA2241.severity = warning\ndotnet_diagnostic.CA2242.severity = warning\ndotnet_diagnostic.CA1031.severity = none # Disable https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019\ndotnet_diagnostic.SA1011.severity = none\ndotnet_diagnostic.SA1101.severity = none\ndotnet_diagnostic.SA1118.severity = none\ndotnet_diagnostic.SA1200.severity = none\ndotnet_diagnostic.SA1201.severity = none\ndotnet_diagnostic.SA1202.severity = none\ndotnet_diagnostic.SA1309.severity = none\ndotnet_diagnostic.SA1310.severity = none\ndotnet_diagnostic.SA1600.severity = none\ndotnet_diagnostic.SA1602.severity = none\ndotnet_diagnostic.SA1611.severity = none\ndotnet_diagnostic.SA1633.severity = none\ndotnet_diagnostic.SA1634.severity = none\ndotnet_diagnostic.SA1652.severity = none\n\ndotnet_diagnostic.SA1629.severity = none # DocumentationTextMustEndWithAPeriod: Let's enable this rule back when we shift to WinUI3 (v8.x). If we do it now, it would mean more than 400 file changes.\ndotnet_diagnostic.SA1413.severity = none # UseTrailingCommasInMultiLineInitializers: This would also mean a lot of changes at the end of all multiline intializers. It's also debatable if we want this or not.\ndotnet_diagnostic.SA1314.severity = none # TypeParameterNamesMustBeginWithT: We do have a few templates that don't start with T. We need to double check that changing this is not a breaking change. If not, we can re-enable this."
  },
  {
    "path": "src/Notepads/App.xaml",
    "content": "﻿<Application\r\n    x:Class=\"Notepads.App\"\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\">\r\n\r\n    <Application.Resources>\r\n        <ResourceDictionary>\r\n\r\n            <!--<ResourceDictionary.ThemeDictionaries>\r\n                <ResourceDictionary x:Key=\"Light\">\r\n\r\n                </ResourceDictionary>\r\n                <ResourceDictionary x:Key=\"Dark\">\r\n\r\n                </ResourceDictionary>\r\n                <ResourceDictionary x:Key=\"HighContrast\">\r\n\r\n                </ResourceDictionary>\r\n            </ResourceDictionary.ThemeDictionaries>-->\r\n\r\n            <ResourceDictionary.MergedDictionaries>\r\n                <ResourceDictionary Source=\"Notepads.Controls/Themes/Generic.xaml\" />\r\n                <ResourceDictionary Source=\"Controls/TextEditor/TextEditorCore.xaml\" />\r\n                <ResourceDictionary Source=\"Controls/FindAndReplace/FindAndReplacePlaceholder.xaml\"></ResourceDictionary>\r\n                <ResourceDictionary Source=\"Resource/DismissButtonStyle.xaml\"></ResourceDictionary>\r\n                <ResourceDictionary Source=\"Resource/TransparentTextBoxStyle.xaml\"></ResourceDictionary>\r\n                <ResourceDictionary Source=\"Resource/CustomSplitViewStyle.xaml\"></ResourceDictionary>\r\n                <ResourceDictionary Source=\"Resource/InAppNotificationNoDismissButton.xaml\"></ResourceDictionary>\r\n                <ResourceDictionary Source=\"Resource/CustomSliderStyle.xaml\"></ResourceDictionary>\r\n                <ResourceDictionary Source=\"Resource/CustomRadioButtonStyle.xaml\"></ResourceDictionary>\r\n                <ResourceDictionary Source=\"Resource/CustomToggleSwitchStyle.xaml\"></ResourceDictionary>\r\n                <ResourceDictionary Source=\"Resource/CustomNavigationViewItemStyle.xaml\"></ResourceDictionary>\r\n                <ResourceDictionary Source=\"Resource/CustomAppBarButtonStyle.xaml\"></ResourceDictionary>\r\n                <ResourceDictionary Source=\"Resource/CustomCheckBoxStyle.xaml\"></ResourceDictionary>\r\n            </ResourceDictionary.MergedDictionaries>\r\n\r\n            <Style x:Key=\"CompactSubtitleTextBlockStyle\" TargetType=\"TextBlock\" BasedOn=\"{StaticResource SubtitleTextBlockStyle}\">\r\n                <Setter Property=\"FontSize\" Value=\"18\"/>\r\n            </Style>\r\n\r\n            <Style x:Key=\"DescriptionTextBlockStyle\" TargetType=\"TextBlock\" BasedOn=\"{StaticResource CaptionTextBlockStyle}\">\r\n                <Setter Property=\"Foreground\" Value=\"{ThemeResource SystemBaseMediumHighColor}\"/>\r\n            </Style>\r\n\r\n        </ResourceDictionary>\r\n    </Application.Resources>\r\n</Application>"
  },
  {
    "path": "src/Notepads/App.xaml.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Linq;\r\n    using System.Threading;\r\n    using System.Threading.Tasks;\r\n    using Microsoft.Toolkit.Uwp.Helpers;\r\n    using Notepads.Services;\r\n    using Notepads.Settings;\r\n    using Notepads.Utilities;\r\n    using Windows.ApplicationModel;\r\n    using Windows.ApplicationModel.Activation;\r\n    using Windows.ApplicationModel.Core;\r\n    using Windows.ApplicationModel.DataTransfer;\r\n    using Windows.ApplicationModel.Resources.Core;\r\n    using Windows.UI;\r\n    using Windows.UI.ViewManagement;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Navigation;\r\n\r\n    public sealed partial class App : Application\r\n    {\r\n        public static string ApplicationName = \"Notepads\";\r\n\r\n        public static Guid InstanceId { get; } = Guid.NewGuid();\r\n\r\n        public static bool IsPrimaryInstance = false;\r\n        public static bool IsGameBarWidget = false;\r\n\r\n        public static Mutex InstanceHandlerMutex { get; set; }\r\n\r\n        /// <summary>\r\n        /// Initializes the singleton application object.  This is the first line of authored code\r\n        /// executed, and as such is the logical equivalent of main() or WinMain().\r\n        /// </summary>\r\n        public App()\r\n        {\r\n            UnhandledException += OnUnhandledException;\r\n            TaskScheduler.UnobservedTaskException += OnUnobservedException;\r\n\r\n            InstanceHandlerMutex = new Mutex(true, App.ApplicationName, out bool isNew);\r\n            if (isNew)\r\n            {\r\n                IsPrimaryInstance = true;\r\n                ApplicationSettingsStore.Write(SettingsKey.ActiveInstanceIdStr, null);\r\n            }\r\n            else\r\n            {\r\n                InstanceHandlerMutex.Close();\r\n            }\r\n\r\n            LoggingService.LogInfo($\"[{nameof(App)}] Started: Instance = {InstanceId} IsPrimaryInstance: {IsPrimaryInstance} IsGameBarWidget: {IsGameBarWidget}.\");\r\n\r\n            ApplicationSettingsStore.Write(SettingsKey.ActiveInstanceIdStr, App.InstanceId.ToString());\r\n\r\n            InitializeComponent();\r\n\r\n            Suspending += OnSuspending;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Invoked when the application is launched normally by the end user.  Other entry points\r\n        /// will be used such as when the application is launched to open a specific file.\r\n        /// </summary>\r\n        /// <param name=\"e\">Details about the launch request and process.</param>\r\n        protected override async void OnLaunched(LaunchActivatedEventArgs e)\r\n        {\r\n            await ActivateAsync(e);\r\n        }\r\n\r\n        protected override async void OnFileActivated(FileActivatedEventArgs args)\r\n        {\r\n            await ActivateAsync(args);\r\n            base.OnFileActivated(args);\r\n        }\r\n\r\n        protected override async void OnActivated(IActivatedEventArgs args)\r\n        {\r\n            await ActivateAsync(args);\r\n            base.OnActivated(args);\r\n        }\r\n\r\n        private async Task ActivateAsync(IActivatedEventArgs e)\r\n        {\r\n            bool rootFrameCreated = false;\r\n\r\n            if (!(Window.Current.Content is Frame rootFrame))\r\n            {\r\n                rootFrame = CreateRootFrame(e);\r\n                Window.Current.Content = rootFrame;\r\n                rootFrameCreated = true;\r\n\r\n                ThemeSettingsService.Initialize();\r\n                AppSettingsService.Initialize();\r\n            }\r\n\r\n            var appLaunchSettings = new Dictionary<string, string>()\r\n            {\r\n                { \"OSArchitecture\", SystemInformation.Instance.OperatingSystemArchitecture.ToString() },\r\n                { \"OSVersion\", $\"{SystemInformation.Instance.OperatingSystemVersion.Major}.{SystemInformation.Instance.OperatingSystemVersion.Minor}.{SystemInformation.Instance.OperatingSystemVersion.Build}\" },\r\n                { \"UseWindowsTheme\", ThemeSettingsService.UseWindowsTheme.ToString() },\r\n                { \"ThemeMode\", ThemeSettingsService.ThemeMode.ToString() },\r\n                { \"UseWindowsAccentColor\", ThemeSettingsService.UseWindowsAccentColor.ToString() },\r\n                { \"AppBackgroundTintOpacity\", $\"{(int) (ThemeSettingsService.AppBackgroundPanelTintOpacity * 10.0) * 10}\" },\r\n                { \"ShowStatusBar\", AppSettingsService.ShowStatusBar.ToString() },\r\n                { \"IsSessionSnapshotEnabled\", AppSettingsService.IsSessionSnapshotEnabled.ToString() },\r\n                { \"IsShadowWindow\", (!IsPrimaryInstance && !IsGameBarWidget).ToString() },\r\n                { \"IsGameBarWidget\", IsGameBarWidget.ToString() },\r\n                { \"AlwaysOpenNewWindow\", AppSettingsService.AlwaysOpenNewWindow.ToString() },\r\n                { \"IsHighlightMisspelledWordsEnabled\", AppSettingsService.IsHighlightMisspelledWordsEnabled.ToString() },\r\n                { \"IsSmartCopyEnabled\", AppSettingsService.IsSmartCopyEnabled.ToString() },\r\n                { \"ExitWhenLastTabClosed\", AppSettingsService.ExitWhenLastTabClosed.ToString() },\r\n            };\r\n\r\n            LoggingService.LogInfo($\"[{nameof(App)}] Launch settings: \\n{string.Join(\"\\n\", appLaunchSettings.Select(x => x.Key + \"=\" + x.Value).ToArray())}.\");\r\n            AnalyticsService.TrackEvent(\"AppLaunch_Settings\", appLaunchSettings);\r\n\r\n            var appLaunchEditorSettings = new Dictionary<string, string>()\r\n            {\r\n                { \"EditorDefaultLineEnding\", AppSettingsService.EditorDefaultLineEnding.ToString() },\r\n                { \"EditorDefaultEncoding\", EncodingUtility.GetEncodingName(AppSettingsService.EditorDefaultEncoding) },\r\n                { \"EditorDefaultTabIndents\", AppSettingsService.EditorDefaultTabIndents.ToString() },\r\n                { \"EditorDefaultDecoding\", AppSettingsService.EditorDefaultDecoding == null ? \"Auto\" : EncodingUtility.GetEncodingName(AppSettingsService.EditorDefaultDecoding) },\r\n                { \"EditorFontFamily\", AppSettingsService.EditorFontFamily },\r\n                { \"EditorFontSize\", AppSettingsService.EditorFontSize.ToString() },\r\n                { \"EditorFontStyle\", AppSettingsService.EditorFontStyle.ToString() },\r\n                { \"EditorFontWeight\", AppSettingsService.EditorFontWeight.Weight.ToString() },\r\n                { \"EditorDefaultSearchEngine\", AppSettingsService.EditorDefaultSearchEngine.ToString() },\r\n                { \"DisplayLineHighlighter\", AppSettingsService.EditorDisplayLineHighlighter.ToString() },\r\n                { \"DisplayLineNumbers\", AppSettingsService.EditorDisplayLineNumbers.ToString() },\r\n            };\r\n\r\n            LoggingService.LogInfo($\"[{nameof(App)}] Editor settings: \\n{string.Join(\"\\n\", appLaunchEditorSettings.Select(x => x.Key + \"=\" + x.Value).ToArray())}.\");\r\n            AnalyticsService.TrackEvent(\"AppLaunch_Editor_Settings\", appLaunchEditorSettings);\r\n\r\n            try\r\n            {\r\n                await ActivationService.ActivateAsync(rootFrame, e);\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                var diagnosticInfo = new Dictionary<string, string>()\r\n                {\r\n                    { \"Message\", ex?.Message },\r\n                    { \"Exception\", ex?.ToString() },\r\n                };\r\n                AnalyticsService.TrackEvent(\"AppFailedToActivate\", diagnosticInfo);\r\n                AnalyticsService.TrackError(ex, diagnosticInfo);\r\n                throw;\r\n            }\r\n\r\n            try\r\n            {\r\n                if (Windows.Foundation.Metadata.ApiInformation.IsMethodPresent(\"Windows.ApplicationModel.Core.CoreApplication\", \"EnablePrelaunch\"))\r\n                {\r\n                    // Only enable prelaunch when AlwaysOpenNewWindow is set to false\r\n                    CoreApplication.EnablePrelaunch(!AppSettingsService.AlwaysOpenNewWindow);\r\n                }\r\n            }\r\n            catch (Exception)\r\n            {\r\n                // Best efforts\r\n            }\r\n\r\n            if (rootFrameCreated)\r\n            {\r\n                ExtendViewIntoTitleBar();\r\n                Window.Current.Activate();\r\n            }\r\n        }\r\n\r\n        private Frame CreateRootFrame(IActivatedEventArgs e)\r\n        {\r\n            Frame rootFrame = new Frame();\r\n\r\n            var flowDirectionSetting = ResourceContext.GetForCurrentView().QualifierValues[\"LayoutDirection\"];\r\n            if (flowDirectionSetting == \"RTL\" || flowDirectionSetting == \"TTBRTL\")\r\n            {\r\n                rootFrame.FlowDirection = FlowDirection.RightToLeft;\r\n            }\r\n            else\r\n            {\r\n                rootFrame.FlowDirection = FlowDirection.LeftToRight;\r\n            }\r\n            rootFrame.NavigationFailed += OnNavigationFailed;\r\n\r\n            if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)\r\n            {\r\n                // TODO: Load state from previously suspended application\r\n            }\r\n\r\n            return rootFrame;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Invoked when Navigation to a certain page fails\r\n        /// </summary>\r\n        /// <param name=\"sender\">The Frame which failed navigation</param>\r\n        /// <param name=\"e\">Details about the navigation failure</param>\r\n        void OnNavigationFailed(object sender, NavigationFailedEventArgs e)\r\n        {\r\n            var exception = new Exception($\"[{nameof(App)}] Failed to load Page: {e.SourcePageType.FullName} Exception: {e.Exception.Message}\");\r\n            LoggingService.LogException(exception);\r\n            AnalyticsService.TrackEvent(\"FailedToLoadPage\", new Dictionary<string, string>()\r\n            {\r\n                { \"Page\", e.SourcePageType.FullName },\r\n                { \"Exception\", e.Exception.Message }\r\n            });\r\n            throw exception;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Invoked when application execution is being suspended.  Application state is saved\r\n        /// without knowing whether the application will be terminated or resumed with the contents\r\n        /// of memory still intact.\r\n        /// </summary>\r\n        /// <param name=\"sender\">The source of the suspend request.</param>\r\n        /// <param name=\"args\">Details about the suspend request.</param>\r\n        private void OnSuspending(object sender, SuspendingEventArgs args)\r\n        {\r\n            var deferral = args.SuspendingOperation.GetDeferral();\r\n\r\n            try\r\n            {\r\n                // Here we flush the Clipboard again to make sure content in clipboard to remain available\r\n                // after the application shuts down.\r\n                Clipboard.Flush();\r\n            }\r\n            catch (Exception)\r\n            {\r\n                // Best efforts\r\n            }\r\n            finally\r\n            {\r\n                deferral.Complete();\r\n            }\r\n        }\r\n\r\n        // Occurs when an exception is not handled on the UI thread.\r\n        private static void OnUnhandledException(object sender, Windows.UI.Xaml.UnhandledExceptionEventArgs e)\r\n        {\r\n            LoggingService.LogError($\"[{nameof(App)}] OnUnhandledException: {e.Exception}\");\r\n\r\n            var diagnosticInfo = new Dictionary<string, string>()\r\n            {\r\n                { \"Message\", e.Message },\r\n                { \"Exception\", e.Exception?.ToString() },\r\n                { \"Culture\", SystemInformation.Instance.Culture.EnglishName },\r\n                { \"AvailableMemory\", SystemInformation.Instance.AvailableMemory.ToString(\"F0\") },\r\n                { \"FirstUseTimeUTC\", SystemInformation.Instance.FirstUseTime.ToUniversalTime().ToString(\"MM/dd/yyyy HH:mm:ss\") },\r\n                { \"OSArchitecture\", SystemInformation.Instance.OperatingSystemArchitecture.ToString() },\r\n                { \"OSVersion\", SystemInformation.Instance.OperatingSystemVersion.ToString() },\r\n                { \"IsShadowWindow\", (!IsPrimaryInstance && !IsGameBarWidget).ToString() },\r\n                { \"IsGameBarWidget\", IsGameBarWidget.ToString() }\r\n            };\r\n\r\n            AnalyticsService.TrackEvent(\"OnUnhandledException\", diagnosticInfo);\r\n            AnalyticsService.TrackError(e.Exception, diagnosticInfo);\r\n\r\n            // suppress and handle it manually.\r\n            e.Handled = true;\r\n        }\r\n\r\n        // Occurs when an exception is not handled on a background thread.\r\n        // ie. A task is fired and forgotten Task.Run(() => {...})\r\n        private static void OnUnobservedException(object sender, UnobservedTaskExceptionEventArgs e)\r\n        {\r\n            LoggingService.LogError($\"[{nameof(App)}] OnUnobservedException: {e.Exception}\");\r\n\r\n            var diagnosticInfo = new Dictionary<string, string>()\r\n            {\r\n                { \"Message\", e.Exception?.Message },\r\n                { \"Exception\", e.Exception?.ToString() },\r\n                { \"InnerException\", e.Exception?.InnerException?.ToString() },\r\n                { \"InnerExceptionMessage\", e.Exception?.InnerException?.Message }\r\n            };\r\n\r\n            AnalyticsService.TrackEvent(\"OnUnobservedException\", diagnosticInfo);\r\n            AnalyticsService.TrackError(e.Exception, diagnosticInfo);\r\n\r\n            // suppress and handle it manually.\r\n            e.SetObserved();\r\n        }\r\n\r\n        private static void ExtendViewIntoTitleBar()\r\n        {\r\n            if (!IsGameBarWidget)\r\n            {\r\n                CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true;\r\n                ApplicationViewTitleBar titleBar = ApplicationView.GetForCurrentView().TitleBar;\r\n                titleBar.ButtonBackgroundColor = Colors.Transparent;\r\n                titleBar.ButtonInactiveBackgroundColor = Colors.Transparent;\r\n            }\r\n        }\r\n\r\n        //private static void UpdateAppVersion()\r\n        //{\r\n        //    var packageVer = Package.Current.Id.Version;\r\n        //    string oldVer = ApplicationSettingsStore.Read(SettingsKey.AppVersionStr) as string ?? \"\";\r\n        //    string currentVer = $\"{packageVer.Major}.{packageVer.Minor}.{packageVer.Build}.{packageVer.Revision}\";\r\n\r\n        //    if (currentVer != oldVer)\r\n        //    {\r\n        //        JumpListService.IsJumpListOutOfDate = true;\r\n        //        ApplicationSettingsStore.Write(SettingsKey.AppVersionStr, currentVer);\r\n        //    }\r\n        //}\r\n\r\n        //private static async Task UpdateJumpListAsync()\r\n        //{\r\n        //    if (JumpListService.IsJumpListOutOfDate)\r\n        //    {\r\n        //        if (await JumpListService.UpdateJumpListAsync())\r\n        //        {\r\n        //            JumpListService.IsJumpListOutOfDate = false;\r\n        //        }\r\n        //    }\r\n        //}\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Brushes/HostBackdropAcrylicBrush.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Brushes\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Numerics;\r\n    using System.Threading;\r\n    using System.Threading.Tasks;\r\n    using Windows.Foundation;\r\n    using Windows.Graphics.DirectX;\r\n    using Windows.Graphics.Display;\r\n    using Windows.Graphics.Effects;\r\n    using Windows.Graphics.Imaging;\r\n    using Windows.System;\r\n    using Windows.System.Power;\r\n    using Windows.UI;\r\n    using Windows.UI.Composition;\r\n    using Windows.UI.ViewManagement;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Media;\r\n    using Microsoft.Graphics.Canvas;\r\n    using Microsoft.Graphics.Canvas.Effects;\r\n    using Microsoft.Graphics.Canvas.UI.Composition;\r\n    using Controls.Helpers;\r\n    using Notepads.Services;\r\n\r\n    public sealed class HostBackdropAcrylicBrush : XamlCompositionBrushBase, IDisposable\r\n    {\r\n        private static readonly DependencyProperty TintOpacityProperty = DependencyProperty.Register(\r\n            nameof(TintOpacity),\r\n            typeof(float),\r\n            typeof(HostBackdropAcrylicBrush),\r\n            new PropertyMetadata(0.0f, OnTintOpacityChanged)\r\n        );\r\n\r\n        public float TintOpacity\r\n        {\r\n            get => (float)GetValue(TintOpacityProperty);\r\n            set => SetValue(TintOpacityProperty, value);\r\n        }\r\n\r\n        private static void OnTintOpacityChanged(DependencyObject dependencyObject,\r\n            DependencyPropertyChangedEventArgs args)\r\n        {\r\n            if (!(dependencyObject is HostBackdropAcrylicBrush brush)) return;\r\n\r\n            if (brush.CompositionBrush is CompositionEffectBrush)\r\n            {\r\n                TintOpacityToArithmeticCompositeEffectSourceAmount((float)args.NewValue,\r\n                    _acrylicTintOpacityMinThreshold,\r\n                    out var source1Amount,\r\n                    out var source2Amount);\r\n                brush.CompositionBrush?.Properties.InsertScalar(\"LuminosityBlender.Source1Amount\", source1Amount);\r\n                brush.CompositionBrush?.Properties.InsertScalar(\"LuminosityBlender.Source2Amount\", source2Amount);\r\n            }\r\n            else if (brush.CompositionBrush is CompositionColorBrush)\r\n            {\r\n                // Do nothing since we are falling back to CompositionColorBrush here\r\n                // TintOpacity only applies to the CompositionEffectBrush we created\r\n            }\r\n        }\r\n\r\n        private static readonly DependencyProperty LuminosityColorProperty = DependencyProperty.Register(\r\n            nameof(LuminosityColor),\r\n            typeof(Color),\r\n            typeof(HostBackdropAcrylicBrush),\r\n            new PropertyMetadata(Colors.Transparent, OnLuminosityColorChanged)\r\n        );\r\n\r\n        public Color LuminosityColor\r\n        {\r\n            get => (Color)GetValue(LuminosityColorProperty);\r\n            set => SetValue(LuminosityColorProperty, value);\r\n        }\r\n\r\n        private static void OnLuminosityColorChanged(DependencyObject dependencyObject,\r\n            DependencyPropertyChangedEventArgs args)\r\n        {\r\n            if (!(dependencyObject is HostBackdropAcrylicBrush brush)) return;\r\n\r\n            switch (brush.CompositionBrush)\r\n            {\r\n                case CompositionEffectBrush _\r\n                    when brush.CompositionBrush?.Properties.TryGetColor(\"LuminosityColor.Color\", out var currentColor)\r\n                         == CompositionGetValueStatus.Succeeded:\r\n                    {\r\n                        var easing = Window.Current.Compositor.CreateLinearEasingFunction();\r\n                        var animation = Window.Current.Compositor.CreateColorKeyFrameAnimation();\r\n                        animation.InsertKeyFrame(0.0f, currentColor);\r\n                        animation.InsertKeyFrame(1.0f, (Color)args.NewValue, easing);\r\n                        animation.Duration = TimeSpan.FromMilliseconds(167);\r\n                        brush.CompositionBrush.StartAnimation(\"LuminosityColor.Color\", animation);\r\n                        break;\r\n                    }\r\n                case CompositionEffectBrush _:\r\n                    brush.CompositionBrush?.Properties.InsertColor(\"LuminosityColor.Color\", (Color)args.NewValue);\r\n                    break;\r\n                case CompositionColorBrush colorBrush:\r\n                    colorBrush.Color = (Color)args.NewValue;\r\n                    break;\r\n            }\r\n        }\r\n\r\n        public Uri NoiseTextureUri { get; set; }\r\n\r\n        private readonly SemaphoreSlim _semaphoreSlim = new SemaphoreSlim(1);\r\n\r\n        private readonly UISettings UISettings = new UISettings();\r\n\r\n        private const float _acrylicTintOpacityMinThreshold = 0.35f;\r\n\r\n        private readonly DispatcherQueue _dispatcherQueue;\r\n\r\n        private CompositionSurfaceBrush _noiseBrush;\r\n\r\n        public HostBackdropAcrylicBrush()\r\n        {\r\n            _dispatcherQueue = DispatcherQueue.GetForCurrentThread();\r\n        }\r\n\r\n        protected override async void OnConnected()\r\n        {\r\n            if (CompositionBrush == null)\r\n            {\r\n                await BuildInternalAsync();\r\n            }\r\n            base.OnConnected();\r\n        }\r\n\r\n        private async Task BuildInternalAsync()\r\n        {\r\n            await _semaphoreSlim.WaitAsync();\r\n            try\r\n            {\r\n                if (PowerManager.EnergySaverStatus == EnergySaverStatus.On || !UISettings.AdvancedEffectsEnabled)\r\n                {\r\n                    CompositionBrush = Window.Current.Compositor.CreateColorBrush(LuminosityColor);\r\n                }\r\n                else\r\n                {\r\n                    CompositionBrush = await BuildHostBackdropAcrylicBrushInternalAsync();\r\n                }\r\n\r\n                // Register energy saver event\r\n                PowerManager.EnergySaverStatusChanged -= OnEnergySaverStatusChanged;\r\n                PowerManager.EnergySaverStatusChanged += OnEnergySaverStatusChanged;\r\n\r\n                // Register system level transparency effects settings change event\r\n                UISettings.AdvancedEffectsEnabledChanged -= OnAdvancedEffectsEnabledChanged;\r\n                UISettings.AdvancedEffectsEnabledChanged += OnAdvancedEffectsEnabledChanged;\r\n            }\r\n            catch (Exception)\r\n            {\r\n                // Fallback to color brush if unable to create HostBackdropAcrylicBrush\r\n                CompositionBrush = Window.Current.Compositor.CreateColorBrush(LuminosityColor);\r\n            }\r\n            finally\r\n            {\r\n                _semaphoreSlim.Release();\r\n            }\r\n        }\r\n\r\n        private async void OnEnergySaverStatusChanged(object sender, object e)\r\n        {\r\n            await _dispatcherQueue.ExecuteOnUIThreadAsync(async () =>\r\n            {\r\n                await BuildInternalAsync();\r\n            });\r\n        }\r\n\r\n        private async void OnAdvancedEffectsEnabledChanged(UISettings sender, object args)\r\n        {\r\n            await _dispatcherQueue.ExecuteOnUIThreadAsync(async () =>\r\n            {\r\n                await BuildInternalAsync();\r\n            });\r\n        }\r\n\r\n        protected override async void OnDisconnected()\r\n        {\r\n            await _semaphoreSlim.WaitAsync();\r\n            if (CompositionBrush != null)\r\n            {\r\n                PowerManager.EnergySaverStatusChanged -= OnEnergySaverStatusChanged;\r\n                UISettings.AdvancedEffectsEnabledChanged -= OnAdvancedEffectsEnabledChanged;\r\n\r\n                CompositionBrush.Dispose();\r\n                CompositionBrush = null;\r\n            }\r\n            _semaphoreSlim.Release();\r\n            base.OnDisconnected();\r\n        }\r\n\r\n        private async Task<CompositionBrush> BuildHostBackdropAcrylicBrushInternalAsync()\r\n        {\r\n            int stage = 0;\r\n\r\n            try\r\n            {\r\n                stage = 1;\r\n                var luminosityColorEffect = new ColorSourceEffect()\r\n                {\r\n                    Name = \"LuminosityColor\",\r\n                    Color = LuminosityColor\r\n                };\r\n\r\n                TintOpacityToArithmeticCompositeEffectSourceAmount(TintOpacity, _acrylicTintOpacityMinThreshold,\r\n                    out var source1Amount,\r\n                    out var source2Amount);\r\n\r\n                stage = 2;\r\n                var luminosityBlendingEffect = new ArithmeticCompositeEffect\r\n                {\r\n                    Name = \"LuminosityBlender\",\r\n                    Source1 = new CompositionEffectSourceParameter(\"Backdrop\"),\r\n                    Source2 = luminosityColorEffect,\r\n                    MultiplyAmount = 0,\r\n                    Source1Amount = source1Amount,\r\n                    Source2Amount = source2Amount,\r\n                    Offset = 0\r\n                };\r\n\r\n                stage = 3;\r\n                var noiseBorderEffect = new BorderEffect()\r\n                {\r\n                    ExtendX = CanvasEdgeBehavior.Wrap,\r\n                    ExtendY = CanvasEdgeBehavior.Wrap,\r\n                    Source = new CompositionEffectSourceParameter(\"Noise\"),\r\n                };\r\n\r\n                stage = 4;\r\n                var noiseBlendingEffect = new BlendEffect()\r\n                {\r\n                    Name = \"NoiseBlender\",\r\n                    Mode = BlendEffectMode.Overlay,\r\n                    Background = luminosityBlendingEffect,\r\n                    Foreground = noiseBorderEffect\r\n                };\r\n\r\n                stage = 5;\r\n                _noiseBrush = _noiseBrush ?? await LoadImageBrushAsync(NoiseTextureUri);\r\n\r\n                IGraphicsEffect finalEffect;\r\n\r\n                if (_noiseBrush == null)\r\n                {\r\n                    finalEffect = luminosityBlendingEffect;\r\n                }\r\n                else\r\n                {\r\n                    finalEffect = noiseBlendingEffect;\r\n                }\r\n\r\n                stage = 6;\r\n                CompositionEffectFactory effectFactory = Window.Current.Compositor.CreateEffectFactory(finalEffect,\r\n                    new[]\r\n                    {\r\n                        \"LuminosityColor.Color\",\r\n                        \"LuminosityBlender.Source1Amount\",\r\n                        \"LuminosityBlender.Source2Amount\"\r\n                    });\r\n\r\n                stage = 7;\r\n                CompositionEffectBrush brush = effectFactory.CreateBrush();\r\n\r\n                stage = 8;\r\n                var hostBackdropBrush = Window.Current.Compositor.CreateHostBackdropBrush();\r\n                brush.SetSourceParameter(\"Backdrop\", hostBackdropBrush);\r\n\r\n                stage = 9;\r\n                if (_noiseBrush != null)\r\n                {\r\n                    brush.SetSourceParameter(\"Noise\", _noiseBrush);\r\n                }\r\n\r\n                return brush;\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                AnalyticsService.TrackEvent(\"FailedToBuildAcrylicBrushInternal\",\r\n                    new Dictionary<string, string>\r\n                    {\r\n                        { \"Exception\", ex.ToString() },\r\n                        { \"FailedAtStage\", stage.ToString() },\r\n                    });\r\n                throw; // rethrow here\r\n            }\r\n        }\r\n\r\n        private static async Task<CompositionSurfaceBrush> LoadImageBrushAsync(Uri textureUri)\r\n        {\r\n            try\r\n            {\r\n                using (CanvasDevice sharedDevice = CanvasDevice.GetSharedDevice())\r\n                {\r\n                    DisplayInformation display = DisplayInformation.GetForCurrentView();\r\n                    float dpi = display.LogicalDpi;\r\n\r\n                    CanvasBitmap bitmap = await CanvasBitmap.LoadAsync(sharedDevice, textureUri, dpi >= 96 ? dpi : 96);\r\n\r\n                    CompositionGraphicsDevice device = CanvasComposition.CreateCompositionGraphicsDevice(Window.Current.Compositor, sharedDevice);\r\n                    CompositionDrawingSurface surface = device.CreateDrawingSurface(default, DirectXPixelFormat.B8G8R8A8UIntNormalized, DirectXAlphaMode.Premultiplied);\r\n\r\n                    Size size = bitmap.Size;\r\n                    Size sizeInPixels = new Size(bitmap.SizeInPixels.Width, bitmap.SizeInPixels.Height);\r\n                    CanvasComposition.Resize(surface, sizeInPixels);\r\n\r\n                    using (CanvasDrawingSession session = CanvasComposition.CreateDrawingSession(surface, new Rect(0, 0, sizeInPixels.Width, sizeInPixels.Height), dpi))\r\n                    {\r\n                        session.Clear(Color.FromArgb(0, 0, 0, 0));\r\n                        session.DrawImage(bitmap, new Rect(0, 0, size.Width, size.Height), new Rect(0, 0, size.Width, size.Height));\r\n                        session.EffectTileSize = new BitmapSize { Width = (uint)size.Width, Height = (uint)size.Height };\r\n\r\n                        CompositionSurfaceBrush brush = surface.Compositor.CreateSurfaceBrush(surface);\r\n                        brush.Stretch = CompositionStretch.None;\r\n                        double pixels = display.RawPixelsPerViewPixel;\r\n                        if (pixels > 1)\r\n                        {\r\n                            brush.Scale = new Vector2((float)(1 / pixels));\r\n                            brush.BitmapInterpolationMode = CompositionBitmapInterpolationMode.NearestNeighbor;\r\n                        }\r\n                        return brush;\r\n                    }\r\n                }\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                AnalyticsService.TrackEvent(\"FailedToLoadImageBrush\", new Dictionary<string, string> { { \"Exception\", ex.ToString() } });\r\n                return null;\r\n            }\r\n        }\r\n\r\n        private static void TintOpacityToArithmeticCompositeEffectSourceAmount(float tintOpacity, float minThreshold,\r\n            out float source1Amount, out float source2Amount)\r\n        {\r\n            minThreshold = Math.Clamp(minThreshold, 0, 1);\r\n            var adjustedTintOpacity = Math.Clamp(tintOpacity, 0, 1);\r\n            adjustedTintOpacity = ((1 - minThreshold) * adjustedTintOpacity) + minThreshold;\r\n            source1Amount = 1 - adjustedTintOpacity;\r\n            source2Amount = adjustedTintOpacity;\r\n        }\r\n\r\n        public void Dispose()\r\n        {\r\n            PowerManager.EnergySaverStatusChanged -= OnEnergySaverStatusChanged;\r\n            UISettings.AdvancedEffectsEnabledChanged -= OnAdvancedEffectsEnabledChanged;\r\n\r\n            _semaphoreSlim?.Dispose();\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Commands/CommandHandlerResult.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Commands\r\n{\r\n    public class CommandHandlerResult\r\n    {\r\n        public CommandHandlerResult(bool shouldHandle, bool shouldSwallow)\r\n        {\r\n            ShouldHandle = shouldHandle;\r\n            ShouldSwallow = shouldSwallow;\r\n        }\r\n\r\n        /// <summary>\r\n        /// \"ShouldHandle == true\" means the keyboard command event should be handled after execution\r\n        /// Meaning you should set KeyRoutedEventArgs.Handled to true after execution\r\n        /// All child OnKeyDown event will not be received and should not be triggered if it is true\r\n        /// </summary>\r\n        public bool ShouldHandle { get; }\r\n\r\n        /// <summary>\r\n        /// \"ShouldSwallow == true\" means the keyboard command event should not go to it's children\r\n        /// Meaning you should not call base.OnKeyDown after execution\r\n        /// All parent OnKeyDown event will not be received and should not be triggered if it is true\r\n        /// </summary>\r\n        public bool ShouldSwallow { get; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Commands/ICommandHandler.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Commands\r\n{\r\n    public interface ICommandHandler<in T>\r\n    {\r\n        CommandHandlerResult Handle(T args);\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Commands/IKeyboardCommand.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Commands\r\n{\r\n    using Windows.System;\r\n\r\n    public interface IKeyboardCommand<T>\r\n    {\r\n        bool Hit(bool ctrlDown, bool altDown, bool shiftDown, VirtualKey key);\r\n\r\n        bool ShouldExecute(IKeyboardCommand<T> lastCommand);\r\n\r\n        bool ShouldHandleAfterExecution();\r\n\r\n        bool ShouldSwallowAfterExecution();\r\n\r\n        void Execute(T args);\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Commands/IMouseCommand.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Commands\r\n{\r\n    public interface IMouseCommand<in T>\r\n    {\r\n        bool Hit(\r\n            bool ctrlDown,\r\n            bool altDown,\r\n            bool shiftDown,\r\n            bool leftButtonDown,\r\n            bool middleButtonDown,\r\n            bool rightButtonDown);\r\n\r\n        bool ShouldHandleAfterExecution();\r\n\r\n        bool ShouldSwallowAfterExecution();\r\n\r\n        void Execute(T args);\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Commands/KeyboardCommand.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Commands\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using Windows.System;\r\n\r\n    public sealed class KeyboardCommand<T> : IKeyboardCommand<T>\r\n    {\r\n        private static readonly TimeSpan ConsecutiveHitsInterval = TimeSpan.FromMilliseconds(500);\r\n\r\n        private readonly bool _ctrl;\r\n        private readonly bool _alt;\r\n        private readonly bool _shift;\r\n        private readonly IList<VirtualKey> _keys;\r\n        private readonly Action<T> _action;\r\n        private readonly bool _shouldHandle;\r\n        private readonly bool _shouldSwallow;\r\n        private readonly int _requiredHits;\r\n        private int _hits;\r\n        private DateTime _lastHitTimestamp;\r\n\r\n        public KeyboardCommand(\r\n            VirtualKey key,\r\n            Action<T> action,\r\n            bool shouldHandle = true,\r\n            bool shouldSwallow = true) :\r\n            this(false, false, false, key, action, shouldHandle, shouldSwallow)\r\n        {\r\n        }\r\n\r\n        public KeyboardCommand(\r\n            bool ctrlDown,\r\n            bool altDown,\r\n            bool shiftDown,\r\n            VirtualKey key,\r\n            Action<T> action,\r\n            bool shouldHandle = true,\r\n            bool shouldSwallow = true,\r\n            int requiredHits = 1) :\r\n            this(ctrlDown, altDown, shiftDown, new List<VirtualKey>() { key }, action, shouldHandle, shouldSwallow, requiredHits)\r\n        {\r\n        }\r\n\r\n        public KeyboardCommand(\r\n            bool ctrlDown,\r\n            bool altDown,\r\n            bool shiftDown,\r\n            IList<VirtualKey> keys,\r\n            Action<T> action,\r\n            bool shouldHandle,\r\n            bool shouldSwallow,\r\n            int requiredHits = 1)\r\n        {\r\n            _ctrl = ctrlDown;\r\n            _alt = altDown;\r\n            _shift = shiftDown;\r\n            _keys = keys ?? new List<VirtualKey>();\r\n            _action = action;\r\n            _shouldHandle = shouldHandle;\r\n            _shouldSwallow = shouldSwallow;\r\n            _requiredHits = requiredHits;\r\n            _hits = 0;\r\n            _lastHitTimestamp = DateTime.MinValue;\r\n        }\r\n\r\n        public bool Hit(bool ctrlDown, bool altDown, bool shiftDown, VirtualKey key)\r\n        {\r\n            return _ctrl == ctrlDown && _alt == altDown && _shift == shiftDown && _keys.Contains(key);\r\n        }\r\n\r\n        public bool ShouldExecute(IKeyboardCommand<T> lastCommand)\r\n        {\r\n            DateTime now = DateTime.UtcNow;\r\n\r\n            if (lastCommand == this && now - _lastHitTimestamp < ConsecutiveHitsInterval)\r\n            {\r\n                _hits++;\r\n            }\r\n            else\r\n            {\r\n                _hits = 1;\r\n            }\r\n\r\n            _lastHitTimestamp = now;\r\n\r\n            if (_hits >= _requiredHits)\r\n            {\r\n                _hits = 0;\r\n                return true;\r\n            }\r\n\r\n            return false;\r\n        }\r\n\r\n        public bool ShouldHandleAfterExecution()\r\n        {\r\n            return _shouldHandle;\r\n        }\r\n\r\n        public bool ShouldSwallowAfterExecution()\r\n        {\r\n            return _shouldSwallow;\r\n        }\r\n\r\n        public void Execute(T args)\r\n        {\r\n            _action?.Invoke(args);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Commands/KeyboardCommandHandler.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Commands\r\n{\r\n    using System.Collections.Generic;\r\n    using Windows.System;\r\n    using Windows.UI.Core;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Input;\r\n\r\n    public sealed class KeyboardCommandHandler : ICommandHandler<KeyRoutedEventArgs>\r\n    {\r\n        public readonly ICollection<IKeyboardCommand<KeyRoutedEventArgs>> Commands;\r\n\r\n        private IKeyboardCommand<KeyRoutedEventArgs> _lastCommand;\r\n\r\n        public KeyboardCommandHandler(ICollection<IKeyboardCommand<KeyRoutedEventArgs>> commands)\r\n        {\r\n            Commands = commands;\r\n        }\r\n\r\n        public CommandHandlerResult Handle(KeyRoutedEventArgs args)\r\n        {\r\n            var ctrlDown = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control).HasFlag(CoreVirtualKeyStates.Down);\r\n            var altDown = Window.Current.CoreWindow.GetKeyState(VirtualKey.Menu).HasFlag(CoreVirtualKeyStates.Down);\r\n            var shiftDown = Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift).HasFlag(CoreVirtualKeyStates.Down);\r\n            var shouldHandle = false;\r\n            var shouldSwallow = false;\r\n\r\n            foreach (var command in Commands)\r\n            {\r\n                if (command.Hit(ctrlDown, altDown, shiftDown, args.Key))\r\n                {\r\n                    if (command.ShouldExecute(_lastCommand))\r\n                    {\r\n                        command.Execute(args);\r\n                    }\r\n\r\n                    if (command.ShouldSwallowAfterExecution())\r\n                    {\r\n                        shouldSwallow = true;\r\n                    }\r\n\r\n                    if (command.ShouldHandleAfterExecution())\r\n                    {\r\n                        shouldHandle = true;\r\n                    }\r\n\r\n                    _lastCommand = command;\r\n                    break;\r\n                }\r\n            }\r\n\r\n            if (!shouldHandle)\r\n            {\r\n                _lastCommand = null;\r\n            }\r\n\r\n            return new CommandHandlerResult(shouldHandle, shouldSwallow);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Commands/MouseCommand.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Commands\r\n{\r\n    using System;\r\n\r\n    public sealed class MouseCommand<T> : IMouseCommand<T>\r\n    {\r\n        private readonly bool _ctrl;\r\n        private readonly bool _alt;\r\n        private readonly bool _shift;\r\n        private readonly bool _leftButton;\r\n        private readonly bool _middleButton;\r\n        private readonly bool _rightButton;\r\n        private readonly Action<T> _action;\r\n        private readonly bool _shouldHandle;\r\n        private readonly bool _shouldSwallow;\r\n\r\n        public MouseCommand(\r\n            bool leftButtonDown,\r\n            bool middleButtonDown,\r\n            bool rightButtonDown,\r\n            Action<T> action,\r\n            bool shouldHandle = true,\r\n            bool shouldSwallow = true) :\r\n            this(false, false, false, leftButtonDown, middleButtonDown, rightButtonDown, action, shouldHandle, shouldSwallow)\r\n        {\r\n        }\r\n\r\n        public MouseCommand(\r\n            bool ctrlDown,\r\n            bool altDown,\r\n            bool shiftDown,\r\n            bool leftButtonDown,\r\n            bool middleButtonDown,\r\n            bool rightButtonDown,\r\n            Action<T> action,\r\n            bool shouldHandle = true,\r\n            bool shouldSwallow = true)\r\n        {\r\n            _ctrl = ctrlDown;\r\n            _alt = altDown;\r\n            _shift = shiftDown;\r\n            _leftButton = leftButtonDown;\r\n            _middleButton = middleButtonDown;\r\n            _rightButton = rightButtonDown;\r\n            _action = action;\r\n            _shouldHandle = shouldHandle;\r\n            _shouldSwallow = shouldSwallow;\r\n        }\r\n\r\n        public bool Hit(\r\n            bool ctrlDown,\r\n            bool altDown,\r\n            bool shiftDown,\r\n            bool leftButtonDown,\r\n            bool middleButtonDown,\r\n            bool rightButtonDown)\r\n        {\r\n            return _ctrl == ctrlDown &&\r\n                   _alt == altDown &&\r\n                   _shift == shiftDown &&\r\n                   _leftButton == leftButtonDown &&\r\n                   _middleButton == middleButtonDown &&\r\n                   _rightButton == rightButtonDown;\r\n        }\r\n\r\n        public bool ShouldHandleAfterExecution()\r\n        {\r\n            return _shouldHandle;\r\n        }\r\n\r\n        public bool ShouldSwallowAfterExecution()\r\n        {\r\n            return _shouldSwallow;\r\n        }\r\n\r\n        public void Execute(T args)\r\n        {\r\n            _action?.Invoke(args);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Commands/MouseCommandHandler.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Commands\r\n{\r\n    using System.Collections.Generic;\r\n    using Windows.System;\r\n    using Windows.UI.Core;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Input;\r\n\r\n    public sealed class MouseCommandHandler : ICommandHandler<PointerRoutedEventArgs>\r\n    {\r\n        public readonly ICollection<IMouseCommand<PointerRoutedEventArgs>> Commands;\r\n\r\n        private readonly UIElement _relativeTo;\r\n\r\n        public MouseCommandHandler(ICollection<IMouseCommand<PointerRoutedEventArgs>> commands, UIElement relativeTo)\r\n        {\r\n            Commands = commands;\r\n            _relativeTo = relativeTo;\r\n        }\r\n\r\n        public CommandHandlerResult Handle(PointerRoutedEventArgs args)\r\n        {\r\n            var ctrlDown = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control).HasFlag(CoreVirtualKeyStates.Down);\r\n            var altDown = Window.Current.CoreWindow.GetKeyState(VirtualKey.Menu).HasFlag(CoreVirtualKeyStates.Down);\r\n            var shiftDown = Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift).HasFlag(CoreVirtualKeyStates.Down);\r\n            var point = args.GetCurrentPoint(_relativeTo).Properties;\r\n            var shouldHandle = false;\r\n            var shouldSwallow = false;\r\n\r\n            foreach (var command in Commands)\r\n            {\r\n                if (command.Hit(\r\n                    ctrlDown,\r\n                    altDown,\r\n                    shiftDown,\r\n                    point.IsLeftButtonPressed,\r\n                    point.IsMiddleButtonPressed,\r\n                    point.IsRightButtonPressed))\r\n                {\r\n                    command.Execute(args);\r\n\r\n                    if (command.ShouldSwallowAfterExecution())\r\n                    {\r\n                        shouldSwallow = true;\r\n                    }\r\n\r\n                    if (command.ShouldHandleAfterExecution())\r\n                    {\r\n                        shouldHandle = true;\r\n                    }\r\n\r\n                    break;\r\n                }\r\n            }\r\n\r\n            return new CommandHandlerResult(shouldHandle, shouldSwallow);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/Dialog/AppCloseSaveReminderDialog.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.Dialog\r\n{\r\n    using System;\r\n    using Windows.UI;\r\n    using Windows.UI.Xaml;\r\n\r\n    public sealed class AppCloseSaveReminderDialog : NotepadsDialog\r\n    {\r\n        public AppCloseSaveReminderDialog(Action saveAndExitAction, Action discardAndExitAction, Action cancelAction)\r\n        {\r\n            Title = ResourceLoader.GetString(\"AppCloseSaveReminderDialog_Title\");\r\n            HorizontalAlignment = HorizontalAlignment.Center;\r\n            Content = ResourceLoader.GetString(\"AppCloseSaveReminderDialog_Content\");\r\n            PrimaryButtonText = ResourceLoader.GetString(\"AppCloseSaveReminderDialog_PrimaryButtonText\");\r\n            SecondaryButtonText = ResourceLoader.GetString(\"AppCloseSaveReminderDialog_SecondaryButtonText\");\r\n            CloseButtonText = ResourceLoader.GetString(\"AppCloseSaveReminderDialog_CloseButtonText\");\r\n            PrimaryButtonStyle = GetButtonStyle(Color.FromArgb(255, 38, 114, 201));\r\n\r\n            PrimaryButtonClick += (dialog, eventArgs) => saveAndExitAction();\r\n            SecondaryButtonClick += (dialog, eventArgs) => discardAndExitAction();\r\n            CloseButtonClick += (dialog, eventArgs) => cancelAction();\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/Dialog/FileOpenErrorDialog.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.Dialog\r\n{\r\n    public sealed class FileOpenErrorDialog : NotepadsDialog\r\n    {\r\n        public FileOpenErrorDialog(string filePath, string errorMsg)\r\n        {\r\n            Title = ResourceLoader.GetString(\"FileOpenErrorDialog_Title\");\r\n            Content = string.IsNullOrEmpty(filePath) ? errorMsg : string.Format(ResourceLoader.GetString(\"FileOpenErrorDialog_Content\"), filePath, errorMsg);\r\n            PrimaryButtonText = ResourceLoader.GetString(\"FileOpenErrorDialog_PrimaryButtonText\");\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/Dialog/FileRenameDialog.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.Dialog\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using Windows.System;\r\n    using Windows.UI;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Media;\r\n    using Notepads.Services;\r\n    using Notepads.Utilities;\r\n\r\n    public sealed class FileRenameDialog : NotepadsDialog\r\n    {\r\n        private readonly TextBox _fileNameTextBox;\r\n\r\n        private readonly TextBlock _errorMessageTextBlock;\r\n\r\n        private readonly Action<string> _confirmedAction;\r\n\r\n        private readonly string _originalFilename;\r\n\r\n        private readonly bool _fileExists;\r\n\r\n        public FileRenameDialog(string filename, bool fileExists, Action<string> confirmedAction)\r\n        {\r\n            _originalFilename = filename;\r\n            _fileExists = fileExists;\r\n            _confirmedAction = confirmedAction;\r\n\r\n            _fileNameTextBox = new TextBox\r\n            {\r\n                Style = (Style)Application.Current.Resources[\"TransparentTextBoxStyle\"],\r\n                Text = filename,\r\n                IsSpellCheckEnabled = false,\r\n                AcceptsReturn = false,\r\n                SelectionStart = 0,\r\n                SelectionLength = filename.Contains(\".\") ? filename.LastIndexOf(\".\", StringComparison.Ordinal) : filename.Length,\r\n                Height = 35,\r\n            };\r\n\r\n            _errorMessageTextBlock = new TextBlock()\r\n            {\r\n                Visibility = Visibility.Collapsed,\r\n                Margin = new Thickness(4, 10, 4, 0),\r\n                FontSize = Math.Clamp(_fileNameTextBox.FontSize - 2, 1, Double.PositiveInfinity),\r\n                TextWrapping = TextWrapping.Wrap\r\n            };\r\n\r\n            var contentStack = new StackPanel();\r\n            contentStack.Children.Add(_fileNameTextBox);\r\n            contentStack.Children.Add(_errorMessageTextBlock);\r\n\r\n            Title = ResourceLoader.GetString(\"FileRenameDialog_Title\");\r\n            Content = contentStack;\r\n            PrimaryButtonText = ResourceLoader.GetString(\"FileRenameDialog_PrimaryButtonText\");\r\n            CloseButtonText = ResourceLoader.GetString(\"FileRenameDialog_CloseButtonText\");\r\n            IsPrimaryButtonEnabled = false;\r\n\r\n            _fileNameTextBox.TextChanging += OnTextChanging;\r\n            _fileNameTextBox.KeyDown += OnKeyDown;\r\n\r\n            PrimaryButtonClick += (sender, args) => TryRename();\r\n\r\n            AnalyticsService.TrackEvent(\"FileRenameDialogOpened\", new Dictionary<string, string>()\r\n            {\r\n                { \"FileExists\", fileExists.ToString() },\r\n            });\r\n        }\r\n\r\n        private bool TryRename()\r\n        {\r\n            var newFileName = _fileNameTextBox.Text;\r\n\r\n            if (string.Compare(_originalFilename, newFileName, StringComparison.OrdinalIgnoreCase) == 0)\r\n            {\r\n                return false;\r\n            }\r\n\r\n            if (!FileSystemUtility.IsFilenameValid(newFileName, out var error))\r\n            {\r\n                return false;\r\n            }\r\n\r\n            if (_fileExists && !FileExtensionProvider.IsFileExtensionSupported(FileTypeUtility.GetFileExtension(newFileName)))\r\n            {\r\n                return false;\r\n            }\r\n\r\n            _confirmedAction(newFileName.Trim());\r\n            return true;\r\n        }\r\n\r\n        private void OnKeyDown(object sender, Windows.UI.Xaml.Input.KeyRoutedEventArgs e)\r\n        {\r\n            if (e.Key == VirtualKey.Enter)\r\n            {\r\n                if (TryRename())\r\n                {\r\n                    Hide();\r\n                }\r\n            }\r\n        }\r\n\r\n        private void OnTextChanging(TextBox sender, TextBoxTextChangingEventArgs args)\r\n        {\r\n            if (!args.IsContentChanging) return;\r\n\r\n            var newFilename = sender.Text;\r\n            var isFilenameValid = FileSystemUtility.IsFilenameValid(newFilename, out var error);\r\n            var nameChanged = string.Compare(_originalFilename, newFilename, StringComparison.OrdinalIgnoreCase) != 0;\r\n            var isExtensionSupported = false;\r\n            var fileExtension = FileTypeUtility.GetFileExtension(newFilename);\r\n\r\n            if (!_fileExists) // User can rename whatever they want for new file\r\n            {\r\n                isExtensionSupported = true;\r\n            }\r\n            else if (FileExtensionProvider.IsFileExtensionSupported(fileExtension))\r\n            {\r\n                // User can only rename an existing file if extension is supported by the app\r\n                // This is a Windows 10 UWP limitation\r\n                isExtensionSupported = true;\r\n            }\r\n\r\n            if (!isFilenameValid)\r\n            {\r\n                _errorMessageTextBlock.Foreground = new SolidColorBrush(Colors.Red);\r\n                _errorMessageTextBlock.Text = ResourceLoader.GetString($\"InvalidFilenameError_{error}\");\r\n                _errorMessageTextBlock.Visibility = Visibility.Visible;\r\n            }\r\n            else if (!isExtensionSupported)\r\n            {\r\n                _errorMessageTextBlock.Foreground = new SolidColorBrush(Colors.OrangeRed);\r\n                _errorMessageTextBlock.Text = string.IsNullOrEmpty(fileExtension)\r\n                    ? string.Format(ResourceLoader.GetString(\"FileRenameError_EmptyFileExtension\"))\r\n                    : string.Format(ResourceLoader.GetString(\"FileRenameError_UnsupportedFileExtension\"), fileExtension);\r\n                _errorMessageTextBlock.Visibility = Visibility.Visible;\r\n            }\r\n            else\r\n            {\r\n                _errorMessageTextBlock.Visibility = Visibility.Collapsed;\r\n            }\r\n\r\n            IsPrimaryButtonEnabled = isFilenameValid && nameChanged && isExtensionSupported;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/Dialog/FileSaveErrorDialog.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.Dialog\r\n{\r\n    public sealed class FileSaveErrorDialog : NotepadsDialog\r\n    {\r\n        public FileSaveErrorDialog(string filePath, string errorMsg)\r\n        {\r\n            var content = string.IsNullOrEmpty(filePath) ? errorMsg : string.Format(ResourceLoader.GetString(\"FileSaveErrorDialog_Content\"), filePath, errorMsg);\r\n            Title = ResourceLoader.GetString(\"FileSaveErrorDialog_Title\");\r\n            Content = content;\r\n            PrimaryButtonText = ResourceLoader.GetString(\"FileSaveErrorDialog_PrimaryButtonText\");\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/Dialog/NotepadsDialog.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.Dialog\r\n{\r\n    using Windows.ApplicationModel.Resources;\r\n    using Windows.UI;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Media;\r\n    using Notepads.Services;\r\n    using Microsoft.Toolkit.Uwp.Helpers;\r\n\r\n    public class NotepadsDialog : ContentDialog\r\n    {\r\n        public bool IsAborted = false;\r\n\r\n        private readonly SolidColorBrush _darkModeBackgroundBrush = new SolidColorBrush(\"#101010\".ToColor());\r\n        private readonly SolidColorBrush _lightModeBackgroundBrush = new SolidColorBrush(Colors.White);\r\n\r\n        public NotepadsDialog()\r\n        {\r\n            RequestedTheme = ThemeSettingsService.ThemeMode;\r\n            Background = ThemeSettingsService.ThemeMode == ElementTheme.Dark\r\n                ? _darkModeBackgroundBrush\r\n                : _lightModeBackgroundBrush;\r\n\r\n            ActualThemeChanged += NotepadsDialog_ActualThemeChanged;\r\n        }\r\n\r\n        private void NotepadsDialog_ActualThemeChanged(FrameworkElement sender, object args)\r\n        {\r\n            Background = ActualTheme == ElementTheme.Dark\r\n                ? _darkModeBackgroundBrush\r\n                : _lightModeBackgroundBrush;\r\n        }\r\n\r\n        internal readonly ResourceLoader ResourceLoader = ResourceLoader.GetForCurrentView();\r\n\r\n        internal static Style GetButtonStyle(Color backgroundColor)\r\n        {\r\n            var buttonStyle = new Windows.UI.Xaml.Style(typeof(Button));\r\n            buttonStyle.Setters.Add(new Setter(Control.BackgroundProperty, backgroundColor));\r\n            buttonStyle.Setters.Add(new Setter(Control.ForegroundProperty, Colors.White));\r\n            return buttonStyle;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/Dialog/RevertAllChangesConfirmationDialog.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.Dialog\r\n{\r\n    using System;\r\n\r\n    public sealed class RevertAllChangesConfirmationDialog : NotepadsDialog\r\n    {\r\n        public RevertAllChangesConfirmationDialog(string fileNameOrPath, Action confirmedAction)\r\n        {\r\n            Title = ResourceLoader.GetString(\"RevertAllChangesConfirmationDialog_Title\");\r\n            Content = string.Format(ResourceLoader.GetString(\"RevertAllChangesConfirmationDialog_Content\"), fileNameOrPath);\r\n            PrimaryButtonText = ResourceLoader.GetString(\"RevertAllChangesConfirmationDialog_PrimaryButtonText\");\r\n            CloseButtonText = ResourceLoader.GetString(\"RevertAllChangesConfirmationDialog_CloseButtonText\");\r\n            PrimaryButtonClick += (dialog, args) => { confirmedAction(); };\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/Dialog/SessionCorruptionErrorDialog.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.Dialog\r\n{\r\n    using System;\r\n    using Windows.UI;\r\n\r\n    public sealed class SessionCorruptionErrorDialog : NotepadsDialog\r\n    {\r\n        public SessionCorruptionErrorDialog(Action recoveryAction)\r\n        {\r\n            Title = ResourceLoader.GetString(\"SessionCorruptionErrorDialog_Title\");\r\n            Content = ResourceLoader.GetString(\"SessionCorruptionErrorDialog_Content\");\r\n            PrimaryButtonText = ResourceLoader.GetString(\"SessionCorruptionErrorDialog_PrimaryButtonText\");\r\n            CloseButtonText = ResourceLoader.GetString(\"SessionCorruptionErrorDialog_CloseButtonText\");\r\n            PrimaryButtonStyle = GetButtonStyle(Color.FromArgb(255, 255, 69, 0));\r\n            PrimaryButtonClick += (dialog, args) => { recoveryAction(); };\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/Dialog/SetCloseSaveReminderDialog.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.Dialog\r\n{\r\n    using System;\r\n\r\n    public sealed class SetCloseSaveReminderDialog : NotepadsDialog\r\n    {\r\n        public SetCloseSaveReminderDialog(string fileNameOrPath, Action saveAction, Action skipSavingAction)\r\n        {\r\n            Title = ResourceLoader.GetString(\"SetCloseSaveReminderDialog_Title\");\r\n            Content = string.Format(ResourceLoader.GetString(\"SetCloseSaveReminderDialog_Content\"), fileNameOrPath);\r\n            PrimaryButtonText = ResourceLoader.GetString(\"SetCloseSaveReminderDialog_PrimaryButtonText\");\r\n            SecondaryButtonText = ResourceLoader.GetString(\"SetCloseSaveReminderDialog_SecondaryButtonText\");\r\n            CloseButtonText = ResourceLoader.GetString(\"SetCloseSaveReminderDialog_CloseButtonText\");\r\n\r\n            PrimaryButtonClick += (dialog, args) => { saveAction(); };\r\n            SecondaryButtonClick += (dialog, args) => { skipSavingAction(); };\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/DiffViewer/BrushFactory.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.DiffViewer\r\n{\r\n    using System.Collections.Generic;\r\n    using Windows.UI;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    public sealed class BrushFactory\r\n    {\r\n        private readonly Dictionary<Color, SolidColorBrush> _brushes = new Dictionary<Color, SolidColorBrush>();\r\n\r\n        public SolidColorBrush GetOrCreateSolidColorBrush(Color color)\r\n        {\r\n            if (_brushes.TryGetValue(color, out var brush))\r\n            {\r\n                return brush;\r\n            }\r\n\r\n            _brushes[color] = new SolidColorBrush(color);\r\n            return _brushes[color];\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/DiffViewer/ISideBySideDiffViewer.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.DiffViewer\r\n{\r\n    using Windows.UI.Xaml;\r\n\r\n    public interface ISideBySideDiffViewer\r\n    {\r\n        void RenderDiff(string left, string right, ElementTheme theme);\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/DiffViewer/RichTextBlockDiffContext.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.DiffViewer\r\n{\r\n    using System.Collections.Generic;\r\n    using System.Linq;\r\n    using Windows.UI;\r\n    using Windows.UI.Xaml.Documents;\r\n\r\n    public class RichTextBlockDiffContext\r\n    {\r\n        private bool _hasPendingHighlighter;\r\n        private int _lastStart;\r\n        private int _lastEnd;\r\n        private Color _lastHighlightColor;\r\n\r\n        private readonly BrushFactory _brushFactory;\r\n        private readonly Dictionary<Color, TextHighlighter> _textHighlighters = new Dictionary<Color, TextHighlighter>();\r\n\r\n        public RichTextBlockDiffContext(BrushFactory brushFactory)\r\n        {\r\n            Blocks = new List<Block>();\r\n            _brushFactory = brushFactory;\r\n        }\r\n\r\n        public IList<Block> Blocks { get; set; }\r\n\r\n        public void QueuePendingHighlighter(TextRange textRange, Color backgroundColor)\r\n        {\r\n            _lastStart = textRange.StartIndex;\r\n            _lastEnd = _lastStart + textRange.Length;\r\n            _lastHighlightColor = backgroundColor;\r\n            _hasPendingHighlighter = true;\r\n        }\r\n\r\n        public void AddTextHighlighter(TextRange textRange, Color backgroundColor)\r\n        {\r\n            if (!_hasPendingHighlighter)\r\n            {\r\n                QueuePendingHighlighter(textRange, backgroundColor);\r\n            }\r\n            else\r\n            {\r\n                if (_lastEnd == textRange.StartIndex && _lastHighlightColor == backgroundColor)\r\n                {\r\n                    _lastEnd += textRange.Length;\r\n                }\r\n                else\r\n                {\r\n                    TextRange range = new TextRange() { StartIndex = _lastStart, Length = _lastEnd - _lastStart };\r\n                    AddOrUpdateTextHighlighterInternal(_lastHighlightColor, range);\r\n                    QueuePendingHighlighter(textRange, backgroundColor);\r\n                }\r\n            }\r\n        }\r\n\r\n        public IList<TextHighlighter> GetTextHighlighters()\r\n        {\r\n            if (_hasPendingHighlighter)\r\n            {\r\n                TextRange range = new TextRange() { StartIndex = _lastStart, Length = _lastEnd - _lastStart };\r\n                AddOrUpdateTextHighlighterInternal(_lastHighlightColor, range);\r\n                _hasPendingHighlighter = false;\r\n            }\r\n            return _textHighlighters.Values.ToList();\r\n        }\r\n\r\n        private void AddOrUpdateTextHighlighterInternal(Color backgroundColor, TextRange range)\r\n        {\r\n            if (_textHighlighters.ContainsKey(backgroundColor))\r\n            {\r\n                _textHighlighters[backgroundColor].Ranges.Add(range);\r\n            }\r\n            else\r\n            {\r\n                _textHighlighters[backgroundColor] = new TextHighlighter()\r\n                {\r\n                    Background = _brushFactory.GetOrCreateSolidColorBrush(backgroundColor),\r\n                    Ranges = { range }\r\n                };\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/DiffViewer/RichTextBlockDiffRenderer.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.DiffViewer\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Linq;\r\n    using DiffPlex;\r\n    using DiffPlex.DiffBuilder;\r\n    using DiffPlex.DiffBuilder.Model;\r\n    using Windows.UI;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Documents;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    public sealed class RichTextBlockDiffRenderer\r\n    {\r\n        //private const char ImaginaryLineCharacter = '\\u202B';\r\n        private readonly SideBySideDiffBuilder differ;\r\n        private readonly object mutex = new object();\r\n        private bool inDiff;\r\n        private readonly BrushFactory _brushFactory;\r\n\r\n        public RichTextBlockDiffRenderer()\r\n        {\r\n            differ = new SideBySideDiffBuilder(new Differ());\r\n            _brushFactory = new BrushFactory();\r\n        }\r\n\r\n        private const char BreakingSpace = '-';\r\n        private Brush _defaultForeground;\r\n\r\n        public Tuple<RichTextBlockDiffContext, RichTextBlockDiffContext> GenerateDiffViewData(string leftText, string rightText, Brush defaultForeground)\r\n        {\r\n            if (inDiff) return null;\r\n            lock (mutex)\r\n            {\r\n                if (inDiff) return null;\r\n                inDiff = true;\r\n            }\r\n\r\n            _defaultForeground = defaultForeground;\r\n\r\n            var diff = differ.BuildDiffModel(leftText, rightText, ignoreWhitespace: false);\r\n            var zippedDiffs = diff.OldText.Lines.Zip(diff.NewText.Lines, (oldLine, newLine) => new OldNew<DiffPiece> { Old = oldLine, New = newLine }).ToList();\r\n            var leftContext = RenderDiff(zippedDiffs, line => line.Old, piece => piece.Old);\r\n            var rightContext = RenderDiff(zippedDiffs, line => line.New, piece => piece.New);\r\n\r\n            inDiff = false;\r\n            return new Tuple<RichTextBlockDiffContext, RichTextBlockDiffContext>(leftContext, rightContext);\r\n        }\r\n\r\n        private RichTextBlockDiffContext RenderDiff(System.Collections.Generic.List<OldNew<DiffPiece>> lines, Func<OldNew<DiffPiece>, DiffPiece> lineSelector, Func<OldNew<DiffPiece>, DiffPiece> pieceSelector)\r\n        {\r\n            var context = new RichTextBlockDiffContext(_brushFactory);\r\n            int index = 0;\r\n            foreach (var line in lines)\r\n            {\r\n                var lineLength = Math.Max(line.Old.Text?.Length ?? 0, line.New.Text?.Length ?? 0);\r\n                var lineSubPieces = line.Old.SubPieces.Zip(line.New.SubPieces, (oldPiece, newPiece) => new OldNew<DiffPiece> { Old = oldPiece, New = newPiece, Length = Math.Max(oldPiece.Text?.Length ?? 0, newPiece.Text?.Length ?? 0) });\r\n\r\n                var oldNewLine = lineSelector(line);\r\n                switch (oldNewLine.Type)\r\n                {\r\n                    case ChangeType.Unchanged:\r\n                        AppendParagraph(context, oldNewLine.Text ?? string.Empty, ref index, null);\r\n                        break;\r\n                    case ChangeType.Imaginary:\r\n                        AppendParagraph(context, new string(BreakingSpace, lineLength), ref index, Colors.Gray, Colors.LightCyan);\r\n                        break;\r\n                    case ChangeType.Inserted:\r\n                        AppendParagraph(context, oldNewLine.Text ?? string.Empty, ref index, Colors.LightGreen);\r\n                        break;\r\n                    case ChangeType.Deleted:\r\n                        AppendParagraph(context, oldNewLine.Text ?? string.Empty, ref index, Colors.OrangeRed);\r\n                        break;\r\n                    case ChangeType.Modified:\r\n                        context.Blocks.Add(ConstructModifiedParagraph(pieceSelector, lineSubPieces, context, ref index));\r\n                        break;\r\n                }\r\n            }\r\n            return context;\r\n        }\r\n\r\n        private Paragraph ConstructModifiedParagraph(Func<OldNew<DiffPiece>, DiffPiece> pieceSelector, IEnumerable<OldNew<DiffPiece>> lineSubPieces, RichTextBlockDiffContext context, ref int index)\r\n        {\r\n            var paragraph = new Paragraph()\r\n            {\r\n                LineStackingStrategy = LineStackingStrategy.BlockLineHeight,\r\n                Foreground = _defaultForeground,\r\n            };\r\n\r\n            paragraph.LineHeight = paragraph.FontSize + 6;\r\n\r\n            foreach (var subPiece in lineSubPieces)\r\n            {\r\n                var oldNewPiece = pieceSelector(subPiece);\r\n                switch (oldNewPiece.Type)\r\n                {\r\n                    case ChangeType.Unchanged: paragraph.Inlines.Add(NewRun(context, oldNewPiece.Text ?? string.Empty, ref index, Colors.Yellow)); break;\r\n                    case ChangeType.Imaginary: paragraph.Inlines.Add(NewRun(context, oldNewPiece.Text ?? string.Empty, ref index)); break;\r\n                    case ChangeType.Inserted: paragraph.Inlines.Add(NewRun(context, oldNewPiece.Text ?? string.Empty, ref index, Colors.LightGreen)); break;\r\n                    case ChangeType.Deleted: paragraph.Inlines.Add(NewRun(context, oldNewPiece.Text ?? string.Empty, ref index, Colors.OrangeRed)); break;\r\n                    case ChangeType.Modified: paragraph.Inlines.Add(NewRun(context, oldNewPiece.Text ?? string.Empty, ref index, Colors.Yellow)); break;\r\n                }\r\n                paragraph.Inlines.Add(NewRun(context, new string(BreakingSpace, subPiece.Length - (oldNewPiece.Text ?? string.Empty).Length), ref index, Colors.Gray, Colors.LightCyan));\r\n            }\r\n\r\n            return paragraph;\r\n        }\r\n\r\n        private Inline NewRun(RichTextBlockDiffContext richTextBlockData, string text, ref int index, Color? background = null, Color? foreground = null)\r\n        {\r\n            var run = new Run\r\n            {\r\n                Text = text,\r\n                Foreground = foreground.HasValue\r\n                            ? _brushFactory.GetOrCreateSolidColorBrush(foreground.Value)\r\n                            : _defaultForeground\r\n            };\r\n\r\n            if (background != null)\r\n            {\r\n                richTextBlockData.AddTextHighlighter(new TextRange() { StartIndex = index, Length = text.Length }, background.Value);\r\n            }\r\n            index += text.Length;\r\n            return run;\r\n        }\r\n\r\n        private void AppendParagraph(RichTextBlockDiffContext richTextBlockData, string text, ref int index, Color? background = null, Color? foreground = null)\r\n        {\r\n            var paragraph = new Paragraph\r\n            {\r\n                LineStackingStrategy = LineStackingStrategy.BlockLineHeight,\r\n                Foreground = foreground.HasValue\r\n                    ? _brushFactory.GetOrCreateSolidColorBrush(foreground.Value)\r\n                    : _defaultForeground,\r\n            };\r\n            paragraph.LineHeight = paragraph.FontSize + 6;\r\n\r\n            var run = new Run { Text = text };\r\n            paragraph.Inlines.Add(run);\r\n\r\n            richTextBlockData.Blocks.Add(paragraph);\r\n\r\n            if (background != null)\r\n            {\r\n                richTextBlockData.AddTextHighlighter(new TextRange() { StartIndex = index, Length = text.Length }, background.Value);\r\n            }\r\n            index += text.Length;\r\n        }\r\n\r\n        private class OldNew<T>\r\n        {\r\n            public T Old { get; set; }\r\n            public T New { get; set; }\r\n            public int Length { get; set; }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/DiffViewer/ScrollViewerSynchronizer.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.DiffViewer\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Linq;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Controls.Primitives;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    public sealed class ScrollViewerSynchronizer : IDisposable\r\n    {\r\n        private readonly List<ScrollViewer> _scrollViewers;\r\n        private readonly Dictionary<ScrollBar, ScrollViewer> _horizontalScrollBars = new Dictionary<ScrollBar, ScrollViewer>();\r\n        private readonly Dictionary<ScrollBar, ScrollViewer> _verticalScrollBars = new Dictionary<ScrollBar, ScrollViewer>();\r\n        private double _verticalScrollOffset = .0f;\r\n        private double _horizontalScrollOffset = .0f;\r\n\r\n        public ScrollViewerSynchronizer(List<ScrollViewer> scrollViewers)\r\n        {\r\n            _scrollViewers = scrollViewers;\r\n            scrollViewers.ForEach(scrollViewer => scrollViewer.Loaded += ScrollViewerLoaded);\r\n            scrollViewers.ForEach(scrollViewer => scrollViewer.Unloaded += ScrollViewerUnloaded);\r\n        }\r\n\r\n        private void ScrollViewerLoaded(object sender, RoutedEventArgs e)\r\n        {\r\n            if (!(sender is ScrollViewer scrollViewer)) return;\r\n\r\n            scrollViewer.ChangeView(_horizontalScrollOffset, _verticalScrollOffset, null, true);\r\n\r\n            scrollViewer.ApplyTemplate();\r\n\r\n            var scrollViewerRoot = (FrameworkElement)VisualTreeHelper.GetChild(scrollViewer, 0);\r\n            var horizontalScrollBar = (ScrollBar)scrollViewerRoot.FindName(\"HorizontalScrollBar\");\r\n            var verticalScrollBar = (ScrollBar)scrollViewerRoot.FindName(\"VerticalScrollBar\");\r\n\r\n            if (horizontalScrollBar != null)\r\n            {\r\n                if (!_horizontalScrollBars.Keys.Contains(horizontalScrollBar))\r\n                {\r\n                    _horizontalScrollBars.Add(horizontalScrollBar, scrollViewer);\r\n                }\r\n\r\n                horizontalScrollBar.Scroll += HorizontalScrollBar_Scroll;\r\n                horizontalScrollBar.ValueChanged += HorizontalScrollBar_ValueChanged;\r\n            }\r\n\r\n            if (verticalScrollBar != null)\r\n            {\r\n                if (!_verticalScrollBars.Keys.Contains(verticalScrollBar))\r\n                {\r\n                    _verticalScrollBars.Add(verticalScrollBar, scrollViewer);\r\n                }\r\n\r\n                verticalScrollBar.Scroll += VerticalScrollBar_Scroll;\r\n                verticalScrollBar.ValueChanged += VerticalScrollBar_ValueChanged;\r\n            }\r\n        }\r\n\r\n        private void ScrollViewerUnloaded(object sender, RoutedEventArgs e)\r\n        {\r\n            if (!(sender is ScrollViewer scrollViewer)) return;\r\n\r\n            scrollViewer.ApplyTemplate();\r\n\r\n            var scrollViewerRoot = (FrameworkElement)VisualTreeHelper.GetChild(scrollViewer, 0);\r\n            var horizontalScrollBar = (ScrollBar)scrollViewerRoot.FindName(\"HorizontalScrollBar\");\r\n            var verticalScrollBar = (ScrollBar)scrollViewerRoot.FindName(\"VerticalScrollBar\");\r\n\r\n            if (horizontalScrollBar != null)\r\n            {\r\n                horizontalScrollBar.Scroll -= HorizontalScrollBar_Scroll;\r\n                horizontalScrollBar.ValueChanged -= HorizontalScrollBar_ValueChanged;\r\n\r\n                if (_horizontalScrollBars.Keys.Contains(horizontalScrollBar))\r\n                {\r\n                    _horizontalScrollBars.Remove(horizontalScrollBar);\r\n                }\r\n            }\r\n\r\n            if (verticalScrollBar != null)\r\n            {\r\n                verticalScrollBar.Scroll -= VerticalScrollBar_Scroll;\r\n                verticalScrollBar.ValueChanged -= VerticalScrollBar_ValueChanged;\r\n\r\n                if (_verticalScrollBars.Keys.Contains(verticalScrollBar))\r\n                {\r\n                    _verticalScrollBars.Remove(verticalScrollBar);\r\n                }\r\n            }\r\n        }\r\n\r\n        private void VerticalScrollBar_ValueChanged(object sender, RangeBaseValueChangedEventArgs e)\r\n        {\r\n            if (!(sender is ScrollBar changedScrollBar)) return;\r\n            var changedScrollViewer = _verticalScrollBars[changedScrollBar];\r\n            Scroll(changedScrollViewer);\r\n        }\r\n\r\n        private void VerticalScrollBar_Scroll(object sender, ScrollEventArgs e)\r\n        {\r\n            if (!(sender is ScrollBar changedScrollBar)) return;\r\n            var changedScrollViewer = _verticalScrollBars[changedScrollBar];\r\n            Scroll(changedScrollViewer);\r\n        }\r\n\r\n        private void HorizontalScrollBar_ValueChanged(object sender, RangeBaseValueChangedEventArgs e)\r\n        {\r\n            if (!(sender is ScrollBar changedScrollBar)) return;\r\n            var changedScrollViewer = _horizontalScrollBars[changedScrollBar];\r\n            Scroll(changedScrollViewer);\r\n        }\r\n\r\n        private void HorizontalScrollBar_Scroll(object sender, ScrollEventArgs e)\r\n        {\r\n            if (!(sender is ScrollBar changedScrollBar)) return;\r\n            var changedScrollViewer = _horizontalScrollBars[changedScrollBar];\r\n            Scroll(changedScrollViewer);\r\n        }\r\n\r\n        private void Scroll(ScrollViewer changedScrollViewer)\r\n        {\r\n            _verticalScrollOffset = changedScrollViewer.VerticalOffset;\r\n            _horizontalScrollOffset = changedScrollViewer.HorizontalOffset;\r\n\r\n            foreach (var scrollViewer in _scrollViewers.Where(s => s != changedScrollViewer))\r\n            {\r\n                if (Math.Abs(scrollViewer.VerticalOffset - changedScrollViewer.VerticalOffset) > 0.01)\r\n                {\r\n                    scrollViewer.ChangeView(null, changedScrollViewer.VerticalOffset, null, true);\r\n                }\r\n\r\n                if (Math.Abs(scrollViewer.HorizontalOffset - changedScrollViewer.HorizontalOffset) > 0.01)\r\n                {\r\n                    scrollViewer.ChangeView(changedScrollViewer.HorizontalOffset, null, null, true);\r\n                }\r\n            }\r\n        }\r\n\r\n        public void Dispose()\r\n        {\r\n            var horizontalScrollBars = new List<ScrollBar>(_horizontalScrollBars.Keys);\r\n            horizontalScrollBars.ForEach(horizontalScrollBar =>\r\n            {\r\n                horizontalScrollBar.Scroll -= HorizontalScrollBar_Scroll;\r\n                horizontalScrollBar.ValueChanged -= HorizontalScrollBar_ValueChanged;\r\n            });\r\n            horizontalScrollBars.Clear();\r\n\r\n            var verticalScrollBars = new List<ScrollBar>(_verticalScrollBars.Keys);\r\n            verticalScrollBars.ForEach(verticalScrollBar =>\r\n            {\r\n                verticalScrollBar.Scroll -= VerticalScrollBar_Scroll;\r\n                verticalScrollBar.ValueChanged -= VerticalScrollBar_ValueChanged;\r\n            });\r\n            verticalScrollBars.Clear();\r\n\r\n            _horizontalScrollBars.Clear();\r\n            _verticalScrollBars.Clear();\r\n\r\n            _scrollViewers?.ForEach(scrollViewer => scrollViewer.Loaded -= ScrollViewerLoaded);\r\n            _scrollViewers?.ForEach(scrollViewer => scrollViewer.Unloaded -= ScrollViewerUnloaded);\r\n            _scrollViewers?.Clear();\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/DiffViewer/SideBySideDiffViewer.xaml",
    "content": "﻿<UserControl\r\n    x:Class=\"Notepads.Controls.DiffViewer.SideBySideDiffViewer\"\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\"\r\n    xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"\r\n    mc:Ignorable=\"d\"\r\n    Background=\"{ThemeResource SystemControlForegroundTransparentBrush}\">\r\n\r\n    <UserControl.Resources>\r\n        <ResourceDictionary>\r\n            <ResourceDictionary.ThemeDictionaries>\r\n                <ResourceDictionary x:Key=\"Light\">\r\n                    <SolidColorBrush x:Key=\"RightBoxBackgroundThemeBrush\"\r\n                                     Opacity=\"0.25\"\r\n                                     Color=\"White\"/>\r\n                    <SolidColorBrush x:Key=\"HeaderBackgroundThemeBrush\"\r\n                                     Opacity=\"0.35\"\r\n                                     Color=\"LightGray\"/>\r\n                </ResourceDictionary>\r\n                <ResourceDictionary x:Key=\"Dark\">\r\n                    <SolidColorBrush x:Key=\"RightBoxBackgroundThemeBrush\"\r\n                                  Opacity=\"0.15\"\r\n                                  Color=\"Black\"/>\r\n                    <SolidColorBrush x:Key=\"HeaderBackgroundThemeBrush\"\r\n                                     Opacity=\"0.2\"\r\n                                     Color=\"Black\"/>\r\n                </ResourceDictionary>\r\n                <ResourceDictionary x:Key=\"HighContrast\">\r\n                    <SolidColorBrush x:Key=\"RightBoxBackgroundThemeBrush\"\r\n                                     Color=\"{ThemeResource SystemColorHighlightColor}\"/>\r\n                    <SolidColorBrush x:Key=\"HeaderBackgroundThemeBrush\"\r\n                                     Color=\"{ThemeResource SystemColorHighlightColor}\"/>\r\n                </ResourceDictionary>\r\n            </ResourceDictionary.ThemeDictionaries>\r\n        </ResourceDictionary>\r\n\r\n    </UserControl.Resources>\r\n    <Grid x:Name=\"LayoutRoot\">\r\n        <Grid.ColumnDefinitions>\r\n            <ColumnDefinition Width=\"*\"/>\r\n            <ColumnDefinition Width=\"*\"/>\r\n        </Grid.ColumnDefinitions>\r\n\r\n        <Grid Column=\"0\">\r\n\r\n            <Grid.RowDefinitions>\r\n                <RowDefinition Height=\"25\"/>\r\n                <RowDefinition Height=\"*\"/>\r\n            </Grid.RowDefinitions>\r\n\r\n            <Grid Row=\"0\" Background=\"{ThemeResource HeaderBackgroundThemeBrush}\">\r\n                <TextBlock Grid.Row=\"0\"\r\n                           x:Uid=\"DiffViewer_Header_OldTextTittle\"\r\n                           FontStyle=\"Italic\"\r\n                           HorizontalAlignment=\"Center\"\r\n                           VerticalAlignment=\"Center\">\r\n                </TextBlock>\r\n                <Button x:Name=\"DismissButton\"\r\n                        VerticalAlignment=\"Center\"\r\n                        HorizontalAlignment=\"Left\"\r\n                        IsTabStop=\"False\"\r\n                        Padding=\"0\"\r\n                        Height=\"25\"\r\n                        Width=\"32\"\r\n                        FontSize=\"12\"\r\n                        Style=\"{StaticResource DismissButtonStyle}\"\r\n                        Content=\"&#xE894;\" \r\n                        FontFamily=\"Segoe MDL2 Assets\">\r\n                    <Button.KeyboardAccelerators>\r\n                        <KeyboardAccelerator Key=\"Escape\"/>\r\n                    </Button.KeyboardAccelerators>\r\n                </Button>\r\n            </Grid>\r\n\r\n            <ScrollViewer Name=\"LeftScroller\"\r\n                              Grid.Row=\"1\"\r\n                              IsTabStop=\"False\"\r\n                              Padding=\"6, 0, 8, 6\"\r\n                              HorizontalScrollBarVisibility=\"Hidden\"\r\n                              VerticalScrollBarVisibility=\"Hidden\">\r\n                <Border Name=\"LeftTextBlockBorder\" Background=\"Transparent\">\r\n                    <RichTextBlock Name=\"LeftTextBlock\"\r\n                                   FontFamily=\"Consolas\"/>\r\n                </Border>\r\n            </ScrollViewer>\r\n        </Grid>\r\n\r\n        <Grid Column=\"1\" Background=\"{ThemeResource RightBoxBackgroundThemeBrush}\">\r\n\r\n            <Grid.RowDefinitions>\r\n                <RowDefinition Height=\"25\"/>\r\n                <RowDefinition Height=\"*\"/>\r\n            </Grid.RowDefinitions>\r\n\r\n            <Grid Row=\"0\" Background=\"{ThemeResource HeaderBackgroundThemeBrush}\">\r\n                <TextBlock Grid.Row=\"0\"\r\n                           x:Uid=\"DiffViewer_Header_NewTextTittle\"\r\n                           FontStyle=\"Italic\"\r\n                           HorizontalAlignment=\"Center\"\r\n                           VerticalAlignment=\"Center\">\r\n                </TextBlock>\r\n            </Grid>\r\n\r\n            <ScrollViewer Name=\"RightScroller\"\r\n                          Grid.Row=\"1\"\r\n                          IsTabStop=\"False\"\r\n                          Padding=\"6, 0, 8, 6\"\r\n                          HorizontalScrollBarVisibility=\"Auto\"\r\n                          VerticalScrollBarVisibility=\"Auto\">\r\n                <Border Name=\"RightTextBlockBorder\" Background=\"Transparent\">\r\n                    <RichTextBlock Name=\"RightTextBlock\"\r\n                                   FontFamily=\"Consolas\"/>\r\n                </Border>\r\n            </ScrollViewer>\r\n        </Grid>\r\n    </Grid>\r\n</UserControl>\r\n"
  },
  {
    "path": "src/Notepads/Controls/DiffViewer/SideBySideDiffViewer.xaml.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.DiffViewer\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Threading;\r\n    using System.Threading.Tasks;\r\n    using Notepads.Commands;\r\n    using Notepads.Extensions;\r\n    using Notepads.Services;\r\n    using Windows.System;\r\n    using Windows.UI;\r\n    using Windows.UI.Core;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Input;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    public sealed partial class SideBySideDiffViewer : UserControl, ISideBySideDiffViewer, IDisposable\r\n    {\r\n        public event EventHandler OnCloseEvent;\r\n\r\n        private readonly RichTextBlockDiffRenderer _diffRenderer;\r\n\r\n        private readonly ICommandHandler<KeyRoutedEventArgs> _keyboardCommandHandler;\r\n        private readonly ICommandHandler<PointerRoutedEventArgs> _mouseCommandHandler;\r\n\r\n        private CancellationTokenSource _cancellationTokenSource;\r\n\r\n        private readonly ScrollViewerSynchronizer _scrollSynchronizer;\r\n\r\n        public SideBySideDiffViewer()\r\n        {\r\n            InitializeComponent();\r\n\r\n            _scrollSynchronizer = new ScrollViewerSynchronizer(new List<ScrollViewer> { LeftScroller, RightScroller });\r\n\r\n            _diffRenderer = new RichTextBlockDiffRenderer();\r\n\r\n            _keyboardCommandHandler = GetKeyboardCommandHandler();\r\n            _mouseCommandHandler = GetMouseCommandHandler();\r\n\r\n            LeftTextBlock.SelectionHighlightColor = new SolidColorBrush(ThemeSettingsService.AppAccentColor);\r\n            RightTextBlock.SelectionHighlightColor = new SolidColorBrush(ThemeSettingsService.AppAccentColor);\r\n\r\n            LeftTextBlockBorder.PointerWheelChanged += LeftTextBlockBorder_PointerWheelChanged;\r\n            RightTextBlockBorder.PointerWheelChanged += RightTextBlockBorder_PointerWheelChanged;\r\n\r\n            ThemeSettingsService.OnAccentColorChanged += ThemeSettingsService_OnAccentColorChanged;\r\n\r\n            DismissButton.Click += DismissButton_OnClick;\r\n            LayoutRoot.KeyDown += OnKeyDown;\r\n            KeyDown += OnKeyDown;\r\n            LeftTextBlock.KeyDown += OnKeyDown;\r\n            RightTextBlock.KeyDown += OnKeyDown;\r\n            Loaded += SideBySideDiffViewer_Loaded;\r\n        }\r\n\r\n        public void Dispose()\r\n        {\r\n            StopRenderingAndClearCache();\r\n\r\n            ThemeSettingsService.OnAccentColorChanged -= ThemeSettingsService_OnAccentColorChanged;\r\n\r\n            DismissButton.Click -= DismissButton_OnClick;\r\n            LayoutRoot.KeyDown -= OnKeyDown;\r\n            KeyDown -= OnKeyDown;\r\n            LeftTextBlock.KeyDown -= OnKeyDown;\r\n            RightTextBlock.KeyDown -= OnKeyDown;\r\n            Loaded -= SideBySideDiffViewer_Loaded;\r\n\r\n            LeftTextBlockBorder.PointerWheelChanged -= LeftTextBlockBorder_PointerWheelChanged;\r\n            RightTextBlockBorder.PointerWheelChanged -= RightTextBlockBorder_PointerWheelChanged;\r\n\r\n            _scrollSynchronizer.Dispose();\r\n        }\r\n\r\n        private void SideBySideDiffViewer_Loaded(object sender, RoutedEventArgs e)\r\n        {\r\n            Focus();\r\n        }\r\n\r\n        private async void ThemeSettingsService_OnAccentColorChanged(object sender, Color color)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                LeftTextBlock.SelectionHighlightColor = new SolidColorBrush(color);\r\n                RightTextBlock.SelectionHighlightColor = new SolidColorBrush(color);\r\n            });\r\n        }\r\n\r\n        private KeyboardCommandHandler GetKeyboardCommandHandler()\r\n        {\r\n            return new KeyboardCommandHandler(new List<IKeyboardCommand<KeyRoutedEventArgs>>\r\n            {\r\n                new KeyboardCommand<KeyRoutedEventArgs>(VirtualKey.Escape, (args) =>\r\n                {\r\n                    DismissButton_OnClick(this, new RoutedEventArgs());\r\n                }),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(false, true, false, VirtualKey.D, (args) =>\r\n                {\r\n                    DismissButton_OnClick(this, new RoutedEventArgs());\r\n                }),\r\n            });\r\n        }\r\n\r\n        private ICommandHandler<PointerRoutedEventArgs> GetMouseCommandHandler()\r\n        {\r\n            return new MouseCommandHandler(new List<IMouseCommand<PointerRoutedEventArgs>>()\r\n            {\r\n                new MouseCommand<PointerRoutedEventArgs>(false, false, false, ChangeVerticalScrollingBasedOnMouseInput),\r\n                new MouseCommand<PointerRoutedEventArgs>(true, false, true, false, false, false, ChangeHorizontalScrollingBasedOnMouseInput),\r\n                new MouseCommand<PointerRoutedEventArgs>(false, false, true, false, false, false, ChangeHorizontalScrollingBasedOnMouseInput),\r\n                new MouseCommand<PointerRoutedEventArgs>(false, true, false, ChangeHorizontalScrollingBasedOnMouseInput)\r\n            }, this);\r\n        }\r\n\r\n        private void ChangeVerticalScrollingBasedOnMouseInput(PointerRoutedEventArgs args)\r\n        {\r\n            var mouseWheelDelta = args.GetCurrentPoint(this).Properties.MouseWheelDelta;\r\n            RightScroller.ChangeView(null, RightScroller.VerticalOffset + (-1 * mouseWheelDelta), null, false);\r\n        }\r\n\r\n        // Ctrl + Shift + Wheel -> horizontal scrolling\r\n        private void ChangeHorizontalScrollingBasedOnMouseInput(PointerRoutedEventArgs args)\r\n        {\r\n            var mouseWheelDelta = args.GetCurrentPoint(this).Properties.MouseWheelDelta;\r\n            RightScroller.ChangeView(RightScroller.HorizontalOffset + (-1 * mouseWheelDelta), null, null, false);\r\n        }\r\n\r\n        private void OnKeyDown(object sender, Windows.UI.Xaml.Input.KeyRoutedEventArgs args)\r\n        {\r\n            var result = _keyboardCommandHandler.Handle(args);\r\n            if (result.ShouldHandle)\r\n            {\r\n                args.Handled = true;\r\n            }\r\n        }\r\n\r\n        public void Focus()\r\n        {\r\n            RightTextBlock.Focus(FocusState.Programmatic);\r\n        }\r\n\r\n        public void StopRenderingAndClearCache()\r\n        {\r\n            if (_cancellationTokenSource != null && !_cancellationTokenSource.IsCancellationRequested)\r\n            {\r\n                _cancellationTokenSource.Cancel();\r\n            }\r\n\r\n            LeftTextBlock.TextHighlighters.Clear();\r\n            LeftTextBlock.Blocks.Clear();\r\n            RightTextBlock.TextHighlighters.Clear();\r\n            RightTextBlock.Blocks.Clear();\r\n        }\r\n\r\n        public void RenderDiff(string left, string right, ElementTheme theme)\r\n        {\r\n            StopRenderingAndClearCache();\r\n\r\n            var foregroundBrush = (theme == ElementTheme.Dark)\r\n                ? new SolidColorBrush(Colors.White)\r\n                : new SolidColorBrush(Colors.Black);\r\n\r\n            var diffContext = _diffRenderer.GenerateDiffViewData(left, right, foregroundBrush);\r\n            var leftContext = diffContext.Item1;\r\n            var rightContext = diffContext.Item2;\r\n            var leftHighlighters = leftContext.GetTextHighlighters();\r\n            var rightHighlighters = rightContext.GetTextHighlighters();\r\n\r\n            CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();\r\n\r\n            Task.Factory.StartNew(async () =>\r\n            {\r\n                var leftCount = leftContext.Blocks.Count;\r\n                var rightCount = rightContext.Blocks.Count;\r\n\r\n                var leftStartIndex = 0;\r\n                var rightStartIndex = 0;\r\n                var threshold = 1;\r\n\r\n                while (true)\r\n                {\r\n                    Thread.Sleep(10);\r\n                    if (leftStartIndex < leftCount)\r\n                    {\r\n                        var end = leftStartIndex + threshold;\r\n                        if (end >= leftCount) end = leftCount;\r\n                        var start = leftStartIndex;\r\n\r\n                        await Dispatcher.RunAsync(CoreDispatcherPriority.Low, () =>\r\n                        {\r\n                            for (int x = start; x < end; x++)\r\n                            {\r\n                                if (cancellationTokenSource.IsCancellationRequested) return;\r\n                                LeftTextBlock.Blocks.Add(leftContext.Blocks[x]);\r\n                            }\r\n                        });\r\n                    }\r\n\r\n                    if (rightStartIndex < rightCount)\r\n                    {\r\n                        var end = rightStartIndex + threshold;\r\n                        if (end >= rightCount) end = rightCount;\r\n                        var start = rightStartIndex;\r\n\r\n                        await Dispatcher.RunAsync(CoreDispatcherPriority.Low, () =>\r\n                        {\r\n                            for (int x = start; x < end; x++)\r\n                            {\r\n                                if (cancellationTokenSource.IsCancellationRequested) return;\r\n                                RightTextBlock.Blocks.Add(rightContext.Blocks[x]);\r\n                            }\r\n                        });\r\n                    }\r\n\r\n                    leftStartIndex += threshold;\r\n                    rightStartIndex += threshold;\r\n                    threshold *= 5;\r\n\r\n                    if (leftStartIndex >= leftCount && rightStartIndex >= rightCount)\r\n                    {\r\n                        break;\r\n                    }\r\n                }\r\n            }, cancellationTokenSource.Token);\r\n\r\n            Task.Factory.StartNew(async () =>\r\n            {\r\n                var leftCount = leftHighlighters.Count;\r\n                var rightCount = rightHighlighters.Count;\r\n\r\n                var leftStartIndex = 0;\r\n                var rightStartIndex = 0;\r\n                var threshold = 5;\r\n\r\n                while (true)\r\n                {\r\n                    Thread.Sleep(10);\r\n                    if (leftStartIndex < leftCount)\r\n                    {\r\n                        var end = leftStartIndex + threshold;\r\n                        if (end >= leftCount) end = leftCount;\r\n                        var start = leftStartIndex;\r\n\r\n                        await Dispatcher.RunAsync(CoreDispatcherPriority.Low, () =>\r\n                        {\r\n                            for (int x = start; x < end; x++)\r\n                            {\r\n                                if (cancellationTokenSource.IsCancellationRequested) return;\r\n                                LeftTextBlock.TextHighlighters.Add(leftHighlighters[x]);\r\n                            }\r\n                        });\r\n                    }\r\n\r\n                    if (rightStartIndex < rightCount)\r\n                    {\r\n                        var end = rightStartIndex + threshold;\r\n                        if (end >= rightCount) end = rightCount;\r\n                        var start = rightStartIndex;\r\n\r\n                        await Dispatcher.RunAsync(CoreDispatcherPriority.Low, () =>\r\n                        {\r\n                            for (int x = start; x < end; x++)\r\n                            {\r\n                                if (cancellationTokenSource.IsCancellationRequested) return;\r\n                                RightTextBlock.TextHighlighters.Add(rightHighlighters[x]);\r\n                            }\r\n                        });\r\n                    }\r\n\r\n                    leftStartIndex += threshold;\r\n                    rightStartIndex += threshold;\r\n                    threshold *= 5;\r\n\r\n                    if (leftStartIndex >= leftCount && rightStartIndex >= rightCount)\r\n                    {\r\n                        break;\r\n                    }\r\n                }\r\n            }, cancellationTokenSource.Token);\r\n\r\n            _cancellationTokenSource = cancellationTokenSource;\r\n\r\n            //Task.Factory.StartNew(async () =>\r\n            //{\r\n            //    var count = rightCount > leftCount ? rightCount : leftCount;\r\n\r\n            //    for (int i = 0; i < count; i++)\r\n            //    {\r\n            //        if (i < leftCount)\r\n            //        {\r\n            //            var j = i;\r\n            //            await Dispatcher.RunAsync(CoreDispatcherPriority.Low, () =>\r\n            //            {\r\n            //                Thread.Sleep(20);\r\n            //                LeftTextBlock.Blocks.Add(leftContext.Blocks[j]);\r\n            //            });\r\n            //        }\r\n            //        if (i < rightCount)\r\n            //        {\r\n            //            var j = i;\r\n            //            await Dispatcher.RunAsync(CoreDispatcherPriority.Low, () =>\r\n            //            {\r\n            //                Thread.Sleep(20);\r\n            //                RightTextBlock.Blocks.Add(rightContext.Blocks[j]);\r\n            //            });\r\n            //        }\r\n            //    }\r\n            //});\r\n\r\n            //Task.Factory.StartNew(async () =>\r\n            //{\r\n            //    var leftCount = leftHighlighters.Count;\r\n            //    var rightCount = rightHighlighters.Count;\r\n\r\n            //    var count = rightCount > leftCount ? rightCount : leftCount;\r\n\r\n            //    for (int i = 0; i < count; i++)\r\n            //    {\r\n            //        if (i < leftCount)\r\n            //        {\r\n            //            var j = i;\r\n            //            await Dispatcher.RunAsync(CoreDispatcherPriority.Low,\r\n            //                () => LeftTextBlock.TextHighlighters.Add(leftHighlighters[j]));\r\n            //        }\r\n            //        if (i < rightCount)\r\n            //        {\r\n            //            var j = i;\r\n            //            await Dispatcher.RunAsync(CoreDispatcherPriority.Low,\r\n            //                () => RightTextBlock.TextHighlighters.Add(rightHighlighters[j]));\r\n            //        }\r\n            //    }\r\n            //});\r\n        }\r\n\r\n        private void DismissButton_OnClick(object sender, RoutedEventArgs e)\r\n        {\r\n            StopRenderingAndClearCache();\r\n            OnCloseEvent?.Invoke(this, EventArgs.Empty);\r\n        }\r\n\r\n        private void LeftTextBlockBorder_PointerWheelChanged(object sender, PointerRoutedEventArgs e)\r\n        {\r\n            _mouseCommandHandler.Handle(e);\r\n\r\n            // Always handle it so that left ScrollViewer won't pick up the event\r\n            e.Handled = true;\r\n        }\r\n\r\n        private void RightTextBlockBorder_PointerWheelChanged(object sender, PointerRoutedEventArgs e)\r\n        {\r\n            _mouseCommandHandler.Handle(e);\r\n\r\n            // Always handle it so that right ScrollViewer won't pick up the event\r\n            e.Handled = true;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/FilePicker/FilePickerFactory.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.FilePicker\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Linq;\r\n    using Services;\r\n    using TextEditor;\r\n    using Utilities;\r\n    using Windows.Storage.Pickers;\r\n\r\n    public static class FilePickerFactory\r\n    {\r\n        private static IList<string> _allSupportedExtensions;\r\n\r\n        private static IList<string> AllSupportedExtensions\r\n        {\r\n            get\r\n            {\r\n                if (_allSupportedExtensions != null) return _allSupportedExtensions;\r\n\r\n                var allSupportedExtensions = FileExtensionProvider.AllSupportedFileExtensions.ToList();\r\n\r\n                foreach (var extension in FileExtensionProvider.TextDocumentFileExtensions)\r\n                {\r\n                    allSupportedExtensions.Remove(extension);\r\n                }\r\n\r\n                allSupportedExtensions.Sort();\r\n                allSupportedExtensions.InsertRange(0, FileExtensionProvider.TextDocumentFileExtensions);\r\n\r\n                _allSupportedExtensions = allSupportedExtensions;\r\n\r\n                return _allSupportedExtensions;\r\n            }\r\n        }\r\n\r\n        public static FileOpenPicker GetFileOpenPicker()\r\n        {\r\n            var fileOpenPicker = new FileOpenPicker\r\n            {\r\n                SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary\r\n            };\r\n\r\n            fileOpenPicker.FileTypeFilter.Add(\"*\"); // All files\r\n\r\n            foreach (var extension in AllSupportedExtensions)\r\n            {\r\n                fileOpenPicker.FileTypeFilter.Add(extension);\r\n            }\r\n\r\n            return fileOpenPicker;\r\n        }\r\n\r\n        public static FileSavePicker GetFileSavePicker(ITextEditor textEditor)\r\n        {\r\n            FileSavePicker savePicker = new FileSavePicker\r\n            {\r\n                SuggestedStartLocation = PickerLocationId.DocumentsLibrary\r\n            };\r\n\r\n            var fileName = textEditor.EditingFileName ?? textEditor.FileNamePlaceholder;\r\n            var extension = FileTypeUtility.GetFileExtension(fileName).ToLower();\r\n\r\n            if (FileExtensionProvider.TextDocumentFileExtensions.Contains(extension, StringComparer.OrdinalIgnoreCase))\r\n            {\r\n                savePicker.FileTypeChoices.Add(\"Text Documents\", FileExtensionProvider.TextDocumentFileExtensions.ToList());\r\n                savePicker.FileTypeChoices.Add(\"All Supported Files\", AllSupportedExtensions);\r\n                savePicker.FileTypeChoices.Add(\"Unknown\", new List<string>() { \".\" });\r\n            }\r\n            else if (AllSupportedExtensions.Contains(extension, StringComparer.OrdinalIgnoreCase))\r\n            {\r\n                savePicker.FileTypeChoices.Add(\"All Supported Files\", AllSupportedExtensions);\r\n                savePicker.FileTypeChoices.Add(\"Text Documents\", FileExtensionProvider.TextDocumentFileExtensions.ToList());\r\n                savePicker.FileTypeChoices.Add(\"Unknown\", new List<string>() { \".\" });\r\n            }\r\n            else\r\n            {\r\n                savePicker.FileTypeChoices.Add(\"Unknown\", new List<string>() { \".\" });\r\n                savePicker.FileTypeChoices.Add(\"Text Documents\", FileExtensionProvider.TextDocumentFileExtensions.ToList());\r\n                savePicker.FileTypeChoices.Add(\"All Supported Files\", AllSupportedExtensions);\r\n            }\r\n\r\n            savePicker.SuggestedFileName = fileName;\r\n            return savePicker;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/FindAndReplace/FindAndReplaceControl.xaml",
    "content": "﻿<UserControl\r\n    x:Class=\"Notepads.Controls.FindAndReplace.FindAndReplaceControl\"\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\"\r\n    xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"\r\n    xmlns:findAndReplace=\"using:Notepads.Controls.FindAndReplace\"\r\n    mc:Ignorable=\"d\"\r\n    d:DesignHeight=\"72\"\r\n    d:DesignWidth=\"250\">\r\n\r\n    <Grid x:Name=\"FindAndReplaceRootGrid\" KeyDown=\"FindAndReplaceRootGrid_KeyDown\">\r\n\r\n        <Grid.ColumnDefinitions>\r\n            <ColumnDefinition Width=\"Auto\" />\r\n            <ColumnDefinition Width=\"*\" />\r\n            <ColumnDefinition Width=\"Auto\" />\r\n        </Grid.ColumnDefinitions>\r\n\r\n        <Grid.RowDefinitions>\r\n            <RowDefinition Height=\"Auto\" />\r\n            <RowDefinition Height=\"Auto\" />\r\n        </Grid.RowDefinitions>\r\n\r\n        <Grid Grid.Row=\"0\" Grid.Column=\"0\" Padding=\"1, 1, 1, 1\" Height=\"36\" x:Name=\"ToggleReplaceModeButtonGrid\">\r\n            <Button x:Name=\"ToggleReplaceModeButton\"\r\n                    x:Uid=\"FindAndReplace_ToggleReplaceModeButton\"\r\n                    Grid.Column=\"0\"\r\n                    IsTabStop=\"False\"\r\n                    Width=\"20\"\r\n                    Padding=\"0\"\r\n                    FontSize=\"12\"\r\n                    Style=\"{StaticResource DismissButtonStyle}\"\r\n                    Content=\"&#xE00F;\"\r\n                    FontFamily=\"Segoe MDL2 Assets\"\r\n                    Click=\"ToggleReplaceModeButton_OnClick\">\r\n            </Button>\r\n        </Grid>\r\n\r\n        <RelativePanel Grid.Row=\"0\" Grid.Column=\"1\" Padding=\"1, 1, 1, 1\" Height=\"36\" x:Name=\"FindBarPlaceHolder\">\r\n\r\n            <findAndReplace:FindAndReplaceTextBox x:Name=\"FindBar\"\r\n                                                  x:Uid=\"FindAndReplace_FindBar\"\r\n                                                  Style=\"{StaticResource TransparentTextBoxStyle}\"\r\n                                                  Foreground=\"{ThemeResource SystemControlHighlightChromeAltLowBrush}\"\r\n                                                  RelativePanel.AlignLeftWithPanel=\"True\"\r\n                                                  RelativePanel.AlignRightWithPanel=\"True\"\r\n                                                  HorizontalAlignment=\"Stretch\"\r\n                                                  VerticalAlignment=\"Stretch\"\r\n                                                  Padding=\"10,3,32,6\"\r\n                                                  IsSpellCheckEnabled=\"False\"\r\n                                                  TextAlignment=\"Left\"\r\n                                                  BorderThickness=\"0\"\r\n                                                  FontSize=\"15\"\r\n                                                  TextChanged=\"FindBar_OnTextChanged\"\r\n                                                  KeyDown=\"FindBar_OnKeyDown\"\r\n                                                  GotFocus=\"FindBar_GotFocus\"\r\n                                                  LostFocus=\"FindBar_LostFocus\"/>\r\n\r\n            <Grid RelativePanel.AlignRightWithPanel=\"True\" x:Name=\"OptionButtonGrid\" Background=\"Transparent\">\r\n                <Border x:Name=\"OptionButtonSelectionIndicator\"\r\n                        BorderBrush=\"{StaticResource SystemControlBackgroundAccentBrush}\" \r\n                        VerticalAlignment=\"Bottom\" \r\n                        BorderThickness=\"1\" \r\n                        Margin=\"9\"\r\n                        Visibility=\"Collapsed\"/>\r\n                <Button x:Name=\"OptionButton\"\r\n                        x:Uid=\"FindAndReplace_SearchOptionButton\"\r\n                        IsTabStop=\"False\"\r\n                        Width=\"36\"\r\n                        FontSize=\"16\"\r\n                        Style=\"{StaticResource DismissButtonStyle}\"\r\n                        Content=\"&#xE712;\" \r\n                        FontFamily=\"Segoe MDL2 Assets\">\r\n                    <Button.Flyout>\r\n                        <MenuFlyout Placement=\"BottomEdgeAlignedRight\">\r\n                            <ToggleMenuFlyoutItem x:Uid=\"FindAndReplace_SearchOptionToggleButton_MatchCase\" x:Name=\"MatchCaseToggle\" Click=\"OptionButtonFlyoutItem_OnClick\">\r\n                                <ToggleMenuFlyoutItem.KeyboardAccelerators>\r\n                                    <KeyboardAccelerator Modifiers=\"Menu\" Key=\"C\"/>\r\n                                </ToggleMenuFlyoutItem.KeyboardAccelerators>\r\n                            </ToggleMenuFlyoutItem>\r\n                            <ToggleMenuFlyoutItem x:Uid=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord\" x:Name=\"MatchWholeWordToggle\" Click=\"OptionButtonFlyoutItem_OnClick\">\r\n                                <ToggleMenuFlyoutItem.KeyboardAccelerators>\r\n                                    <KeyboardAccelerator Modifiers=\"Menu\" Key=\"W\"/>\r\n                                </ToggleMenuFlyoutItem.KeyboardAccelerators>\r\n                            </ToggleMenuFlyoutItem>\r\n                            <ToggleMenuFlyoutItem x:Uid=\"FindAndReplace_SearchOptionToggleButton_UseRegex\" x:Name=\"UseRegexToggle\" Click=\"OptionButtonFlyoutItem_OnClick\">\r\n                                <ToggleMenuFlyoutItem.KeyboardAccelerators>\r\n                                    <KeyboardAccelerator Modifiers=\"Menu\" Key=\"E\"/>\r\n                                </ToggleMenuFlyoutItem.KeyboardAccelerators>\r\n                            </ToggleMenuFlyoutItem>\r\n                        </MenuFlyout>\r\n                    </Button.Flyout>\r\n                </Button>\r\n            </Grid>\r\n        </RelativePanel>\r\n\r\n        <Grid Grid.Row=\"1\" Grid.Column=\"1\" Padding=\"1, 1, 1, 1\" Height=\"36\" x:Name=\"ReplaceBarPlaceHolder\">\r\n            <findAndReplace:FindAndReplaceTextBox x:Name=\"ReplaceBar\"\r\n                                                  x:Uid=\"FindAndReplace_ReplaceBar\"\r\n                                                  Style=\"{StaticResource TransparentTextBoxStyle}\"\r\n                                                  Foreground=\"{ThemeResource SystemControlHighlightChromeAltLowBrush}\"\r\n                                                  HorizontalAlignment=\"Stretch\"\r\n                                                  VerticalAlignment=\"Stretch\"\r\n                                                  IsSpellCheckEnabled=\"False\"\r\n                                                  TextAlignment=\"Left\"\r\n                                                  BorderThickness=\"0\"\r\n                                                  FontSize=\"15\"\r\n                                                  TextChanged=\"ReplaceBar_OnTextChanged\"\r\n                                                  KeyDown=\"ReplaceBar_OnKeyDown\"\r\n                                                  GotFocus=\"ReplaceBar_GotFocus\"\r\n                                                  LostFocus=\"ReplaceBar_LostFocus\"/>\r\n        </Grid>\r\n\r\n        <Grid Grid.Row=\"0\" Grid.Column=\"2\" Padding=\"1, 1, 1, 1\" Height=\"36\">\r\n\r\n            <Grid.ColumnDefinitions>\r\n                <ColumnDefinition Width=\"Auto\" />\r\n                <ColumnDefinition Width=\"Auto\" />\r\n                <ColumnDefinition Width=\"Auto\" />\r\n            </Grid.ColumnDefinitions>\r\n\r\n            <Button x:Name=\"SearchBackwardButton\"\r\n                    x:Uid=\"FindAndReplace_SearchBackwardButton\"\r\n                    Width=\"36\"\r\n                    Grid.Column=\"0\" \r\n                    IsEnabled=\"False\"\r\n                    IsTabStop=\"False\"\r\n                    FontSize=\"16\"\r\n                    Style=\"{StaticResource DismissButtonStyle}\"\r\n                    Content=\"&#xE110;\" \r\n                    FontFamily=\"Segoe MDL2 Assets\"\r\n                    Click=\"SearchBackwardButton_OnClick\">\r\n                <Button.KeyboardAccelerators>\r\n                    <KeyboardAccelerator Modifiers=\"Shift\" Key=\"F3\"/>\r\n                </Button.KeyboardAccelerators>\r\n            </Button>\r\n\r\n            <Button x:Name=\"SearchForwardButton\"\r\n                    x:Uid=\"FindAndReplace_SearchForwardButton\"\r\n                    Width=\"36\"\r\n                    Grid.Column=\"1\"\r\n                    IsEnabled=\"False\"\r\n                    IsTabStop=\"False\"\r\n                    FontSize=\"16\"\r\n                    Style=\"{StaticResource DismissButtonStyle}\"\r\n                    Content=\"&#xE74B;\" \r\n                    FontFamily=\"Segoe MDL2 Assets\"\r\n                    Click=\"SearchForwardButton_OnClick\">\r\n                <Button.KeyboardAccelerators>\r\n                    <KeyboardAccelerator Key=\"F3\"/>\r\n                </Button.KeyboardAccelerators>\r\n            </Button>\r\n\r\n            <Button x:Name=\"DismissButton\"\r\n                    x:Uid=\"FindAndReplace_DismissButton\"\r\n                    IsTabStop=\"False\"\r\n                    Width=\"36\"\r\n                    Grid.Column=\"2\" \r\n                    FontSize=\"16\"\r\n                    Style=\"{StaticResource DismissButtonStyle}\"\r\n                    Content=\"&#xE894;\" \r\n                    FontFamily=\"Segoe MDL2 Assets\" \r\n                    Click=\"DismissButton_OnClick\" >\r\n            </Button>\r\n        </Grid>\r\n\r\n        <Grid Grid.Row=\"1\" Grid.Column=\"2\" Padding=\"1, 1, 1, 1\" Height=\"36\">\r\n\r\n            <Grid>\r\n                <Grid.ColumnDefinitions>\r\n                    <ColumnDefinition Width=\"Auto\" />\r\n                    <ColumnDefinition Width=\"Auto\" />\r\n                </Grid.ColumnDefinitions>\r\n\r\n                <Button x:Name=\"ReplaceButton\"\r\n                        x:Uid=\"FindAndReplace_ReplaceButton\"\r\n                        IsEnabled=\"False\"\r\n                        IsTabStop=\"False\"\r\n                        Width=\"36\"\r\n                        Grid.Column=\"0\" \r\n                        FontSize=\"16\"\r\n                        Style=\"{StaticResource DismissButtonStyle}\"\r\n                        Content=\"&#xE8AB;\"\r\n                        FontFamily=\"Segoe MDL2 Assets\"\r\n                        Click=\"ReplaceButton_OnClick\">\r\n                    <Button.KeyboardAccelerators>\r\n                        <KeyboardAccelerator Modifiers=\"Menu\" Key=\"R\"/>\r\n                    </Button.KeyboardAccelerators>\r\n                </Button>\r\n\r\n                <Button x:Name=\"ReplaceAllButton\"\r\n                        x:Uid=\"FindAndReplace_ReplaceAllButton\"\r\n                        IsEnabled=\"False\"\r\n                        IsTabStop=\"False\"\r\n                        Width=\"36\"\r\n                        Grid.Column=\"1\" \r\n                        FontSize=\"16\"\r\n                        Style=\"{StaticResource DismissButtonStyle}\"\r\n                        Content=\"&#xE7FD;\" \r\n                        FontFamily=\"Segoe MDL2 Assets\"\r\n                        Click=\"ReplaceAllButton_OnClick\">\r\n                    <Button.KeyboardAccelerators>\r\n                        <KeyboardAccelerator Modifiers=\"Control,Menu\" Key=\"Enter\"/>\r\n                    </Button.KeyboardAccelerators>\r\n                </Button>\r\n            </Grid>\r\n        </Grid>\r\n    </Grid>\r\n</UserControl>\r\n"
  },
  {
    "path": "src/Notepads/Controls/FindAndReplace/FindAndReplaceControl.xaml.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.FindAndReplace\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using Notepads.Commands;\r\n    using Notepads.Extensions;\r\n    using Notepads.Services;\r\n    using Windows.System;\r\n    using Windows.UI;\r\n    using Windows.UI.Core;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Input;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    public sealed partial class FindAndReplaceControl : UserControl\r\n    {\r\n        public event EventHandler<RoutedEventArgs> OnDismissKeyDown;\r\n        public event EventHandler<FindAndReplaceEventArgs> OnFindAndReplaceButtonClicked;\r\n        public event EventHandler<bool> OnToggleReplaceModeButtonClicked;\r\n        public event EventHandler<KeyRoutedEventArgs> OnFindReplaceControlKeyDown;\r\n\r\n        private readonly IList<KeyboardCommand<bool>> _nativeKeyboardCommands = new List<KeyboardCommand<bool>>\r\n        {\r\n            new KeyboardCommand<bool>(VirtualKey.F3, null),\r\n            new KeyboardCommand<bool>(false, false, true, VirtualKey.F3, null),\r\n            new KeyboardCommand<bool>(false, true, false, VirtualKey.E, null),\r\n            new KeyboardCommand<bool>(false, true, false, VirtualKey.R, null),\r\n            new KeyboardCommand<bool>(false, true, false, VirtualKey.W, null),\r\n            new KeyboardCommand<bool>(true, true, false, VirtualKey.Enter, null)\r\n        };\r\n\r\n        //When enter key is pressed focus is returned to control\r\n        //This variable is used to remove flicker in text selection\r\n        private bool _enterPressed = false;\r\n\r\n        private bool _shouldUpdateSearchString = true;\r\n\r\n        public FindAndReplaceControl()\r\n        {\r\n            InitializeComponent();\r\n\r\n            SetSelectionHighlightColor(ThemeSettingsService.AppAccentColor);\r\n            ThemeSettingsService.OnAccentColorChanged += ThemeSettingsService_OnAccentColorChanged;\r\n\r\n            Loaded += FindAndReplaceControl_Loaded;\r\n        }\r\n\r\n        public void Dispose()\r\n        {\r\n            Loaded -= FindAndReplaceControl_Loaded;\r\n            ThemeSettingsService.OnAccentColorChanged -= ThemeSettingsService_OnAccentColorChanged;\r\n        }\r\n\r\n        private SearchContext GetSearchContext()\r\n        {\r\n            return new SearchContext(FindBar.Text, MatchCaseToggle.IsChecked, MatchWholeWordToggle.IsChecked, UseRegexToggle.IsChecked);\r\n        }\r\n\r\n        private void FindAndReplaceControl_Loaded(object sender, RoutedEventArgs e)\r\n        {\r\n            Focus(string.Empty, FindAndReplaceMode.FindOnly);\r\n        }\r\n\r\n        private async void ThemeSettingsService_OnAccentColorChanged(object sender, Color color)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                SetSelectionHighlightColor(color);\r\n            });\r\n        }\r\n\r\n        public double GetHeight(bool showReplaceBar)\r\n        {\r\n            if (showReplaceBar)\r\n            {\r\n                return FindBarPlaceHolder.Height + ReplaceBarPlaceHolder.Height;\r\n            }\r\n            else\r\n            {\r\n                return FindBarPlaceHolder.Height;\r\n            }\r\n        }\r\n\r\n        private void SetSelectionHighlightColor(Color color)\r\n        {\r\n            FindBar.SelectionHighlightColor = new SolidColorBrush(color);\r\n            FindBar.SelectionHighlightColorWhenNotFocused = new SolidColorBrush(color);\r\n            ReplaceBar.SelectionHighlightColor = new SolidColorBrush(color);\r\n            ReplaceBar.SelectionHighlightColorWhenNotFocused = new SolidColorBrush(color);\r\n        }\r\n\r\n        public void Focus(string searchString, FindAndReplaceMode mode)\r\n        {\r\n            if (_shouldUpdateSearchString && !string.IsNullOrEmpty(searchString)) FindBar.Text = searchString;\r\n\r\n            if (mode == FindAndReplaceMode.FindOnly)\r\n            {\r\n                FindBar.Focus(FocusState.Programmatic);\r\n            }\r\n            else\r\n            {\r\n                ReplaceBar.Focus(FocusState.Programmatic);\r\n            }\r\n\r\n            FindBar_OnTextChanged(null, null);\r\n        }\r\n\r\n        public void ShowReplaceBar(bool showReplaceBar)\r\n        {\r\n            if (showReplaceBar)\r\n            {\r\n                ToggleReplaceModeButtonGrid.SetValue(Grid.RowSpanProperty, 2);\r\n                ToggleReplaceModeButton.Content = new FontIcon { Glyph = \"\\xE011\", FontSize = 12 };\r\n                ReplaceBarPlaceHolder.Visibility = Visibility.Visible;\r\n                if (!string.IsNullOrEmpty(FindBar.Text))\r\n                {\r\n                    ReplaceButton.IsEnabled = true;\r\n                    ReplaceAllButton.IsEnabled = true;\r\n                }\r\n            }\r\n            else\r\n            {\r\n                ToggleReplaceModeButtonGrid.SetValue(Grid.RowSpanProperty, 1);\r\n                ToggleReplaceModeButton.Content = new FontIcon { Glyph = \"\\xE00F\", FontSize = 12 };\r\n                ReplaceBarPlaceHolder.Visibility = Visibility.Collapsed;\r\n                ReplaceButton.IsEnabled = false;\r\n                ReplaceAllButton.IsEnabled = false;\r\n            }\r\n        }\r\n\r\n        private void DismissButton_OnClick(object sender, RoutedEventArgs e)\r\n        {\r\n            OnDismissKeyDown?.Invoke(sender, e);\r\n        }\r\n\r\n        private void FindBar_OnTextChanged(object sender, TextChangedEventArgs e)\r\n        {\r\n            if (!string.IsNullOrEmpty(FindBar.Text))\r\n            {\r\n                SearchForwardButton.IsEnabled = true;\r\n                SearchBackwardButton.IsEnabled = true;\r\n                if (ReplaceBarPlaceHolder.Visibility == Visibility.Visible)\r\n                {\r\n                    ReplaceButton.IsEnabled = true;\r\n                    ReplaceAllButton.IsEnabled = true;\r\n                }\r\n            }\r\n            else\r\n            {\r\n                SearchForwardButton.IsEnabled = false;\r\n                SearchBackwardButton.IsEnabled = false;\r\n                ReplaceButton.IsEnabled = false;\r\n                ReplaceAllButton.IsEnabled = false;\r\n            }\r\n        }\r\n\r\n        private void SearchForwardButton_OnClick(object sender, RoutedEventArgs e)\r\n        {\r\n            if (sender is MenuFlyout) return;\r\n\r\n            OnFindAndReplaceButtonClicked?.Invoke(sender, new FindAndReplaceEventArgs(GetSearchContext(), null, FindAndReplaceMode.FindOnly, SearchDirection.Next));\r\n        }\r\n\r\n        private void SearchBackwardButton_OnClick(object sender, RoutedEventArgs e)\r\n        {\r\n            if (sender is MenuFlyout) return;\r\n\r\n            OnFindAndReplaceButtonClicked?.Invoke(sender, new FindAndReplaceEventArgs(GetSearchContext(), null, FindAndReplaceMode.FindOnly, SearchDirection.Previous));\r\n        }\r\n\r\n        private void FindBar_OnKeyDown(object sender, KeyRoutedEventArgs e)\r\n        {\r\n            var shiftDown = Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift).HasFlag(CoreVirtualKeyStates.Down);\r\n\r\n            if (e.Key == VirtualKey.Enter && !string.IsNullOrEmpty(FindBar.Text))\r\n            {\r\n                _enterPressed = true;\r\n                if (shiftDown)\r\n                {\r\n                    SearchBackwardButton_OnClick(sender, e);\r\n                }\r\n                else\r\n                {\r\n                    SearchForwardButton_OnClick(sender, e);\r\n                }\r\n            }\r\n            else if (e.Key == VirtualKey.Tab)\r\n            {\r\n                e.Handled = true;\r\n                if (ReplaceBarPlaceHolder.Visibility == Visibility.Visible) ReplaceBar.Focus(FocusState.Programmatic);\r\n            }\r\n        }\r\n\r\n        private void FindBar_GotFocus(object sender, RoutedEventArgs e)\r\n        {\r\n            _enterPressed = false;\r\n            _shouldUpdateSearchString = false;\r\n            FindBar.SelectionStart = 0;\r\n            FindBar.SelectionLength = FindBar.Text.Length;\r\n        }\r\n\r\n        private void FindBar_LostFocus(object sender, RoutedEventArgs e)\r\n        {\r\n            _shouldUpdateSearchString = true;\r\n            if (_enterPressed) return;\r\n            FindBar.SelectionStart = FindBar.Text.Length;\r\n        }\r\n\r\n        private void ReplaceBar_OnKeyDown(object sender, KeyRoutedEventArgs e)\r\n        {\r\n            var shiftDown = Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift).HasFlag(CoreVirtualKeyStates.Down);\r\n\r\n            if (e.Key == VirtualKey.Enter && !string.IsNullOrEmpty(FindBar.Text))\r\n            {\r\n                _enterPressed = true;\r\n                if (shiftDown)\r\n                {\r\n                    OnFindAndReplaceButtonClicked?.Invoke(sender,\r\n                        new FindAndReplaceEventArgs(GetSearchContext(), ReplaceBar.Text, FindAndReplaceMode.Replace, SearchDirection.Previous));\r\n                }\r\n                else\r\n                {\r\n                    ReplaceButton_OnClick(sender, e);\r\n                }\r\n            }\r\n            else if (e.Key == VirtualKey.Tab)\r\n            {\r\n                e.Handled = true;\r\n                if (ReplaceBarPlaceHolder.Visibility == Visibility.Visible) FindBar.Focus(FocusState.Programmatic);\r\n            }\r\n        }\r\n\r\n        private void ReplaceBar_GotFocus(object sender, RoutedEventArgs e)\r\n        {\r\n            _enterPressed = false;\r\n            _shouldUpdateSearchString = false;\r\n            ReplaceBar.SelectionStart = 0;\r\n            ReplaceBar.SelectionLength = ReplaceBar.Text.Length;\r\n        }\r\n\r\n        private void ReplaceBar_LostFocus(object sender, RoutedEventArgs e)\r\n        {\r\n            _shouldUpdateSearchString = true;\r\n            if (_enterPressed) return;\r\n            ReplaceBar.SelectionStart = ReplaceBar.Text.Length;\r\n        }\r\n\r\n        private void ReplaceBar_OnTextChanged(object sender, TextChangedEventArgs e)\r\n        {\r\n        }\r\n\r\n        private void ReplaceButton_OnClick(object sender, RoutedEventArgs e)\r\n        {\r\n            OnFindAndReplaceButtonClicked?.Invoke(sender, new FindAndReplaceEventArgs(GetSearchContext(), ReplaceBar.Text, FindAndReplaceMode.Replace, SearchDirection.Next));\r\n        }\r\n\r\n        private void ReplaceAllButton_OnClick(object sender, RoutedEventArgs e)\r\n        {\r\n            OnFindAndReplaceButtonClicked?.Invoke(sender, new FindAndReplaceEventArgs(GetSearchContext(), ReplaceBar.Text, FindAndReplaceMode.ReplaceAll));\r\n        }\r\n\r\n        private void OptionButtonFlyoutItem_OnClick(object sender, RoutedEventArgs e)\r\n        {\r\n            MatchWholeWordToggle.IsEnabled = !UseRegexToggle.IsChecked;\r\n            UseRegexToggle.IsEnabled = !MatchWholeWordToggle.IsChecked;\r\n\r\n            if (MatchCaseToggle.IsChecked || MatchWholeWordToggle.IsChecked || UseRegexToggle.IsChecked)\r\n            {\r\n                OptionButtonSelectionIndicator.Visibility = Visibility.Visible;\r\n            }\r\n            else\r\n            {\r\n                OptionButtonSelectionIndicator.Visibility = Visibility.Collapsed;\r\n            }\r\n        }\r\n\r\n        private void FindAndReplaceRootGrid_KeyDown(object sender, KeyRoutedEventArgs e)\r\n        {\r\n            var ctrlDown = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control).HasFlag(CoreVirtualKeyStates.Down);\r\n            var altDown = Window.Current.CoreWindow.GetKeyState(VirtualKey.Menu).HasFlag(CoreVirtualKeyStates.Down);\r\n            var shiftDown = Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift).HasFlag(CoreVirtualKeyStates.Down);\r\n\r\n            var isNativeKeyboardCommand = false;\r\n\r\n            foreach (var keyboardCommand in _nativeKeyboardCommands)\r\n            {\r\n                if (keyboardCommand.Hit(ctrlDown, altDown, shiftDown, e.Key))\r\n                {\r\n                    isNativeKeyboardCommand = true;\r\n                    break;\r\n                }\r\n            }\r\n\r\n            if (!isNativeKeyboardCommand && !e.Handled)\r\n            {\r\n                OnFindReplaceControlKeyDown?.Invoke(sender, e);\r\n            }\r\n        }\r\n\r\n        private void ToggleReplaceModeButton_OnClick(object sender, RoutedEventArgs e)\r\n        {\r\n            _shouldUpdateSearchString = false;\r\n            OnToggleReplaceModeButtonClicked?.Invoke(sender, ReplaceBarPlaceHolder.Visibility == Visibility.Collapsed ? true : false);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/FindAndReplace/FindAndReplaceEventArgs.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.FindAndReplace\r\n{\r\n    using System;\r\n\r\n    public enum FindAndReplaceMode\r\n    {\r\n        FindOnly,\r\n        Replace,\r\n        ReplaceAll\r\n    }\r\n\r\n    public enum SearchDirection\r\n    {\r\n        Previous,\r\n        Next\r\n    }\r\n\r\n    public sealed class FindAndReplaceEventArgs : EventArgs\r\n    {\r\n        public FindAndReplaceEventArgs(\r\n            SearchContext searchContext,\r\n            string replaceText,\r\n            FindAndReplaceMode findAndReplaceMode,\r\n            SearchDirection searchDirection = SearchDirection.Next)\r\n        {\r\n            SearchContext = searchContext;\r\n            ReplaceText = replaceText;\r\n            FindAndReplaceMode = findAndReplaceMode;\r\n            SearchDirection = searchDirection;\r\n        }\r\n\r\n        public SearchContext SearchContext { get; }\r\n\r\n        public string ReplaceText { get; }\r\n\r\n        public FindAndReplaceMode FindAndReplaceMode { get; }\r\n\r\n        public SearchDirection SearchDirection { get; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/FindAndReplace/FindAndReplacePlaceHolder.xaml",
    "content": "﻿<ResourceDictionary\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" \r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:controls=\"using:Notepads.Controls\">\r\n\r\n    <Style x:Key=\"FindAndReplacePlaceholder\" TargetType=\"controls:InAppNotification\">\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate>\r\n                    <Grid>\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"State\">\r\n                                <VisualState x:Name=\"Collapsed\">\r\n                                    <Storyboard>\r\n                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\"\r\n                                                                       Storyboard.TargetProperty=\"(UIElement.RenderTransform).(CompositeTransform.TranslateX)\">\r\n                                            <EasingDoubleKeyFrame KeyTime=\"0\" Value=\"{Binding HorizontalOffset, RelativeSource={RelativeSource TemplatedParent}}\" />\r\n                                            <EasingDoubleKeyFrame controls:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\"\r\n                                                                  Value=\"{Binding HorizontalOffset, RelativeSource={RelativeSource TemplatedParent}}\" />\r\n                                        </DoubleAnimationUsingKeyFrames>\r\n\r\n                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\"\r\n                                                                       Storyboard.TargetProperty=\"(UIElement.RenderTransform).(CompositeTransform.TranslateY)\">\r\n                                            <EasingDoubleKeyFrame KeyTime=\"0\" Value=\"20\" />\r\n                                            <EasingDoubleKeyFrame controls:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\"\r\n                                                                  Value=\"{Binding VerticalOffset, RelativeSource={RelativeSource TemplatedParent}}\" />\r\n                                        </DoubleAnimationUsingKeyFrames>\r\n\r\n                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\"\r\n                                                                       Storyboard.TargetProperty=\"(UIElement.Opacity)\">\r\n                                            <EasingDoubleKeyFrame KeyTime=\"0\" Value=\"1\" />\r\n                                            <EasingDoubleKeyFrame controls:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\" Value=\"0\" />\r\n                                        </DoubleAnimationUsingKeyFrames>\r\n\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\"\r\n                                                                        Storyboard.TargetProperty=\"(UIElement.Visibility)\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\">\r\n                                                <DiscreteObjectKeyFrame.Value>\r\n                                                    <Visibility>Visible</Visibility>\r\n                                                </DiscreteObjectKeyFrame.Value>\r\n                                            </DiscreteObjectKeyFrame>\r\n                                            <DiscreteObjectKeyFrame controls:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\">\r\n                                                <DiscreteObjectKeyFrame.Value>\r\n                                                    <Visibility>Collapsed</Visibility>\r\n                                                </DiscreteObjectKeyFrame.Value>\r\n                                            </DiscreteObjectKeyFrame>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n\r\n                                <VisualState x:Name=\"Visible\">\r\n                                    <Storyboard>\r\n                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\"\r\n                                                                       Storyboard.TargetProperty=\"(UIElement.RenderTransform).(CompositeTransform.TranslateX)\">\r\n                                            <EasingDoubleKeyFrame KeyTime=\"0\" Value=\"{Binding HorizontalOffset, RelativeSource={RelativeSource TemplatedParent}}\" />\r\n                                            <EasingDoubleKeyFrame controls:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\" Value=\"{Binding HorizontalOffset, RelativeSource={RelativeSource TemplatedParent}}\" />\r\n                                        </DoubleAnimationUsingKeyFrames>\r\n\r\n                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\"\r\n                                                                       Storyboard.TargetProperty=\"(UIElement.RenderTransform).(CompositeTransform.TranslateY)\">\r\n                                            <EasingDoubleKeyFrame KeyTime=\"0\" Value=\"{Binding VerticalOffset, RelativeSource={RelativeSource TemplatedParent}}\" />\r\n                                            <EasingDoubleKeyFrame controls:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\" Value=\"20\" />\r\n                                        </DoubleAnimationUsingKeyFrames>\r\n\r\n                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\"\r\n                                                                       Storyboard.TargetProperty=\"(UIElement.Opacity)\">\r\n                                            <EasingDoubleKeyFrame KeyTime=\"0\" Value=\"0\" />\r\n                                            <EasingDoubleKeyFrame controls:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\" Value=\"1\" />\r\n                                        </DoubleAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n\r\n                        <Grid x:Name=\"RootGrid\"\r\n                              RenderTransformOrigin=\"{TemplateBinding RenderTransformOrigin}\"\r\n                              Margin=\"{TemplateBinding Margin}\"\r\n                              MaxWidth=\"{TemplateBinding MaxWidth}\"\r\n                              Visibility=\"{TemplateBinding Visibility}\"\r\n                              Height=\"{TemplateBinding Height}\">\r\n                            <Grid.RenderTransform>\r\n                                <CompositeTransform />\r\n                            </Grid.RenderTransform>\r\n\r\n                            <controls:DropShadowPanel BlurRadius=\"10\" ShadowOpacity=\"0.25\"\r\n                                                      OffsetX=\"0\" OffsetY=\"0\"\r\n                                                      HorizontalContentAlignment=\"Stretch\" VerticalContentAlignment=\"Stretch\">\r\n                                <Grid Background=\"{TemplateBinding Background}\" \r\n                                      BorderBrush=\"{TemplateBinding BorderBrush}\" \r\n                                      BorderThickness=\"{TemplateBinding BorderThickness}\"\r\n                                      Padding=\"{TemplateBinding Padding}\">\r\n                                    <Grid.ColumnDefinitions>\r\n                                        <ColumnDefinition Width=\"*\" />\r\n                                    </Grid.ColumnDefinitions>\r\n\r\n                                    <ContentPresenter HorizontalAlignment=\"{TemplateBinding HorizontalAlignment}\"\r\n                                                      HorizontalContentAlignment=\"Stretch\"\r\n                                                      VerticalAlignment=\"{TemplateBinding VerticalContentAlignment}\"\r\n                                                      VerticalContentAlignment=\"Center\"\r\n                                                      TextWrapping=\"WrapWholeWords\" />\r\n                                </Grid>\r\n                            </controls:DropShadowPanel>\r\n\r\n                        </Grid>\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n\r\n</ResourceDictionary>\r\n"
  },
  {
    "path": "src/Notepads/Controls/FindAndReplace/FindAndReplaceTextBox.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.FindAndReplace\r\n{\r\n    using Windows.System;\r\n    using Windows.UI.Core;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Input;\r\n\r\n    public sealed class FindAndReplaceTextBox : TextBox\r\n    {\r\n        protected override void OnKeyDown(KeyRoutedEventArgs e)\r\n        {\r\n            CoreVirtualKeyStates ctrl = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control);\r\n            CoreVirtualKeyStates alt = Window.Current.CoreWindow.GetKeyState(VirtualKey.Menu);\r\n            CoreVirtualKeyStates shift = Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift);\r\n\r\n            // By default, TextBox toggles case when user hit \"Shift + F3\"\r\n            // This should be restricted\r\n            if (!ctrl.HasFlag(CoreVirtualKeyStates.Down) &&\r\n                !alt.HasFlag(CoreVirtualKeyStates.Down) &&\r\n                shift.HasFlag(CoreVirtualKeyStates.Down)\r\n                && e.Key == VirtualKey.F3)\r\n            {\r\n                return;\r\n            }\r\n\r\n            if (!e.Handled)\r\n            {\r\n                base.OnKeyDown(e);\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/FindAndReplace/SearchContext.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.FindAndReplace\r\n{\r\n    public sealed class SearchContext\r\n    {\r\n        public SearchContext(\r\n            string searchText,\r\n            bool matchCase = false,\r\n            bool matchWholeWord = false,\r\n            bool useRegex = false)\r\n        {\r\n            SearchText = searchText;\r\n            MatchCase = matchCase;\r\n            MatchWholeWord = matchWholeWord;\r\n            UseRegex = useRegex;\r\n        }\r\n\r\n        public string SearchText { get; }\r\n\r\n        public bool MatchCase { get; }\r\n\r\n        public bool MatchWholeWord { get; }\r\n\r\n        public bool UseRegex { get; }\r\n    }\r\n}\r\n"
  },
  {
    "path": "src/Notepads/Controls/GoTo/GoToControl.xaml",
    "content": "﻿<UserControl\r\n    x:Class=\"Notepads.Controls.GoTo.GoToControl\"\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\"\r\n    xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"\r\n    mc:Ignorable=\"d\"\r\n    d:DesignWidth=\"250\" Height=\"36\">\r\n\r\n    <Grid Padding=\"1, 1, 1, 1\" Height=\"36\" x:Name=\"GoToRootGrid\" KeyDown=\"GoToRootGrid_KeyDown\">\r\n        \r\n        <Grid.ColumnDefinitions>\r\n            <ColumnDefinition Width=\"Auto\" />\r\n            <ColumnDefinition Width=\"*\" />\r\n            <ColumnDefinition Width=\"Auto\" />\r\n            <ColumnDefinition Width=\"Auto\" />\r\n        </Grid.ColumnDefinitions>\r\n\r\n        <TextBlock Grid.Column=\"0\" x:Uid=\"GoTo_GoToBarLabel\" Margin=\"5,0,8,3\" FontSize=\"15\" VerticalAlignment=\"Center\" TextAlignment=\"Center\"/>\r\n\r\n        <Grid Grid.Column=\"1\">\r\n            <TextBox x:Name=\"GoToBar\"\r\n                     x:Uid=\"GoTo_GoToBar\"\r\n                     Style=\"{StaticResource TransparentTextBoxStyle}\"\r\n                     Foreground=\"{ThemeResource SystemControlHighlightChromeAltLowBrush}\"\r\n                     HorizontalAlignment=\"Stretch\"\r\n                     VerticalAlignment=\"Stretch\"\r\n                     IsSpellCheckEnabled=\"False\"\r\n                     TextAlignment=\"Left\"\r\n                     BorderThickness=\"0\"\r\n                     FontSize=\"15\"\r\n                     BeforeTextChanging=\"GoToBar_BeforeTextChanging\"\r\n                     TextChanged=\"GoToBar_OnTextChanged\"\r\n                     KeyDown=\"GoToBar_OnKeyDown\"\r\n                     GotFocus=\"GoToBar_GotFocus\"\r\n                     LostFocus=\"GoToBar_LostFocus\"/>\r\n        </Grid>\r\n\r\n        <Button x:Name=\"SearchButton\"\r\n                x:Uid=\"GoTo_SearchButton\"\r\n                Width=\"36\"\r\n                Grid.Column=\"2\" \r\n                Visibility=\"Collapsed\"\r\n                IsTabStop=\"False\"\r\n                FontSize=\"16\"\r\n                Style=\"{StaticResource DismissButtonStyle}\"\r\n                Content=\"&#xEBE7;\" \r\n                FontFamily=\"Segoe MDL2 Assets\"\r\n                Click=\"SearchButton_OnClick\">\r\n        </Button>\r\n\r\n        <Button x:Name=\"DismissButton\"\r\n                x:Uid=\"FindAndReplace_DismissButton\"\r\n                IsTabStop=\"False\"\r\n                Width=\"36\"\r\n                Grid.Column=\"3\" \r\n                FontSize=\"16\"\r\n                Style=\"{StaticResource DismissButtonStyle}\"\r\n                Content=\"&#xE894;\" \r\n                FontFamily=\"Segoe MDL2 Assets\" \r\n                Click=\"DismissButton_OnClick\" >\r\n        </Button>\r\n    </Grid>\r\n</UserControl>\r\n"
  },
  {
    "path": "src/Notepads/Controls/GoTo/GoToControl.xaml.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.GoTo\r\n{\r\n    using Extensions;\r\n    using System;\r\n    using Services;\r\n    using Windows.ApplicationModel.Resources;\r\n    using Windows.System;\r\n    using Windows.UI;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Input;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    public sealed partial class GoToControl : UserControl\r\n    {\r\n        public event EventHandler<RoutedEventArgs> OnDismissKeyDown;\r\n        public event EventHandler<GoToEventArgs> OnGoToButtonClicked;\r\n\r\n        public event EventHandler<KeyRoutedEventArgs> OnGoToControlKeyDown;\r\n\r\n        private int _currentLine;\r\n        private int _maxLine;\r\n        private readonly ResourceLoader _resourceLoader = ResourceLoader.GetForCurrentView();\r\n\r\n        public void SetLineData(int currentLine, int maxLine)\r\n        {\r\n            _currentLine = currentLine;\r\n            _maxLine = maxLine;\r\n        }\r\n\r\n        public GoToControl()\r\n        {\r\n            InitializeComponent();\r\n\r\n            SetSelectionHighlightColor(ThemeSettingsService.AppAccentColor);\r\n            ThemeSettingsService.OnAccentColorChanged += ThemeSettingsService_OnAccentColorChanged;\r\n\r\n            Loaded += GoToControl_Loaded;\r\n        }\r\n\r\n        public void Dispose()\r\n        {\r\n            Loaded -= GoToControl_Loaded;\r\n            ThemeSettingsService.OnAccentColorChanged -= ThemeSettingsService_OnAccentColorChanged;\r\n        }\r\n\r\n        private void GoToControl_Loaded(object sender, RoutedEventArgs e)\r\n        {\r\n            Focus();\r\n        }\r\n\r\n        private async void ThemeSettingsService_OnAccentColorChanged(object sender, Color color)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                SetSelectionHighlightColor(color);\r\n            });\r\n        }\r\n\r\n        public double GetHeight()\r\n        {\r\n            return GoToRootGrid.Height;\r\n        }\r\n\r\n        private void SetSelectionHighlightColor(Color color)\r\n        {\r\n            GoToBar.SelectionHighlightColor = new SolidColorBrush(color);\r\n            GoToBar.SelectionHighlightColorWhenNotFocused = new SolidColorBrush(color);\r\n        }\r\n\r\n        public void Focus()\r\n        {\r\n            GoToBar.Text = _currentLine.ToString();\r\n            GoToBar.Focus(FocusState.Programmatic);\r\n        }\r\n\r\n        private void GoToBar_OnTextChanged(object sender, TextChangedEventArgs e)\r\n        {\r\n            SearchButton.Visibility = !string.IsNullOrEmpty(GoToBar.Text) ? Visibility.Visible : Visibility.Collapsed;\r\n        }\r\n\r\n        private void SearchButton_OnClick(object sender, RoutedEventArgs e)\r\n        {\r\n            if (sender is MenuFlyout) return;\r\n\r\n            OnGoToButtonClicked?.Invoke(sender, new GoToEventArgs(GoToBar.Text));\r\n        }\r\n\r\n        private void GoToBar_OnKeyDown(object sender, KeyRoutedEventArgs e)\r\n        {\r\n            if (e.Key == VirtualKey.Enter && !string.IsNullOrEmpty(GoToBar.Text))\r\n            {\r\n                SearchButton_OnClick(sender, e);\r\n            }\r\n\r\n            if (e.Key == VirtualKey.Tab)\r\n            {\r\n                e.Handled = true;\r\n            }\r\n        }\r\n\r\n        private void GoToBar_GotFocus(object sender, RoutedEventArgs e)\r\n        {\r\n            GoToBar.SelectionStart = 0;\r\n            GoToBar.SelectionLength = GoToBar.Text.Length;\r\n        }\r\n\r\n        private void GoToBar_LostFocus(object sender, RoutedEventArgs e)\r\n        {\r\n            GoToBar.SelectionStart = GoToBar.Text.Length;\r\n        }\r\n\r\n        private void DismissButton_OnClick(object sender, RoutedEventArgs e)\r\n        {\r\n            OnDismissKeyDown?.Invoke(sender, e);\r\n        }\r\n\r\n        private void GoToBar_BeforeTextChanging(TextBox sender, TextBoxBeforeTextChangingEventArgs args)\r\n        {\r\n            if (string.IsNullOrEmpty(args.NewText)) return;\r\n\r\n            if (!int.TryParse(args.NewText, out var line) || args.NewText.Contains(\" \"))\r\n            {\r\n                NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"GoTo_NotificationMsg_InputError_InvalidInput\"), 1500);\r\n                args.Cancel = true;\r\n            }\r\n            else if (line > _maxLine || line <= 0)\r\n            {\r\n                NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"GoTo_NotificationMsg_InputError_ExceedInputLimit\"), 1500);\r\n                args.Cancel = true;\r\n            }\r\n        }\r\n\r\n        private void GoToRootGrid_KeyDown(object sender, KeyRoutedEventArgs e)\r\n        {\r\n            if (!e.Handled)\r\n            {\r\n                OnGoToControlKeyDown?.Invoke(sender, e);\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/GoTo/GoToEventArgs.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.GoTo\r\n{\r\n    using System;\r\n\r\n    public sealed class GoToEventArgs : EventArgs\r\n    {\r\n        public GoToEventArgs(string searchLine)\r\n        {\r\n            SearchLine = searchLine;\r\n        }\r\n\r\n        public string SearchLine { get; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/Markdown/MarkdownExtensionView.xaml",
    "content": "﻿<UserControl\r\n    x:Class=\"Notepads.Controls.Markdown.MarkdownExtensionView\"\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\"\r\n    xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"\r\n    xmlns:controls=\"using:Notepads.Controls\"\r\n    mc:Ignorable=\"d\"\r\n    Background=\"{ThemeResource SystemControlForegroundTransparentBrush}\">\r\n\r\n    <Grid>\r\n        <ScrollViewer x:Name=\"MarkdownScrollViewer\"\r\n                      Margin=\"0\"\r\n                      Padding=\"8\"\r\n                      BorderBrush=\"Transparent\"\r\n                      BorderThickness=\"0\"\r\n                      HorizontalScrollBarVisibility=\"Auto\"\r\n                      VerticalScrollBarVisibility=\"Auto\">\r\n            <controls:MarkdownTextBlock x:Name=\"MarkdownTextBlock\"\r\n                                        Margin=\"0\"\r\n                                        Padding=\"0\"\r\n                                        Background=\"Transparent\"\r\n                                        Header1Foreground=\"{StaticResource SystemControlForegroundAccentBrush}\"\r\n                                        LinkForeground=\"{StaticResource SystemControlForegroundAccentBrush}\"/>\r\n        </ScrollViewer>\r\n    </Grid>\r\n</UserControl>\r\n"
  },
  {
    "path": "src/Notepads/Controls/Markdown/MarkdownExtensionView.xaml.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using Controls;\r\n    using Extensions;\r\n    using Microsoft.Toolkit.Uwp.UI;\r\n    using Services;\r\n    using System;\r\n    using System.IO;\r\n    using System.Threading.Tasks;\r\n    using TextEditor;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    public sealed partial class MarkdownExtensionView : UserControl, IContentPreviewExtension\r\n    {\r\n        private readonly ImageCache _imageCache = new ImageCache();\r\n\r\n        private bool _isExtensionEnabled;\r\n\r\n        public bool IsExtensionEnabled\r\n        {\r\n            get => _isExtensionEnabled;\r\n            set\r\n            {\r\n                _isExtensionEnabled = value;\r\n                if (_isExtensionEnabled)\r\n                {\r\n                    UpdateFontSize();\r\n                    UpdateTextWrapping();\r\n                    UpdateText();\r\n                }\r\n            }\r\n        }\r\n\r\n        private TextEditorCore _editorCore;\r\n\r\n        public MarkdownExtensionView()\r\n        {\r\n            InitializeComponent();\r\n\r\n            MarkdownTextBlock.LinkClicked += MarkdownTextBlock_OnLinkClicked;\r\n            MarkdownTextBlock.ImageClicked += MarkdownTextBlock_OnLinkClicked;\r\n            MarkdownTextBlock.ImageResolving += MarkdownTextBlock_ImageResolving;\r\n\r\n            ThemeSettingsService.OnThemeChanged += OnThemeChanged;\r\n        }\r\n\r\n        private async void OnThemeChanged(object sender, ElementTheme theme)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                MarkdownTextBlock.RequestedTheme = theme;\r\n            });\r\n        }\r\n\r\n        public void Dispose()\r\n        {\r\n            IsExtensionEnabled = false;\r\n\r\n            MarkdownTextBlock.LinkClicked -= MarkdownTextBlock_OnLinkClicked;\r\n            MarkdownTextBlock.ImageClicked -= MarkdownTextBlock_OnLinkClicked;\r\n            MarkdownTextBlock.ImageResolving -= MarkdownTextBlock_ImageResolving;\r\n            MarkdownTextBlock.Text = string.Empty;\r\n\r\n            _editorCore.TextChanged -= OnTextChanged;\r\n            _editorCore.TextWrappingChanged -= OnTextWrappingChanged;\r\n            _editorCore.FontSizeChanged -= OnFontSizeChanged;\r\n\r\n            ThemeSettingsService.OnThemeChanged -= OnThemeChanged;\r\n\r\n            Task.Run(async () => { await _imageCache.ClearAsync(); });\r\n        }\r\n\r\n        private async void MarkdownTextBlock_ImageResolving(object sender, ImageResolvingEventArgs e)\r\n        {\r\n            var deferral = e.GetDeferral();\r\n\r\n            try\r\n            {\r\n                var imageUri = new Uri(e.Url);\r\n                if (Path.GetExtension(imageUri.AbsolutePath)?.ToLowerInvariant() == \".svg\")\r\n                {\r\n                    // SvgImageSource is not working properly when width and height are not set in uri\r\n                    // I am disabling Svg parsing here.\r\n                    // e.Image = await GetImageAsync(e.Url);\r\n                    e.Handled = true;\r\n                }\r\n                else\r\n                {\r\n                    e.Image = await GetImageAsync(e.Url);\r\n                    e.Handled = true;\r\n                }\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(MarkdownExtensionView)}] Failed to resolve Markdown image [{e.Url}]: {ex.Message}\");\r\n                e.Handled = false;\r\n            }\r\n\r\n            deferral.Complete();\r\n        }\r\n\r\n        private async Task<ImageSource> GetImageAsync(string url)\r\n        {\r\n            var imageUri = new Uri(url);\r\n\r\n            return await _imageCache.GetFromCacheAsync(imageUri);\r\n\r\n            //var feed = await Downloader.GetDataFeed(url);\r\n            //feed.Seek(0, SeekOrigin.Begin);\r\n\r\n            //using (InMemoryRandomAccessStream ms = new InMemoryRandomAccessStream())\r\n            //{\r\n            //    using (DataWriter writer = new DataWriter(ms.GetOutputStreamAt(0)))\r\n            //    {\r\n            //        writer.WriteBytes(feed.ToArray());\r\n            //        writer.StoreAsync().GetResults();\r\n            //    }\r\n\r\n            //    if (Path.GetExtension(imageUri.AbsolutePath)?.ToLowerInvariant() == \".svg\")\r\n            //    {\r\n            //        var image = new SvgImageSource();\r\n            //        await image.SetSourceAsync(ms);\r\n            //        return image;\r\n            //    }\r\n            //    else\r\n            //    {\r\n            //        var image = new BitmapImage();\r\n            //        await image.SetSourceAsync(ms);\r\n            //        return image;\r\n            //    }\r\n            //}\r\n        }\r\n\r\n        public void Bind(TextEditorCore editorCore)\r\n        {\r\n            if (_editorCore != null)\r\n            {\r\n                _editorCore.TextChanged -= OnTextChanged;\r\n                _editorCore.TextWrappingChanged -= OnTextWrappingChanged;\r\n                _editorCore.FontSizeChanged -= OnFontSizeChanged;\r\n            }\r\n\r\n            _editorCore = editorCore;\r\n            _editorCore.TextChanged += OnTextChanged;\r\n            _editorCore.TextWrappingChanged += OnTextWrappingChanged;\r\n            _editorCore.FontSizeChanged += OnFontSizeChanged;\r\n        }\r\n\r\n        private void OnTextChanged(object sender, RoutedEventArgs e)\r\n        {\r\n            if (IsExtensionEnabled)\r\n            {\r\n                UpdateText();\r\n            }\r\n        }\r\n\r\n        private void OnTextWrappingChanged(object sender, TextWrapping textWrapping)\r\n        {\r\n            if (IsExtensionEnabled)\r\n            {\r\n                UpdateTextWrapping();\r\n            }\r\n        }\r\n\r\n        private void OnFontSizeChanged(object sender, double fontSize)\r\n        {\r\n            if (IsExtensionEnabled)\r\n            {\r\n                UpdateFontSize();\r\n            }\r\n        }\r\n\r\n        private void UpdateFontSize()\r\n        {\r\n            if (_editorCore != null)\r\n            {\r\n                MarkdownTextBlock.FontSize = _editorCore.FontSize;\r\n                MarkdownTextBlock.Header1FontSize = MarkdownTextBlock.FontSize + 5;\r\n                MarkdownTextBlock.Header2FontSize = MarkdownTextBlock.FontSize + 5;\r\n                MarkdownTextBlock.Header3FontSize = MarkdownTextBlock.FontSize + 2;\r\n                MarkdownTextBlock.Header4FontSize = MarkdownTextBlock.FontSize + 2;\r\n                MarkdownTextBlock.Header5FontSize = MarkdownTextBlock.FontSize + 1;\r\n                MarkdownTextBlock.Header6FontSize = MarkdownTextBlock.FontSize + 1;\r\n            }\r\n        }\r\n\r\n        private void UpdateText()\r\n        {\r\n            if (_editorCore != null)\r\n            {\r\n                MarkdownTextBlock.ImageMaxWidth = ActualWidth;\r\n                MarkdownTextBlock.Text = _editorCore.GetText();\r\n            }\r\n        }\r\n\r\n        private void UpdateTextWrapping()\r\n        {\r\n            if (_editorCore != null)\r\n            {\r\n                MarkdownTextBlock.TextWrapping = _editorCore.TextWrapping;\r\n                MarkdownScrollViewer.HorizontalScrollBarVisibility = MarkdownTextBlock.TextWrapping == TextWrapping.Wrap ? ScrollBarVisibility.Disabled : ScrollBarVisibility.Visible;\r\n            }\r\n        }\r\n\r\n        private async void MarkdownTextBlock_OnLinkClicked(object sender, LinkClickedEventArgs e)\r\n        {\r\n            if (string.IsNullOrEmpty(e.Link))\r\n            {\r\n                return;\r\n            }\r\n\r\n            try\r\n            {\r\n                var uri = new Uri(e.Link);\r\n                await Windows.System.Launcher.LaunchUriAsync(uri);\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(MarkdownExtensionView)}] Failed to open Markdown Link: {ex.Message}\");\r\n            }\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "src/Notepads/Controls/Print/ContinuationPageFormat.xaml",
    "content": "﻿<Page\r\n    x:Class=\"Notepads.Controls.Print.ContinuationPageFormat\"\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:local=\"using:Notepads.Controls.Print\"\r\n    xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\"\r\n    xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"\r\n    mc:Ignorable=\"d\"\r\n    Background=\"{ThemeResource ApplicationPageBackgroundThemeBrush}\">\r\n\r\n    <Grid x:Name=\"PrintableArea\">\r\n        <Grid.RowDefinitions>\r\n            <RowDefinition Height=\"Auto\"/>\r\n            <RowDefinition Height=\"10*\"/>\r\n            <RowDefinition Height=\"Auto\"/>\r\n        </Grid.RowDefinitions>\r\n\r\n        <StackPanel x:Name=\"Header\" Grid.Row=\"0\" Visibility=\"Visible\">\r\n            <TextBlock x:Name=\"HeaderTextBlock\" Foreground=\"Black\" TextAlignment=\"Center\" TextWrapping=\"Wrap\"/>\r\n        </StackPanel>\r\n\r\n        <RichTextBlockOverflow x:Name=\"ContinuationPageLinkedContainer\" Grid.Row=\"1\"/>\r\n\r\n        <StackPanel x:Name=\"Footer\" Grid.Row=\"2\">\r\n            <TextBlock x:Name=\"FooterTextBlock\" Foreground=\"Black\" TextAlignment=\"Center\" TextWrapping=\"Wrap\"/>\r\n        </StackPanel>\r\n    </Grid>\r\n</Page>\r\n"
  },
  {
    "path": "src/Notepads/Controls/Print/ContinuationPageFormat.xaml.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.Print\r\n{\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    public sealed partial class ContinuationPageFormat : Page\r\n    {\r\n        public ContinuationPageFormat(RichTextBlockOverflow textLinkContainer, FontFamily textEditorFontFamily, double textEditorFontSize, string headerText, string footerText)\r\n        {\r\n            InitializeComponent();\r\n\r\n            if (!string.IsNullOrEmpty(headerText))\r\n            {\r\n                Header.Visibility = Visibility.Visible;\r\n                Header.Margin = new Thickness(0, 0, 0, textEditorFontSize + 6);\r\n                HeaderTextBlock.Text = headerText;\r\n                HeaderTextBlock.FontFamily = textEditorFontFamily;\r\n                HeaderTextBlock.FontSize = textEditorFontSize + 4;\r\n            }\r\n            else\r\n            {\r\n                Header.Visibility = Visibility.Collapsed;\r\n                HeaderTextBlock.FontFamily = textEditorFontFamily;\r\n                HeaderTextBlock.FontSize = textEditorFontSize + 4;\r\n            }\r\n\r\n            if (!string.IsNullOrEmpty(footerText))\r\n            {\r\n                Footer.Visibility = Visibility.Visible;\r\n                FooterTextBlock.Text = footerText;\r\n                FooterTextBlock.FontFamily = textEditorFontFamily;\r\n                FooterTextBlock.FontSize = textEditorFontSize;\r\n            }\r\n            else\r\n            {\r\n                Footer.Visibility = Visibility.Collapsed;\r\n                FooterTextBlock.FontFamily = textEditorFontFamily;\r\n                FooterTextBlock.FontSize = textEditorFontSize;\r\n            }\r\n\r\n            textLinkContainer.OverflowContentTarget = ContinuationPageLinkedContainer;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "src/Notepads/Controls/Print/PrintArgs.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.Print\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Threading.Tasks;\r\n    using Windows.ApplicationModel.Core;\r\n    using Windows.ApplicationModel.Resources;\r\n    using Windows.Graphics.Printing;\r\n    using Windows.Graphics.Printing.OptionDetails;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Printing;\r\n    using Windows.UI.Xaml.Media;\r\n    using Services;\r\n    using TextEditor;\r\n\r\n    public static class PrintArgs\r\n    {\r\n        /// <summary>\r\n        /// The text that appears at the top of every page\r\n        /// </summary>\r\n        private static string _headerText = string.Empty;\r\n\r\n        /// <summary>\r\n        /// The text that appears at the bottom of every page\r\n        /// </summary>\r\n        private static string _footerText = string.Empty;\r\n\r\n        /// <summary>\r\n        /// The percent of app's margin width, content is set at 85% (0.85) of the area's width\r\n        /// </summary>\r\n        private static double _applicationContentMarginLeft = 0.075;\r\n\r\n        /// <summary>\r\n        /// The percent of app's margin height, content is set at 94% (0.94) of tha area's height\r\n        /// </summary>\r\n        private static double _applicationContentMarginTop = 0.03;\r\n\r\n        /// <summary>\r\n        /// PrintDocument is used to prepare the pages for printing.\r\n        /// Prepare the pages to print in the handlers for the Paginate, GetPreviewPage, and AddPages events.\r\n        /// </summary>\r\n        private static PrintDocument _printDocument;\r\n\r\n        /// <summary>\r\n        /// Marker interface for document source\r\n        /// </summary>\r\n        private static IPrintDocumentSource _printDocumentSource;\r\n\r\n        /// <summary>\r\n        /// A list of UIElements used to store the print preview pages.  This gives easy access\r\n        /// to any desired preview page.\r\n        /// </summary>\r\n        private static List<UIElement> _printPreviewPages;\r\n\r\n        /// <summary>\r\n        /// First page in the printing-content series\r\n        /// From this \"virtual sized\" paged content is split(text is flowing) to \"printing pages\"\r\n        /// </summary>\r\n        private static List<FrameworkElement> _firstPage;\r\n\r\n        /// <summary>\r\n        ///  A reference back to the source page used to access XAML elements on the source page\r\n        /// </summary>\r\n        private static Page _sourcePage;\r\n\r\n        /// <summary>\r\n        ///  A hidden canvas used to hold pages we wish to print\r\n        /// </summary>\r\n        private static Canvas PrintCanvas => _sourcePage.FindName(\"PrintCanvas\") as Canvas;\r\n\r\n        private static readonly ResourceLoader _resourceLoader = ResourceLoader.GetForCurrentView();\r\n\r\n        /// <summary>\r\n        /// Method that will generate print content for the scenario\r\n        /// It will create the first page from which content will flow\r\n        /// </summary>\r\n        /// <param name=\"textEditors\">Array of Notepads ITextEditors to print</param>\r\n        public static void PreparePrintContent(ITextEditor[] textEditors)\r\n        {\r\n            // Clear the cache of preview pages\r\n            _printPreviewPages.Clear();\r\n\r\n            // Clear cache of first pages of each editor\r\n            _firstPage.Clear();\r\n\r\n            // Clear the print canvas of preview pages\r\n            PrintCanvas.Children.Clear();\r\n\r\n            foreach (var textEditor in textEditors)\r\n            {\r\n                var textDocument = textEditor.GetText();\r\n                if (!string.IsNullOrEmpty(textDocument))\r\n                {\r\n                    var page = new PrintPageFormat(textDocument,\r\n                        new FontFamily(AppSettingsService.EditorFontFamily),\r\n                        AppSettingsService.EditorFontSize,\r\n                        _headerText,\r\n                        _footerText);\r\n\r\n                    _firstPage.Add(page);\r\n\r\n                    // Add the (newly created) page to the print canvas which is part of the visual tree and force it to go\r\n                    // through layout so that the linked containers correctly distribute the content inside them.\r\n                    PrintCanvas.Children.Add(page);\r\n                    PrintCanvas.InvalidateMeasure();\r\n                    PrintCanvas.UpdateLayout();\r\n                }\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// This function registers the app for printing with Windows and sets up the necessary event handlers for the print process.\r\n        /// </summary>\r\n        public static void RegisterForPrinting(Page sourcePage)\r\n        {\r\n            _sourcePage = sourcePage;\r\n            _printPreviewPages = new List<UIElement>();\r\n            _firstPage = new List<FrameworkElement>();\r\n\r\n            _printDocument = new PrintDocument();\r\n            _printDocumentSource = _printDocument.DocumentSource;\r\n            _printDocument.Paginate += CreatePrintPreviewPages;\r\n            _printDocument.GetPreviewPage += GetPrintPreviewPage;\r\n            _printDocument.AddPages += AddPrintPages;\r\n\r\n            PrintManager printMan = PrintManager.GetForCurrentView();\r\n            printMan.PrintTaskRequested += PrintTaskRequested;\r\n        }\r\n\r\n        /// <summary>\r\n        /// This function un-registers the app for printing with Windows.\r\n        /// </summary>\r\n        public static void UnregisterForPrinting()\r\n        {\r\n            if (_printDocument == null)\r\n            {\r\n                return;\r\n            }\r\n\r\n            _printDocument.Paginate -= CreatePrintPreviewPages;\r\n            _printDocument.GetPreviewPage -= GetPrintPreviewPage;\r\n            _printDocument.AddPages -= AddPrintPages;\r\n\r\n            // Remove the handler for printing initialization.\r\n            PrintManager printMan = PrintManager.GetForCurrentView();\r\n            printMan.PrintTaskRequested -= PrintTaskRequested;\r\n\r\n            PrintCanvas.Children.Clear();\r\n        }\r\n\r\n        /// <summary>\r\n        /// This is the event handler for PrintDocument.Paginate. It creates print preview pages for the app.\r\n        /// </summary>\r\n        /// <param name=\"sender\">PrintDocument</param>\r\n        /// <param name=\"e\">Paginate Event Arguments</param>\r\n        private static void CreatePrintPreviewPages(object sender, PaginateEventArgs e)\r\n        {\r\n            lock (_printPreviewPages)\r\n            {\r\n                // Clear the cache of preview pages\r\n                _printPreviewPages.Clear();\r\n\r\n                // Clear the print canvas of preview pages\r\n                PrintCanvas.Children.Clear();\r\n\r\n                // This variable keeps track of the last RichTextBlockOverflow element that was added to a page which will be printed\r\n                RichTextBlockOverflow lastRTBOOnPage;\r\n\r\n                // Get the PrintTaskOptions\r\n                PrintTaskOptions printingOptions = e.PrintTaskOptions;\r\n\r\n                // Get the page description to determine how big the page is\r\n                PrintPageDescription pageDescription = printingOptions.GetPageDescription(0);\r\n\r\n                var count = 0;\r\n                do\r\n                {\r\n                    // We know there is at least one page to be printed. passing null as the first parameter to\r\n                    // AddOnePrintPreviewPage tells the function to add the first page.\r\n                    lastRTBOOnPage = AddOnePrintPreviewPage(null, pageDescription, count);\r\n\r\n                    // We know there are more pages to be added as long as the last RichTextBoxOverflow added to a print preview\r\n                    // page has extra content\r\n                    while (lastRTBOOnPage.HasOverflowContent && lastRTBOOnPage.Visibility == Visibility.Visible)\r\n                    {\r\n                        lastRTBOOnPage = AddOnePrintPreviewPage(lastRTBOOnPage, pageDescription, count);\r\n                    }\r\n\r\n                    count += 1;\r\n                } while (count < _firstPage.Count);\r\n\r\n                PrintDocument printDoc = (PrintDocument)sender;\r\n\r\n                // Report the number of preview pages created\r\n                printDoc.SetPreviewPageCount(_printPreviewPages.Count, PreviewPageCountType.Intermediate);\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// This function creates and adds one print preview page to the internal cache of print preview\r\n        /// pages stored in _printPreviewPages.\r\n        /// </summary>\r\n        /// <param name=\"lastRTBOAdded\">Last RichTextBlockOverflow element added in the current content</param>\r\n        /// <param name=\"printPageDescription\">Printer's page description</param>\r\n        private static RichTextBlockOverflow AddOnePrintPreviewPage(RichTextBlockOverflow lastRTBOAdded, PrintPageDescription printPageDescription, int count)\r\n        {\r\n            // XAML element that is used to represent to \"printing page\"\r\n            FrameworkElement page;\r\n\r\n            // The link container for text overflowing in this page\r\n            RichTextBlockOverflow textLink;\r\n\r\n            // Check if this is the first page ( no previous RichTextBlockOverflow)\r\n            if (lastRTBOAdded == null)\r\n            {\r\n                // If this is the first page add the specific scenario content\r\n                page = _firstPage[count];\r\n\r\n                // Hide header and footer if not provided\r\n                StackPanel header = (StackPanel)page.FindName(\"Header\");\r\n                if (!string.IsNullOrEmpty(_headerText))\r\n                {\r\n                    header.Visibility = Visibility.Visible;\r\n                    TextBlock headerTextBlock = (TextBlock)page.FindName(\"HeaderTextBlock\");\r\n                    headerTextBlock.Text = _headerText;\r\n                }\r\n                else\r\n                {\r\n                    header.Visibility = Visibility.Collapsed;\r\n                }\r\n\r\n                StackPanel footer = (StackPanel)page.FindName(\"Footer\");\r\n                if (!string.IsNullOrEmpty(_footerText))\r\n                {\r\n                    footer.Visibility = Visibility.Visible;\r\n                    TextBlock footerTextBlock = (TextBlock)page.FindName(\"FooterTextBlock\");\r\n                    footerTextBlock.Text = _footerText;\r\n                }\r\n                else\r\n                {\r\n                    footer.Visibility = Visibility.Collapsed;\r\n                }\r\n            }\r\n            else\r\n            {\r\n                // Flow content (text) from previous pages\r\n                page = new ContinuationPageFormat(lastRTBOAdded,\r\n                    new FontFamily(AppSettingsService.EditorFontFamily),\r\n                    AppSettingsService.EditorFontSize,\r\n                    _headerText,\r\n                    _footerText);\r\n            }\r\n\r\n            // Set \"paper\" width\r\n            page.Width = printPageDescription.PageSize.Width;\r\n            page.Height = printPageDescription.PageSize.Height;\r\n\r\n            Grid printableArea = (Grid)page.FindName(\"PrintableArea\");\r\n\r\n            // Get the margins size\r\n            // If the ImageableRect is smaller than the app provided margins use the ImageableRect\r\n            double marginWidth = Math.Max(printPageDescription.PageSize.Width - printPageDescription.ImageableRect.Width, printPageDescription.PageSize.Width * _applicationContentMarginLeft * 2);\r\n            double marginHeight = Math.Max(printPageDescription.PageSize.Height - printPageDescription.ImageableRect.Height, printPageDescription.PageSize.Height * _applicationContentMarginTop * 2);\r\n\r\n            // Set-up \"printable area\" on the \"paper\"\r\n            printableArea.Width = _firstPage[count].Width - marginWidth;\r\n            printableArea.Height = _firstPage[count].Height - marginHeight;\r\n\r\n            // Add the (newley created) page to the print canvas which is part of the visual tree and force it to go\r\n            // through layout so that the linked containers correctly distribute the content inside them.\r\n            PrintCanvas.Children.Add(page);\r\n            PrintCanvas.InvalidateMeasure();\r\n            PrintCanvas.UpdateLayout();\r\n\r\n            // Find the last text container and see if the content is overflowing\r\n            textLink = (RichTextBlockOverflow)page.FindName(\"ContinuationPageLinkedContainer\");\r\n\r\n            // Check if this is the last page\r\n            if (!textLink.HasOverflowContent && textLink.Visibility == Visibility.Visible)\r\n            {\r\n                PrintCanvas.UpdateLayout();\r\n            }\r\n\r\n            // Add the page to the page preview collection\r\n            _printPreviewPages.Add(page);\r\n\r\n            return textLink;\r\n        }\r\n\r\n        /// <summary>\r\n        /// This is the event handler for PrintDocument.GetPrintPreviewPage. It provides a specific print preview page,\r\n        /// in the form of an UIElement, to an instance of PrintDocument. PrintDocument subsequently converts the UIElement\r\n        /// into a page that the Windows print system can deal with.\r\n        /// </summary>\r\n        /// <param name=\"sender\">PrintDocument</param>\r\n        /// <param name=\"e\">Arguments containing the preview requested page</param>\r\n        private static void GetPrintPreviewPage(object sender, GetPreviewPageEventArgs e)\r\n        {\r\n            PrintDocument printDoc = (PrintDocument)sender;\r\n            printDoc.SetPreviewPage(e.PageNumber, _printPreviewPages[e.PageNumber - 1]);\r\n        }\r\n\r\n        /// <summary>\r\n        /// This is the event handler for PrintDocument.AddPages. It provides all pages to be printed, in the form of\r\n        /// UIElements, to an instance of PrintDocument. PrintDocument subsequently converts the UIElements\r\n        /// into a pages that the Windows print system can deal with.\r\n        /// </summary>\r\n        /// <param name=\"sender\">PrintDocument</param>\r\n        /// <param name=\"e\">Add page event arguments containing a print task options reference</param>\r\n        private static void AddPrintPages(object sender, AddPagesEventArgs e)\r\n        {\r\n            // Loop over all of the preview pages and add each one to  add each page to be printied\r\n            for (int i = 0; i < _printPreviewPages.Count; i++)\r\n            {\r\n                // We should have all pages ready at this point...\r\n                _printDocument.AddPage(_printPreviewPages[i]);\r\n            }\r\n\r\n            PrintDocument printDoc = (PrintDocument)sender;\r\n\r\n            // Indicate that all of the print pages have been provided\r\n            printDoc.AddPagesComplete();\r\n        }\r\n\r\n        /// <summary>\r\n        /// This is the event handler for PrintManager.PrintTaskRequested.\r\n        /// </summary>\r\n        /// <param name=\"sender\">PrintManager</param>\r\n        /// <param name=\"e\">PrintTaskRequestedEventArgs </param>\r\n        private static void PrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs e)\r\n        {\r\n            PrintTask printTask = null;\r\n            printTask = e.Request.CreatePrintTask(\"Notepads\", sourceRequestedArgs =>\r\n            {\r\n                var deferral = sourceRequestedArgs.GetDeferral();\r\n                PrintTaskOptionDetails printDetailedOptions = PrintTaskOptionDetails.GetFromPrintTaskOptions(printTask.Options);\r\n                IList<string> displayedOptions = printTask.Options.DisplayedOptions;\r\n\r\n                // Choose the printer options to be shown.\r\n                // The order in which the options are appended determines the order in which they appear in the UI\r\n                displayedOptions.Clear();\r\n                displayedOptions.Add(StandardPrintTaskOptions.Orientation);\r\n                displayedOptions.Add(StandardPrintTaskOptions.Copies);\r\n                displayedOptions.Add(StandardPrintTaskOptions.MediaSize);\r\n                displayedOptions.Add(StandardPrintTaskOptions.InputBin);\r\n\r\n                // Add Margin setting in % options\r\n                PrintCustomTextOptionDetails leftMargin = printDetailedOptions.CreateTextOption(\"LeftMargin\", _resourceLoader.GetString(\"Print_LeftMarginEntry_Title\"));\r\n                PrintCustomTextOptionDetails topMargin = printDetailedOptions.CreateTextOption(\"TopMargin\", _resourceLoader.GetString(\"Print_TopMarginEntry_Title\"));\r\n                leftMargin.Description = topMargin.Description = _resourceLoader.GetString(\"Print_MarginEntry_Description\");\r\n                leftMargin.TrySetValue(Math.Round(100 * _applicationContentMarginLeft, 1).ToString());\r\n                topMargin.TrySetValue(Math.Round(100 * _applicationContentMarginTop, 1).ToString());\r\n                displayedOptions.Add(\"LeftMargin\");\r\n                displayedOptions.Add(\"TopMargin\");\r\n\r\n                // Add Header and Footer text options\r\n                PrintCustomTextOptionDetails headerText = printDetailedOptions.CreateTextOption(\"HeaderText\", _resourceLoader.GetString(\"Print_HeaderEntry_Title\"));\r\n                PrintCustomTextOptionDetails footerText = printDetailedOptions.CreateTextOption(\"FooterText\", _resourceLoader.GetString(\"Print_FooterEntry_Title\"));\r\n                headerText.TrySetValue(_headerText);\r\n                footerText.TrySetValue(_footerText);\r\n                displayedOptions.Add(\"HeaderText\");\r\n                displayedOptions.Add(\"FooterText\");\r\n\r\n                displayedOptions.Add(StandardPrintTaskOptions.CustomPageRanges);\r\n                displayedOptions.Add(StandardPrintTaskOptions.Duplex);\r\n                displayedOptions.Add(StandardPrintTaskOptions.Collation);\r\n                //displayedOptions.Add(StandardPrintTaskOptions.NUp);\r\n                displayedOptions.Add(StandardPrintTaskOptions.MediaType);\r\n                displayedOptions.Add(StandardPrintTaskOptions.Bordering);\r\n                //displayedOptions.Add(StandardPrintTaskOptions.ColorMode);\r\n                displayedOptions.Add(StandardPrintTaskOptions.PrintQuality);\r\n                displayedOptions.Add(StandardPrintTaskOptions.HolePunch);\r\n                displayedOptions.Add(StandardPrintTaskOptions.Staple);\r\n\r\n                // Preset the default value of the printer option\r\n                printTask.Options.MediaSize = PrintMediaSize.Default;\r\n\r\n                printDetailedOptions.OptionChanged += PrintDetailedOptions_OptionChanged;\r\n\r\n                // Print Task event handler is invoked when the print job is completed.\r\n                printTask.Completed += async (s, args) =>\r\n                {\r\n                    // Notify the user when the print operation fails.\r\n                    if (args.Completion == PrintTaskCompletion.Failed)\r\n                    {\r\n                        await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>\r\n                        {\r\n                            NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"Print_NotificationMsg_PrintFailed\"), 1500);\r\n                        });\r\n                    }\r\n                };\r\n\r\n                sourceRequestedArgs.SetSource(_printDocumentSource);\r\n\r\n                deferral.Complete();\r\n            });\r\n        }\r\n\r\n        /// <summary>\r\n        /// This is the event handler for PrintManager option changed.\r\n        /// </summary>\r\n        /// <param name=\"sender\">PrintTaskOptionDetails</param>\r\n        /// <param name=\"args\">PrintTaskOptionChangedEventArgs </param>\r\n        private static async void PrintDetailedOptions_OptionChanged(PrintTaskOptionDetails sender, PrintTaskOptionChangedEventArgs args)\r\n        {\r\n            bool invalidatePreview = false;\r\n\r\n            string optionId = args.OptionId as string;\r\n            if (string.IsNullOrEmpty(optionId))\r\n            {\r\n                return;\r\n            }\r\n\r\n            if (optionId == \"HeaderText\")\r\n            {\r\n                PrintCustomTextOptionDetails headerText = (PrintCustomTextOptionDetails)sender.Options[\"HeaderText\"];\r\n                _headerText = headerText.Value.ToString();\r\n                invalidatePreview = true;\r\n            }\r\n\r\n            if (optionId == \"FooterText\")\r\n            {\r\n                PrintCustomTextOptionDetails footerText = (PrintCustomTextOptionDetails)sender.Options[\"FooterText\"];\r\n                _footerText = footerText.Value.ToString();\r\n                invalidatePreview = true;\r\n            }\r\n\r\n            if (optionId == \"LeftMargin\")\r\n            {\r\n                PrintCustomTextOptionDetails leftMargin = (PrintCustomTextOptionDetails)sender.Options[\"LeftMargin\"];\r\n                var leftMarginValueConverterArg = double.TryParse(leftMargin.Value.ToString(), out var leftMarginValue);\r\n                if (leftMarginValue > 50 || leftMarginValue < 0 || !leftMarginValueConverterArg)\r\n                {\r\n                    leftMargin.ErrorText = _resourceLoader.GetString(\"Print_ErrorMsg_ValueOutOfRange\");\r\n                    return;\r\n                }\r\n                else if (Math.Round(leftMarginValue, 1) != leftMarginValue)\r\n                {\r\n                    leftMargin.ErrorText = _resourceLoader.GetString(\"Print_ErrorMsg_DecimalOutOfRange\");\r\n                    return;\r\n                }\r\n                leftMargin.ErrorText = string.Empty;\r\n                _applicationContentMarginLeft = (Math.Round(leftMarginValue / 100, 3));\r\n                invalidatePreview = true;\r\n            }\r\n\r\n            if (optionId == \"TopMargin\")\r\n            {\r\n                PrintCustomTextOptionDetails topMargin = (PrintCustomTextOptionDetails)sender.Options[\"TopMargin\"];\r\n                var topMarginValueConverterArg = double.TryParse(topMargin.Value.ToString(), out var topMarginValue);\r\n                if (topMarginValue > 50 || topMarginValue < 0 || !topMarginValueConverterArg)\r\n                {\r\n                    topMargin.ErrorText = _resourceLoader.GetString(\"Print_ErrorMsg_ValueOutOfRange\");\r\n                    return;\r\n                }\r\n                else if (Math.Round(topMarginValue, 1) != topMarginValue)\r\n                {\r\n                    topMargin.ErrorText = _resourceLoader.GetString(\"Print_ErrorMsg_DecimalOutOfRange\");\r\n                    return;\r\n                }\r\n                topMargin.ErrorText = string.Empty;\r\n                _applicationContentMarginTop = (Math.Round(topMarginValue / 100, 3));\r\n                invalidatePreview = true;\r\n            }\r\n\r\n            if (invalidatePreview)\r\n            {\r\n                await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>\r\n                {\r\n                    _printDocument.InvalidatePreview();\r\n                });\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// This method will show PrintManager UI and its options\r\n        /// Any printing error will be handled by this method\r\n        /// </summary>\r\n        public static async Task ShowPrintUIAsync()\r\n        {\r\n            // Catch and print out any errors reported\r\n            try\r\n            {\r\n                await PrintManager.ShowPrintUIAsync();\r\n            }\r\n            catch (Exception e)\r\n            {\r\n                NotificationCenter.Instance.PostNotification(\r\n                    _resourceLoader.GetString(\"Print_NotificationMsg_PrintError\") + \" \" + e.Message + \", hr=\" + e.HResult, 1500);\r\n            }\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "src/Notepads/Controls/Print/PrintPageFormat.xaml",
    "content": "﻿<Page\r\n    x:Class=\"Notepads.Controls.Print.PrintPageFormat\"\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:local=\"using:Notepads.Controls.Print\"\r\n    xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\"\r\n    xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"\r\n    mc:Ignorable=\"d\"\r\n    Background=\"{ThemeResource ApplicationPageBackgroundThemeBrush}\">\r\n\r\n    <Grid x:Name=\"PrintableArea\">\r\n        <Grid.RowDefinitions>\r\n            <RowDefinition Height=\"Auto\"/>\r\n            <RowDefinition Height=\"6*\"/>\r\n            <RowDefinition Height=\"4*\"/>\r\n            <RowDefinition Height=\"Auto\"/>\r\n        </Grid.RowDefinitions>\r\n\r\n        <StackPanel x:Name=\"Header\" Grid.Row=\"0\" Visibility=\"Visible\">\r\n            <TextBlock x:Name=\"HeaderTextBlock\" Foreground=\"Black\" TextAlignment=\"Center\" TextWrapping=\"Wrap\"/>\r\n        </StackPanel>\r\n\r\n        <RichTextBlock Foreground=\"Black\" x:Name=\"TextContent\" Grid.Row=\"1\" OverflowContentTarget=\"{Binding ElementName=ContinuationPageLinkedContainer}\"\r\n            IsTextSelectionEnabled=\"True\" TextAlignment=\"Left\" VerticalAlignment=\"Top\" HorizontalAlignment=\"Left\">\r\n            <Paragraph x:Name=\"TextEditorContent\"></Paragraph>\r\n        </RichTextBlock>\r\n        \r\n        <RichTextBlockOverflow x:Name=\"ContinuationPageLinkedContainer\" Grid.Row=\"2\"/>\r\n\r\n        <StackPanel x:Name=\"Footer\" Grid.Row=\"3\">\r\n            <TextBlock x:Name=\"FooterTextBlock\" Foreground=\"Black\" TextAlignment=\"Center\" TextWrapping=\"Wrap\"/>\r\n        </StackPanel>\r\n    </Grid>\r\n</Page>\r\n"
  },
  {
    "path": "src/Notepads/Controls/Print/PrintPageFormat.xaml.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.Print\r\n{\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Documents;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    public sealed partial class PrintPageFormat : Page\r\n    {\r\n        public RichTextBlock TextContentBlock { get; set; }\r\n\r\n        public PrintPageFormat(string textEditorText, FontFamily textEditorFontFamily, double textEditorFontSize, string headerText, string footerText)\r\n        {\r\n            InitializeComponent();\r\n\r\n            TextContent.FontFamily = textEditorFontFamily;\r\n            TextContent.FontSize = textEditorFontSize;\r\n\r\n            if (!string.IsNullOrEmpty(headerText))\r\n            {\r\n                Header.Visibility = Visibility.Visible;\r\n                Header.Margin = new Thickness(0, 0, 0, textEditorFontSize + 6);\r\n                HeaderTextBlock.Text = headerText;\r\n                HeaderTextBlock.FontFamily = textEditorFontFamily;\r\n                HeaderTextBlock.FontSize = textEditorFontSize + 4;\r\n            }\r\n            else\r\n            {\r\n                Header.Visibility = Visibility.Collapsed;\r\n                HeaderTextBlock.FontFamily = textEditorFontFamily;\r\n                HeaderTextBlock.FontSize = textEditorFontSize + 4;\r\n            }\r\n\r\n            if (!string.IsNullOrEmpty(footerText))\r\n            {\r\n                Footer.Visibility = Visibility.Visible;\r\n                FooterTextBlock.Text = footerText;\r\n                FooterTextBlock.FontFamily = textEditorFontFamily;\r\n                FooterTextBlock.FontSize = textEditorFontSize;\r\n            }\r\n            else\r\n            {\r\n                Footer.Visibility = Visibility.Collapsed;\r\n                FooterTextBlock.FontFamily = textEditorFontFamily;\r\n                FooterTextBlock.FontSize = textEditorFontSize;\r\n            }\r\n\r\n            var run = new Run { Text = textEditorText };\r\n            TextEditorContent.Inlines.Add(run);\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "src/Notepads/Controls/TextEditor/ITextEditor.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.TextEditor\r\n{\r\n    using System;\r\n    using System.Text;\r\n    using System.Threading.Tasks;\r\n    using Notepads.Models;\r\n    using Notepads.Utilities;\r\n    using Windows.Storage;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Controls.Primitives;\r\n    using Windows.UI.Xaml.Input;\r\n\r\n    public interface ITextEditor\r\n    {\r\n        event RoutedEventHandler Loaded;\r\n        event RoutedEventHandler Unloaded;\r\n\r\n        event KeyEventHandler KeyDown;\r\n        event EventHandler ModeChanged;\r\n        event EventHandler ModificationStateChanged;\r\n        event EventHandler FileModificationStateChanged;\r\n        event EventHandler LineEndingChanged;\r\n        event EventHandler EncodingChanged;\r\n        event EventHandler SelectionChanged;\r\n        event EventHandler FontZoomFactorChanged;\r\n        event EventHandler TextChanging;\r\n        event EventHandler ChangeReverted;\r\n        event EventHandler FileSaved;\r\n        event EventHandler FileReloaded;\r\n        event EventHandler FileRenamed;\r\n\r\n        Guid Id { get; set; }\r\n\r\n        FileType FileType { get; }\r\n\r\n        TextFile LastSavedSnapshot { get; }\r\n\r\n        LineEnding? RequestedLineEnding { get; }\r\n\r\n        Encoding RequestedEncoding { get; }\r\n\r\n        string FileNamePlaceholder { get; set; }\r\n\r\n        string EditingFileName { get; }\r\n\r\n        string EditingFilePath { get; }\r\n\r\n        StorageFile EditingFile { get; }\r\n\r\n        bool IsModified { get; }\r\n\r\n        FileModificationState FileModificationState { get; }\r\n\r\n        TextEditorMode Mode { get; }\r\n\r\n        bool DisplayLineNumbers { get; set; }\r\n\r\n        bool DisplayLineHighlighter { get; set; }\r\n\r\n        void Init(TextFile textFile,\r\n            StorageFile file,\r\n            bool resetLastSavedSnapshot = true,\r\n            bool clearUndoQueue = true,\r\n            bool isModified = false,\r\n            bool resetText = true);\r\n\r\n        Task RenameAsync(string newFileName);\r\n\r\n        string GetText();\r\n\r\n        void StartCheckingFileStatusPeriodically();\r\n\r\n        void StopCheckingFileStatus();\r\n\r\n        TextEditorStateMetaData GetTextEditorStateMetaData();\r\n\r\n        void ResetEditorState(TextEditorStateMetaData metadata, string newText = null);\r\n\r\n        Task ReloadFromEditingFileAsync(Encoding encoding = null);\r\n\r\n        LineEnding GetLineEnding();\r\n\r\n        Encoding GetEncoding();\r\n\r\n        void CopyTextToWindowsClipboard(TextControlCopyingToClipboardEventArgs args);\r\n\r\n        void RevertAllChanges();\r\n\r\n        bool TryChangeEncoding(Encoding encoding);\r\n\r\n        bool TryChangeLineEnding(LineEnding lineEnding);\r\n\r\n        void ShowHideContentPreview();\r\n\r\n        void OpenSideBySideDiffViewer();\r\n\r\n        void CloseSideBySideDiffViewer();\r\n\r\n        /// <summary>\r\n        /// Returns 1-based indexing values\r\n        /// </summary>\r\n        void GetLineColumnSelection(\r\n            out int startLineIndex,\r\n            out int endLineIndex,\r\n            out int startColumnIndex,\r\n            out int endColumnIndex,\r\n            out int selectedCount,\r\n            out int lineCount);\r\n\r\n        double GetFontZoomFactor();\r\n\r\n        void SetFontZoomFactor(double fontZoomFactor);\r\n\r\n        bool IsEditorEnabled();\r\n\r\n        Task SaveContentToFileAndUpdateEditorStateAsync(StorageFile file);\r\n\r\n        string GetContentForSharing();\r\n\r\n        void TypeText(string text);\r\n\r\n        void Focus();\r\n\r\n        bool NoChangesSinceLastSaved(bool compareTextOnly = false);\r\n\r\n        void ShowFindAndReplaceControl(bool showReplaceBar);\r\n\r\n        void HideFindAndReplaceControl();\r\n\r\n        void ShowGoToControl();\r\n\r\n        void HideGoToControl();\r\n\r\n        void Dispose();\r\n\r\n        FlyoutBase GetContextFlyout();\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/TextEditor/TextEditor.xaml",
    "content": "﻿<UserControl\r\n    x:Class=\"Notepads.Controls.TextEditor.TextEditor\"\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\"\r\n    xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"\r\n    xmlns:controls=\"using:Notepads.Controls\"\r\n    xmlns:textEditor=\"using:Notepads.Controls.TextEditor\"\r\n    xmlns:diffViewer=\"using:Notepads.Controls.DiffViewer\"\r\n    xmlns:findAndReplace=\"using:Notepads.Controls.FindAndReplace\"\r\n    xmlns:goTo=\"using:Notepads.Controls.GoTo\"\r\n    mc:Ignorable=\"d\"\r\n    Background=\"{ThemeResource SystemControlForegroundTransparentBrush}\">\r\n\r\n    <UserControl.Resources>\r\n        <ResourceDictionary>\r\n            <ResourceDictionary.ThemeDictionaries>\r\n                <ResourceDictionary x:Key=\"Light\">\r\n                    <SolidColorBrush x:Key=\"SplitViewBackgroundThemeBrush\"\r\n                                     Opacity=\"0.4\"\r\n                                     Color=\"White\"/>\r\n                    <SolidColorBrush x:Key=\"GridSplitterBackgroundThemeBrush\"\r\n                                     Opacity=\"0.5\"\r\n                                     Color=\"LightGray\"/>\r\n                </ResourceDictionary>\r\n                <ResourceDictionary x:Key=\"Dark\">\r\n                    <SolidColorBrush x:Key=\"SplitViewBackgroundThemeBrush\"\r\n                                  Opacity=\"0.25\"\r\n                                  Color=\"Black\"/>\r\n                    <SolidColorBrush x:Key=\"GridSplitterBackgroundThemeBrush\"\r\n                                     Opacity=\"0.3\"\r\n                                     Color=\"Black\"/>\r\n                </ResourceDictionary>\r\n                <ResourceDictionary x:Key=\"HighContrast\">\r\n                    <SolidColorBrush x:Key=\"SplitViewBackgroundThemeBrush\"\r\n                                     Color=\"{ThemeResource SystemColorHighlightColor}\"/>\r\n                    <SolidColorBrush x:Key=\"GridSplitterBackgroundThemeBrush\"\r\n                                     Color=\"{ThemeResource SystemColorHighlightColor}\"/>\r\n                </ResourceDictionary>\r\n            </ResourceDictionary.ThemeDictionaries>\r\n\r\n            <Style x:Key=\"CustomGridSplitterStyle\" TargetType=\"controls:GridSplitter\">\r\n                <Setter Property=\"IsTabStop\" Value=\"True\"/>\r\n                <Setter Property=\"UseSystemFocusVisuals\" Value=\"True\"/>\r\n                <Setter Property=\"HorizontalAlignment\" Value=\"Stretch\"/>\r\n                <Setter Property=\"VerticalAlignment\" Value=\"Stretch\"/>\r\n                <Setter Property=\"IsFocusEngagementEnabled\" Value=\"True\"/>\r\n                <Setter Property=\"MinWidth\" Value=\"2\"/>\r\n                <Setter Property=\"MinHeight\" Value=\"2\"/>\r\n                <Setter Property=\"Background\" Value=\"Transparent\"/>\r\n                <Setter Property=\"GripperForeground\" Value=\"Transparent\"/>\r\n                <Setter Property=\"Template\">\r\n                    <Setter.Value>\r\n                        <ControlTemplate TargetType=\"controls:GridSplitter\">\r\n                            <Grid x:Name=\"RootGrid\" Background=\"Transparent\">\r\n                                <VisualStateManager.VisualStateGroups>\r\n                                    <VisualStateGroup x:Name=\"GridSplitterStates\">\r\n                                        <VisualState x:Name=\"Normal\"/>\r\n                                        <VisualState x:Name=\"PointerOver\">\r\n                                            <VisualState.Setters>\r\n                                                <Setter Target=\"RootGrid.Background\" Value=\"{ThemeResource GridSplitterBackgroundThemeBrush}\"/>\r\n                                            </VisualState.Setters>\r\n                                        </VisualState>\r\n                                        <VisualState x:Name=\"Pressed\">\r\n                                            <VisualState.Setters>\r\n                                                <Setter Target=\"RootGrid.Background\" Value=\"{ThemeResource GridSplitterBackgroundThemeBrush}\"/>\r\n                                            </VisualState.Setters>\r\n                                        </VisualState>\r\n                                    </VisualStateGroup>\r\n                                </VisualStateManager.VisualStateGroups>\r\n                                <ContentPresenter Content=\"{TemplateBinding Element}\" HorizontalContentAlignment=\"Stretch\" VerticalContentAlignment=\"Stretch\"/>\r\n                            </Grid>\r\n                        </ControlTemplate>\r\n                    </Setter.Value>\r\n                </Setter>\r\n            </Style>\r\n        </ResourceDictionary>\r\n    </UserControl.Resources>\r\n    \r\n    <Grid>\r\n        <Grid.RowDefinitions>\r\n            <RowDefinition x:Name=\"EditorRowDefinition\" Height=\"*\"/>\r\n            <RowDefinition x:Name=\"SideBySideDiffViewRowDefinition\" Height=\"0\"/>\r\n        </Grid.RowDefinitions>\r\n\r\n        <Grid Row=\"0\">\r\n            <Grid.ColumnDefinitions>\r\n                <ColumnDefinition x:Name=\"EditorColumnDefinition\" Width=\"*\" MinWidth=\"100\"/>\r\n                <ColumnDefinition x:Name=\"SplitPanelColumnDefinition\" Width=\"0\"/>\r\n            </Grid.ColumnDefinitions>\r\n            <Grid>\r\n                <textEditor:TextEditorCore x:Name=\"TextEditorCore\" \r\n                                           Style=\"{StaticResource TextEditorCore}\" \r\n                                           Grid.Column=\"0\"\r\n                                           Padding=\"6 , 6, 10, 6\"/>\r\n                <controls:InAppNotification x:Name=\"FindAndReplacePlaceholder\"\r\n                                            x:Load=\"false\"\r\n                                            Padding=\"0\"\r\n                                            Margin=\"0\"\r\n                                            HorizontalAlignment=\"Right\"\r\n                                            VerticalAlignment=\"Top\"\r\n                                            Style=\"{StaticResource FindAndReplacePlaceholder}\"\r\n                                            ShowDismissButton=\"True\"\r\n                                            AnimationDuration=\"0:0:0.050\"\r\n                                            VerticalOffset=\"10\"\r\n                                            HorizontalOffset=\"-22\"\r\n                                            FontWeight=\"Light\"\r\n                                            BorderThickness=\"1\"\r\n                                            Closed=\"FindAndReplacePlaceholder_Closed\">\r\n                    <controls:InAppNotification.Content>\r\n                        <findAndReplace:FindAndReplaceControl x:Name=\"FindAndReplaceControl\" \r\n                                                              Width=\"340\"\r\n                                                              OnDismissKeyDown=\"FindAndReplaceControl_OnDismissKeyDown\"\r\n                                                              OnToggleReplaceModeButtonClicked=\"FindAndReplaceControl_OnToggleReplaceModeButtonClicked\"\r\n                                                              OnFindReplaceControlKeyDown=\"TextEditorCore_OnKeyDown\"\r\n                                                              OnFindAndReplaceButtonClicked=\"FindAndReplaceControl_OnFindAndReplaceButtonClicked\"/>\r\n                    </controls:InAppNotification.Content>\r\n                </controls:InAppNotification>\r\n                <controls:InAppNotification x:Name=\"GoToPlaceholder\"\r\n                                            x:Load=\"false\"\r\n                                            Padding=\"0\"\r\n                                            Margin=\"0\"\r\n                                            HorizontalAlignment=\"Right\"\r\n                                            VerticalAlignment=\"Top\"\r\n                                            Style=\"{StaticResource FindAndReplacePlaceholder}\"\r\n                                            ShowDismissButton=\"True\"\r\n                                            AnimationDuration=\"0:0:0.050\"\r\n                                            VerticalOffset=\"0\"\r\n                                            HorizontalOffset=\"-22\"\r\n                                            FontWeight=\"Light\"\r\n                                            BorderThickness=\"1\"\r\n                                            Closed=\"GoToPlaceholder_Closed\">\r\n                    <controls:InAppNotification.Content>\r\n                        <goTo:GoToControl x:Name=\"GoToControl\"\r\n                                          Width=\"260\"\r\n                                          OnDismissKeyDown=\"GoToControl_OnDismissKeyDown\"\r\n                                          OnGoToControlKeyDown=\"TextEditorCore_OnKeyDown\"\r\n                                          OnGoToButtonClicked=\"GoToControl_OnGoToButtonClicked\"/>\r\n                    </controls:InAppNotification.Content>\r\n                </controls:InAppNotification>\r\n            </Grid>\r\n            <controls:DropShadowPanel    \r\n                Canvas.ZIndex=\"50\"\r\n                Grid.Column=\"1\"\r\n                ShadowOpacity=\"0.3\"\r\n                BlurRadius=\"12\"\r\n                VerticalAlignment=\"Stretch\"\r\n                HorizontalAlignment=\"Left\">\r\n                <Grid Width=\"2\"/>\r\n                <controls:DropShadowPanel.Clip>\r\n                    <RectangleGeometry Rect=\"-12,0,12,12960\"></RectangleGeometry>\r\n                </controls:DropShadowPanel.Clip>\r\n            </controls:DropShadowPanel>\r\n            <ContentPresenter x:Name=\"SplitPanel\" \r\n                              x:Load=\"False\"\r\n                              Canvas.ZIndex=\"100\"\r\n                              Padding=\"10,0,0,0\"\r\n                              Background=\"{ThemeResource SplitViewBackgroundThemeBrush}\"\r\n                              AutomationProperties.AccessibilityView=\"Raw\"\r\n                              Grid.Column=\"1\"/>\r\n            <controls:GridSplitter x:Name=\"GridSplitter\"\r\n                                   x:Load=\"False\"\r\n                                   Canvas.ZIndex=\"150\"\r\n                                   Style=\"{StaticResource CustomGridSplitterStyle}\"\r\n                                   MinWidth=\"10\"\r\n                                   GripperCursor=\"Default\"\r\n                                   HorizontalAlignment=\"Left\"\r\n                                   Grid.Column=\"1\"\r\n                                   ResizeDirection=\"Auto\"\r\n                                   ResizeBehavior=\"BasedOnAlignment\"\r\n                                   CursorBehavior=\"ChangeOnSplitterHover\"\r\n                                   Width=\"10\">\r\n                <controls:GridSplitter.RenderTransform>\r\n                    <TranslateTransform X=\"0\" />\r\n                </controls:GridSplitter.RenderTransform>\r\n            </controls:GridSplitter>\r\n        </Grid>\r\n        <diffViewer:SideBySideDiffViewer x:Name=\"SideBySideDiffViewer\"\r\n                                         x:Load=\"False\"\r\n                                         Grid.Row=\"1\"/>\r\n    </Grid>\r\n</UserControl>\r\n"
  },
  {
    "path": "src/Notepads/Controls/TextEditor/TextEditor.xaml.cs",
    "content": "﻿namespace Notepads.Controls.TextEditor\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Text;\r\n    using System.Threading;\r\n    using System.Threading.Tasks;\r\n    using Notepads.Commands;\r\n    using Notepads.Controls.FindAndReplace;\r\n    using Notepads.Controls.GoTo;\r\n    using Notepads.Extensions;\r\n    using Notepads.Models;\r\n    using Notepads.Services;\r\n    using Notepads.Utilities;\r\n    using Windows.ApplicationModel.DataTransfer;\r\n    using Windows.ApplicationModel.Resources;\r\n    using Windows.Storage;\r\n    using Windows.System;\r\n    using Windows.UI.Core;\r\n    using Windows.UI.Text;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Controls.Primitives;\r\n    using Windows.UI.Xaml.Input;\r\n\r\n    public enum TextEditorMode\r\n    {\r\n        Editing = 0,\r\n        DiffPreview\r\n    }\r\n\r\n    public enum FileModificationState\r\n    {\r\n        Untouched,\r\n        Modified,\r\n        RenamedMovedOrDeleted\r\n    }\r\n\r\n    public sealed partial class TextEditor : ITextEditor, IDisposable\r\n    {\r\n        public new event RoutedEventHandler Loaded;\r\n        public new event RoutedEventHandler Unloaded;\r\n        public new event KeyEventHandler KeyDown;\r\n        public event EventHandler ModeChanged;\r\n        public event EventHandler ModificationStateChanged;\r\n        public event EventHandler FileModificationStateChanged;\r\n        public event EventHandler LineEndingChanged;\r\n        public event EventHandler EncodingChanged;\r\n        public event EventHandler TextChanging;\r\n        public event EventHandler ChangeReverted;\r\n        public event EventHandler SelectionChanged;\r\n        public event EventHandler FontZoomFactorChanged;\r\n        public event EventHandler FileSaved;\r\n        public event EventHandler FileReloaded;\r\n        public event EventHandler FileRenamed;\r\n\r\n        public Guid Id { get; set; }\r\n\r\n        public INotepadsExtensionProvider ExtensionProvider;\r\n\r\n        public string FileNamePlaceholder { get; set; } = string.Empty;\r\n\r\n        public FileType FileType { get; private set; }\r\n\r\n        public TextFile LastSavedSnapshot { get; private set; }\r\n\r\n        public LineEnding? RequestedLineEnding { get; private set; }\r\n\r\n        public Encoding RequestedEncoding { get; private set; }\r\n\r\n        public string EditingFileName { get; private set; }\r\n\r\n        public string EditingFilePath { get; private set; }\r\n\r\n        private StorageFile _editingFile;\r\n\r\n        public StorageFile EditingFile\r\n        {\r\n            get => _editingFile;\r\n            private set\r\n            {\r\n                _editingFile = value;\r\n                UpdateDocumentInfo();\r\n            }\r\n        }\r\n\r\n        private void UpdateDocumentInfo()\r\n        {\r\n            if (EditingFile == null)\r\n            {\r\n                EditingFileName = null;\r\n                EditingFilePath = null;\r\n                FileType = FileTypeUtility.GetFileTypeByFileName(FileNamePlaceholder);\r\n            }\r\n            else\r\n            {\r\n                EditingFileName = EditingFile.Name;\r\n                EditingFilePath = EditingFile.Path;\r\n                FileType = FileTypeUtility.GetFileTypeByFileName(EditingFile.Name);\r\n            }\r\n\r\n            // Hide content preview if current file type is not supported for previewing\r\n            if (!FileTypeUtility.IsPreviewSupported(FileType))\r\n            {\r\n                if (SplitPanel != null && SplitPanel.Visibility == Visibility.Visible)\r\n                {\r\n                    ShowHideContentPreview();\r\n                }\r\n            }\r\n        }\r\n\r\n        private bool _isModified;\r\n\r\n        public bool IsModified\r\n        {\r\n            get => _isModified;\r\n            private set\r\n            {\r\n                if (_isModified != value)\r\n                {\r\n                    _isModified = value;\r\n                    ModificationStateChanged?.Invoke(this, EventArgs.Empty);\r\n                }\r\n            }\r\n        }\r\n\r\n        public FileModificationState FileModificationState\r\n        {\r\n            get => _fileModificationState;\r\n            private set\r\n            {\r\n                if (_fileModificationState != value)\r\n                {\r\n                    _fileModificationState = value;\r\n                    FileModificationStateChanged?.Invoke(this, EventArgs.Empty);\r\n                }\r\n            }\r\n        }\r\n\r\n        private bool _loaded;\r\n\r\n        private FileModificationState _fileModificationState;\r\n\r\n        private bool _isContentPreviewPanelOpened;\r\n\r\n        private readonly ResourceLoader _resourceLoader = ResourceLoader.GetForCurrentView();\r\n\r\n        private CancellationTokenSource _fileStatusCheckerCancellationTokenSource;\r\n\r\n        private readonly int _fileStatusCheckerPollingRateInSec = 6;\r\n\r\n        private readonly double _fileStatusCheckerDelayInSec = 0.3;\r\n\r\n        private readonly SemaphoreSlim _fileStatusSemaphoreSlim = new SemaphoreSlim(1, 1);\r\n\r\n        private TextEditorMode _mode = TextEditorMode.Editing;\r\n\r\n        private readonly ICommandHandler<KeyRoutedEventArgs> _keyboardCommandHandler;\r\n\r\n        private IContentPreviewExtension _contentPreviewExtension;\r\n\r\n        private SearchContext _lastSearchContext = new SearchContext(string.Empty);\r\n\r\n        public TextEditorMode Mode\r\n        {\r\n            get => _mode;\r\n            private set\r\n            {\r\n                if (_mode != value)\r\n                {\r\n                    _mode = value;\r\n                    ModeChanged?.Invoke(this, EventArgs.Empty);\r\n                }\r\n            }\r\n        }\r\n\r\n        public bool DisplayLineNumbers\r\n        {\r\n            get => TextEditorCore.DisplayLineNumbers;\r\n            set => TextEditorCore.DisplayLineNumbers = value;\r\n        }\r\n\r\n        public bool DisplayLineHighlighter\r\n        {\r\n            get => TextEditorCore.DisplayLineHighlighter;\r\n            set => TextEditorCore.DisplayLineHighlighter = value;\r\n        }\r\n\r\n        public TextEditor()\r\n        {\r\n            InitializeComponent();\r\n\r\n            TextEditorCore.TextChanging += TextEditorCore_OnTextChanging;\r\n            TextEditorCore.SelectionChanged += TextEditorCore_OnSelectionChanged;\r\n            TextEditorCore.KeyDown += TextEditorCore_OnKeyDown;\r\n            TextEditorCore.CopyTextToWindowsClipboardRequested += TextEditorCore_CopyTextToWindowsClipboardRequested;\r\n            TextEditorCore.CutSelectedTextToWindowsClipboardRequested += TextEditorCore_CutSelectedTextToWindowsClipboardRequested;\r\n            TextEditorCore.ContextFlyout = new TextEditorContextFlyout(this, TextEditorCore);\r\n\r\n            // Init shortcuts\r\n            _keyboardCommandHandler = GetKeyboardCommandHandler();\r\n\r\n            ThemeSettingsService.OnThemeChanged += ThemeSettingsService_OnThemeChanged;\r\n\r\n            base.Loaded += TextEditor_Loaded;\r\n            base.Unloaded += TextEditor_Unloaded;\r\n            base.KeyDown += TextEditor_KeyDown;\r\n\r\n            TextEditorCore.FontZoomFactorChanged += TextEditorCore_OnFontZoomFactorChanged;\r\n        }\r\n\r\n        private void TextEditor_KeyDown(object sender, KeyRoutedEventArgs e)\r\n        {\r\n            KeyDown?.Invoke(this, e);\r\n        }\r\n\r\n        // Unhook events and clear state\r\n        public void Dispose()\r\n        {\r\n            StopCheckingFileStatus();\r\n\r\n            TextEditorCore.TextChanging -= TextEditorCore_OnTextChanging;\r\n            TextEditorCore.SelectionChanged -= TextEditorCore_OnSelectionChanged;\r\n            TextEditorCore.KeyDown -= TextEditorCore_OnKeyDown;\r\n            TextEditorCore.CopyTextToWindowsClipboardRequested -= TextEditorCore_CopyTextToWindowsClipboardRequested;\r\n            TextEditorCore.CutSelectedTextToWindowsClipboardRequested -= TextEditorCore_CutSelectedTextToWindowsClipboardRequested;\r\n\r\n            if (TextEditorCore.ContextFlyout is TextEditorContextFlyout contextFlyout)\r\n            {\r\n                contextFlyout.Dispose();\r\n            }\r\n\r\n            ThemeSettingsService.OnThemeChanged -= ThemeSettingsService_OnThemeChanged;\r\n\r\n            Unloaded?.Invoke(this, new RoutedEventArgs());\r\n\r\n            base.Loaded -= TextEditor_Loaded;\r\n            base.Unloaded -= TextEditor_Unloaded;\r\n            base.KeyDown -= TextEditor_KeyDown;\r\n\r\n            TextEditorCore.FontZoomFactorChanged -= TextEditorCore_OnFontZoomFactorChanged;\r\n\r\n            _contentPreviewExtension?.Dispose();\r\n\r\n            if (SplitPanel != null)\r\n            {\r\n                SplitPanel.KeyDown -= SplitPanel_OnKeyDown;\r\n                UnloadObject(SplitPanel);\r\n            }\r\n\r\n            if (SideBySideDiffViewer != null)\r\n            {\r\n                SideBySideDiffViewer.OnCloseEvent -= SideBySideDiffViewer_OnCloseEvent;\r\n                SideBySideDiffViewer.Dispose();\r\n                UnloadObject(SideBySideDiffViewer);\r\n            }\r\n\r\n            if (FindAndReplacePlaceholder != null && FindAndReplacePlaceholder.Content is FindAndReplaceControl findAndReplaceControl)\r\n            {\r\n                findAndReplaceControl.Dispose();\r\n                UnloadObject(FindAndReplacePlaceholder);\r\n            }\r\n\r\n            if (GoToPlaceholder != null && GoToPlaceholder.Content is GoToControl goToControl)\r\n            {\r\n                goToControl.Dispose();\r\n                UnloadObject(GoToPlaceholder);\r\n            }\r\n\r\n            if (GridSplitter != null)\r\n            {\r\n                UnloadObject(GridSplitter);\r\n            }\r\n\r\n            _fileStatusSemaphoreSlim.Dispose();\r\n            TextEditorCore.Dispose();\r\n        }\r\n\r\n        private async void ThemeSettingsService_OnThemeChanged(object sender, ElementTheme theme)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                if (Mode == TextEditorMode.DiffPreview)\r\n                {\r\n                    SideBySideDiffViewer.RenderDiff(LastSavedSnapshot.Content, TextEditorCore.GetText(), theme);\r\n                    Task.Factory.StartNew(async () =>\r\n                    {\r\n                        await Dispatcher.CallOnUIThreadAsync(() => { SideBySideDiffViewer.Focus(); });\r\n                    });\r\n                }\r\n            });\r\n        }\r\n\r\n        public async Task RenameAsync(string newFileName)\r\n        {\r\n            if (EditingFile == null)\r\n            {\r\n                FileNamePlaceholder = newFileName;\r\n            }\r\n            else\r\n            {\r\n                await EditingFile.RenameAsync(newFileName);\r\n            }\r\n\r\n            UpdateDocumentInfo();\r\n\r\n            FileRenamed?.Invoke(this, EventArgs.Empty);\r\n        }\r\n\r\n        public string GetText()\r\n        {\r\n            return TextEditorCore.GetText();\r\n        }\r\n\r\n        // Make sure this method is thread safe\r\n        public TextEditorStateMetaData GetTextEditorStateMetaData()\r\n        {\r\n            TextEditorCore.GetScrollViewerPosition(out var horizontalOffset, out var verticalOffset);\r\n            TextEditorCore.GetTextSelectionPosition(out var textSelectionStartPosition, out var textSelectionEndPosition);\r\n\r\n            var metaData = new TextEditorStateMetaData\r\n            {\r\n                FileNamePlaceholder = FileNamePlaceholder,\r\n                LastSavedEncoding = EncodingUtility.GetEncodingName(LastSavedSnapshot.Encoding),\r\n                LastSavedLineEnding = LineEndingUtility.GetLineEndingName(LastSavedSnapshot.LineEnding),\r\n                DateModifiedFileTime = LastSavedSnapshot.DateModifiedFileTime,\r\n                HasEditingFile = EditingFile != null,\r\n                IsModified = IsModified,\r\n                SelectionStartPosition = textSelectionStartPosition,\r\n                SelectionEndPosition = textSelectionEndPosition,\r\n                WrapWord = TextEditorCore.TextWrapping == TextWrapping.Wrap ||\r\n                           TextEditorCore.TextWrapping == TextWrapping.WrapWholeWords,\r\n                ScrollViewerHorizontalOffset = horizontalOffset,\r\n                ScrollViewerVerticalOffset = verticalOffset,\r\n                FontZoomFactor = TextEditorCore.GetFontZoomFactor() / 100,\r\n                IsContentPreviewPanelOpened = _isContentPreviewPanelOpened,\r\n                IsInDiffPreviewMode = (Mode == TextEditorMode.DiffPreview)\r\n            };\r\n\r\n            if (RequestedEncoding != null)\r\n            {\r\n                metaData.RequestedEncoding = EncodingUtility.GetEncodingName(RequestedEncoding);\r\n            }\r\n\r\n            if (RequestedLineEnding != null)\r\n            {\r\n                metaData.RequestedLineEnding = LineEndingUtility.GetLineEndingName(RequestedLineEnding.Value);\r\n            }\r\n\r\n            return metaData;\r\n        }\r\n\r\n        private void TextEditor_Loaded(object sender, RoutedEventArgs e)\r\n        {\r\n            Loaded?.Invoke(this, e);\r\n\r\n            StartCheckingFileStatusPeriodically();\r\n\r\n            // Insert \"Legacy Windows Notepad\" style date and time if document starts with \".LOG\"\r\n            TextEditorCore.TryInsertNewLogEntry();\r\n        }\r\n\r\n        private void TextEditor_Unloaded(object sender, RoutedEventArgs e)\r\n        {\r\n            Unloaded?.Invoke(this, e);\r\n            StopCheckingFileStatus();\r\n        }\r\n\r\n        public async void StartCheckingFileStatusPeriodically()\r\n        {\r\n            if (EditingFile == null) return;\r\n            StopCheckingFileStatus();\r\n            var cancellationTokenSource = new CancellationTokenSource();\r\n            var cancellationToken = cancellationTokenSource.Token;\r\n            _fileStatusCheckerCancellationTokenSource = cancellationTokenSource;\r\n\r\n            try\r\n            {\r\n                await Task.Run(async () =>\r\n                {\r\n                    while (!cancellationToken.IsCancellationRequested)\r\n                    {\r\n                        await Task.Delay(TimeSpan.FromSeconds(_fileStatusCheckerDelayInSec), cancellationToken);\r\n                        LoggingService.LogInfo($\"[{nameof(TextEditor)}] Checking file status for \\\"{EditingFile.Path}\\\".\", consoleOnly: true);\r\n                        await CheckAndUpdateFileStatusAsync(cancellationToken);\r\n                        await Task.Delay(TimeSpan.FromSeconds(_fileStatusCheckerPollingRateInSec), cancellationToken);\r\n                    }\r\n                }, cancellationToken);\r\n            }\r\n            catch (TaskCanceledException)\r\n            {\r\n                // ignore\r\n            }\r\n            catch (ObjectDisposedException)\r\n            {\r\n                // ignore\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(TextEditor)}] Failed to check status for file [{EditingFile?.Path}]: {ex.Message}\");\r\n            }\r\n        }\r\n\r\n        public void StopCheckingFileStatus()\r\n        {\r\n            if (_fileStatusCheckerCancellationTokenSource?.IsCancellationRequested == false)\r\n            {\r\n                _fileStatusCheckerCancellationTokenSource.Cancel();\r\n            }\r\n        }\r\n\r\n        private async Task CheckAndUpdateFileStatusAsync(CancellationToken cancellationToken)\r\n        {\r\n            if (EditingFile == null) return;\r\n\r\n            await _fileStatusSemaphoreSlim.WaitAsync(cancellationToken);\r\n\r\n            if (cancellationToken.IsCancellationRequested)\r\n            {\r\n                _fileStatusSemaphoreSlim.Release();\r\n                return;\r\n            }\r\n\r\n            FileModificationState? newState = null;\r\n\r\n            if (!await FileSystemUtility.FileExistsAsync(EditingFile))\r\n            {\r\n                newState = FileModificationState.RenamedMovedOrDeleted;\r\n            }\r\n            else\r\n            {\r\n                long fileModifiedTime = await FileSystemUtility.GetDateModifiedAsync(EditingFile);\r\n                newState = fileModifiedTime != LastSavedSnapshot.DateModifiedFileTime ?\r\n                    FileModificationState.Modified :\r\n                    FileModificationState.Untouched;\r\n            }\r\n\r\n            if (cancellationToken.IsCancellationRequested)\r\n            {\r\n                _fileStatusSemaphoreSlim.Release();\r\n                return;\r\n            }\r\n\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                FileModificationState = newState.Value;\r\n            });\r\n\r\n            _fileStatusSemaphoreSlim.Release();\r\n        }\r\n\r\n        private KeyboardCommandHandler GetKeyboardCommandHandler()\r\n        {\r\n            return new KeyboardCommandHandler(new List<IKeyboardCommand<KeyRoutedEventArgs>>\r\n            {\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.F, (args) => ShowFindAndReplaceControl(showReplaceBar: false)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, true, VirtualKey.F, (args) => ShowFindAndReplaceControl(showReplaceBar: true)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.H, (args) => ShowFindAndReplaceControl(showReplaceBar: true)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.G, (args) => ShowGoToControl()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(false, true, false, VirtualKey.P, (args) => { if (FileTypeUtility.IsPreviewSupported(FileType)) ShowHideContentPreview(); }),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(false, true, false, VirtualKey.D, (args) => ShowHideSideBySideDiffViewer()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(VirtualKey.F3, (args) =>\r\n                    InitiateFindAndReplace(new FindAndReplaceEventArgs (_lastSearchContext, string.Empty, FindAndReplaceMode.FindOnly, SearchDirection.Next), out _)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(false, false, true, VirtualKey.F3, (args) =>\r\n                    InitiateFindAndReplace(new FindAndReplaceEventArgs (_lastSearchContext, string.Empty, FindAndReplaceMode.FindOnly, SearchDirection.Previous), out _)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(VirtualKey.Escape, (args) => { OnEscapeKeyDown(); }, shouldHandle: false, shouldSwallow: true)\r\n            });\r\n        }\r\n\r\n        public void Init(TextFile textFile, StorageFile file, bool resetLastSavedSnapshot = true, bool clearUndoQueue = true, bool isModified = false, bool resetText = true)\r\n        {\r\n            _loaded = false;\r\n            EditingFile = file;\r\n            RequestedEncoding = null;\r\n            RequestedLineEnding = null;\r\n            if (resetText)\r\n            {\r\n                TextEditorCore.SetText(textFile.Content);\r\n            }\r\n            if (resetLastSavedSnapshot)\r\n            {\r\n                textFile.Content = TextEditorCore.GetText();\r\n                LastSavedSnapshot = textFile;\r\n            }\r\n            if (clearUndoQueue)\r\n            {\r\n                TextEditorCore.ClearUndoQueue();\r\n            }\r\n            IsModified = isModified;\r\n            _loaded = true;\r\n        }\r\n\r\n        public async Task ReloadFromEditingFileAsync(Encoding encoding = null)\r\n        {\r\n            if (EditingFile != null)\r\n            {\r\n                var textFile = await FileSystemUtility.ReadFileAsync(EditingFile, ignoreFileSizeLimit: false, encoding: encoding);\r\n                Init(textFile, EditingFile, clearUndoQueue: false);\r\n                LineEndingChanged?.Invoke(this, EventArgs.Empty);\r\n                EncodingChanged?.Invoke(this, EventArgs.Empty);\r\n                StartCheckingFileStatusPeriodically();\r\n                CloseSideBySideDiffViewer();\r\n                HideGoToControl();\r\n                FileReloaded?.Invoke(this, EventArgs.Empty);\r\n                AnalyticsService.TrackEvent(encoding == null ? \"OnFileReloaded\" : \"OnFileReopenedWithEncoding\");\r\n            }\r\n        }\r\n\r\n        public void ResetEditorState(TextEditorStateMetaData metadata, string newText = null)\r\n        {\r\n            if (!string.IsNullOrEmpty(metadata.RequestedEncoding))\r\n            {\r\n                TryChangeEncoding(EncodingUtility.GetEncodingByName(metadata.RequestedEncoding));\r\n            }\r\n\r\n            if (!string.IsNullOrEmpty(metadata.RequestedLineEnding))\r\n            {\r\n                TryChangeLineEnding(LineEndingUtility.GetLineEndingByName(metadata.RequestedLineEnding));\r\n            }\r\n\r\n            if (newText != null)\r\n            {\r\n                TextEditorCore.SetText(newText);\r\n            }\r\n\r\n            TextEditorCore.TextWrapping = metadata.WrapWord ? TextWrapping.Wrap : TextWrapping.NoWrap;\r\n            TextEditorCore.FontSize = metadata.FontZoomFactor * AppSettingsService.EditorFontSize;\r\n            TextEditorCore.SetTextSelectionPosition(metadata.SelectionStartPosition, metadata.SelectionEndPosition);\r\n            TextEditorCore.SetScrollViewerInitPosition(metadata.ScrollViewerHorizontalOffset, metadata.ScrollViewerVerticalOffset);\r\n            TextEditorCore.ClearUndoQueue();\r\n        }\r\n\r\n        public void RevertAllChanges()\r\n        {\r\n            Init(LastSavedSnapshot, EditingFile, clearUndoQueue: false);\r\n            ChangeReverted?.Invoke(this, EventArgs.Empty);\r\n        }\r\n\r\n        public bool TryChangeEncoding(Encoding encoding)\r\n        {\r\n            if (encoding == null) return false;\r\n\r\n            if (!EncodingUtility.Equals(LastSavedSnapshot.Encoding, encoding))\r\n            {\r\n                RequestedEncoding = encoding;\r\n                IsModified = true;\r\n                EncodingChanged?.Invoke(this, EventArgs.Empty);\r\n                return true;\r\n            }\r\n\r\n            if (RequestedEncoding != null && EncodingUtility.Equals(LastSavedSnapshot.Encoding, encoding))\r\n            {\r\n                RequestedEncoding = null;\r\n                IsModified = !NoChangesSinceLastSaved();\r\n                EncodingChanged?.Invoke(this, EventArgs.Empty);\r\n                return true;\r\n            }\r\n            return false;\r\n        }\r\n\r\n        public bool TryChangeLineEnding(LineEnding lineEnding)\r\n        {\r\n            if (LastSavedSnapshot.LineEnding != lineEnding)\r\n            {\r\n                RequestedLineEnding = lineEnding;\r\n                IsModified = true;\r\n                LineEndingChanged?.Invoke(this, EventArgs.Empty);\r\n                return true;\r\n            }\r\n\r\n            if (RequestedLineEnding != null && LastSavedSnapshot.LineEnding == lineEnding)\r\n            {\r\n                RequestedLineEnding = null;\r\n                IsModified = !NoChangesSinceLastSaved();\r\n                LineEndingChanged?.Invoke(this, EventArgs.Empty);\r\n                return true;\r\n            }\r\n            return false;\r\n        }\r\n\r\n        public LineEnding GetLineEnding()\r\n        {\r\n            return RequestedLineEnding ?? LastSavedSnapshot.LineEnding;\r\n        }\r\n\r\n        public Encoding GetEncoding()\r\n        {\r\n            return RequestedEncoding ?? LastSavedSnapshot.Encoding;\r\n        }\r\n\r\n        private void OpenSplitView(IContentPreviewExtension extension)\r\n        {\r\n            SplitPanel.Content = extension;\r\n            SplitPanelColumnDefinition.Width = new GridLength(1, GridUnitType.Star);\r\n            SplitPanelColumnDefinition.MinWidth = 100.0f;\r\n            SplitPanel.Visibility = Visibility.Visible;\r\n            GridSplitter.Visibility = Visibility.Visible;\r\n            AnalyticsService.TrackEvent(\"MarkdownContentPreview_Opened\");\r\n            _isContentPreviewPanelOpened = true;\r\n        }\r\n\r\n        private void CloseSplitView()\r\n        {\r\n            SplitPanelColumnDefinition.Width = new GridLength(0);\r\n            EditorColumnDefinition.Width = new GridLength(1, GridUnitType.Star);\r\n            SplitPanelColumnDefinition.MinWidth = 0.0f;\r\n            SplitPanel.Visibility = Visibility.Collapsed;\r\n            GridSplitter.Visibility = Visibility.Collapsed;\r\n            TextEditorCore.ResetFocusAndScrollToPreviousPosition();\r\n            _isContentPreviewPanelOpened = false;\r\n        }\r\n\r\n        public void ShowHideContentPreview()\r\n        {\r\n            if (_contentPreviewExtension == null)\r\n            {\r\n                _contentPreviewExtension = ExtensionProvider?.GetContentPreviewExtension(FileType);\r\n                if (_contentPreviewExtension == null) return;\r\n                _contentPreviewExtension.Bind(TextEditorCore);\r\n            }\r\n\r\n            if (SplitPanel == null) LoadSplitView();\r\n\r\n            if (SplitPanel.Visibility == Visibility.Collapsed)\r\n            {\r\n                _contentPreviewExtension.IsExtensionEnabled = true;\r\n                OpenSplitView(_contentPreviewExtension);\r\n            }\r\n            else\r\n            {\r\n                _contentPreviewExtension.IsExtensionEnabled = false;\r\n                CloseSplitView();\r\n            }\r\n        }\r\n\r\n        public void OpenSideBySideDiffViewer()\r\n        {\r\n            if (string.Equals(LastSavedSnapshot.Content, TextEditorCore.GetText())) return;\r\n            if (Mode == TextEditorMode.DiffPreview) return;\r\n            if (SideBySideDiffViewer == null) LoadSideBySideDiffViewer();\r\n            Mode = TextEditorMode.DiffPreview;\r\n            TextEditorCore.IsEnabled = false;\r\n            EditorRowDefinition.Height = new GridLength(0);\r\n            SideBySideDiffViewRowDefinition.Height = new GridLength(1, GridUnitType.Star);\r\n            SideBySideDiffViewer.Visibility = Visibility.Visible;\r\n            SideBySideDiffViewer.RenderDiff(LastSavedSnapshot.Content, TextEditorCore.GetText(), ThemeSettingsService.ThemeMode);\r\n            SideBySideDiffViewer.Focus();\r\n            AnalyticsService.TrackEvent(\"SideBySideDiffViewer_Opened\");\r\n        }\r\n\r\n        public void CloseSideBySideDiffViewer()\r\n        {\r\n            if (Mode != TextEditorMode.DiffPreview) return;\r\n            Mode = TextEditorMode.Editing;\r\n            TextEditorCore.IsEnabled = true;\r\n            EditorRowDefinition.Height = new GridLength(1, GridUnitType.Star);\r\n            SideBySideDiffViewRowDefinition.Height = new GridLength(0);\r\n            SideBySideDiffViewer.Visibility = Visibility.Collapsed;\r\n            SideBySideDiffViewer.StopRenderingAndClearCache();\r\n            TextEditorCore.ResetFocusAndScrollToPreviousPosition();\r\n        }\r\n\r\n        private void ShowHideSideBySideDiffViewer()\r\n        {\r\n            if (Mode != TextEditorMode.DiffPreview)\r\n            {\r\n                OpenSideBySideDiffViewer();\r\n            }\r\n            else\r\n            {\r\n                CloseSideBySideDiffViewer();\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Returns 1-based indexing values\r\n        /// </summary>\r\n        public void GetLineColumnSelection(\r\n            out int startLine,\r\n            out int endLine,\r\n            out int startColumn,\r\n            out int endColumn,\r\n            out int selected,\r\n            out int lineCount)\r\n        {\r\n            TextEditorCore.GetLineColumnSelection(\r\n                out startLine,\r\n                out endLine,\r\n                out startColumn,\r\n                out endColumn,\r\n                out selected,\r\n                out lineCount,\r\n                GetLineEnding());\r\n        }\r\n\r\n        public double GetFontZoomFactor()\r\n        {\r\n            return TextEditorCore.GetFontZoomFactor();\r\n        }\r\n\r\n        public void SetFontZoomFactor(double fontZoomFactor)\r\n        {\r\n            TextEditorCore.SetFontZoomFactor(fontZoomFactor);\r\n        }\r\n\r\n        public bool IsEditorEnabled()\r\n        {\r\n            return TextEditorCore.IsEnabled;\r\n        }\r\n\r\n        public async Task SaveContentToFileAndUpdateEditorStateAsync(StorageFile file)\r\n        {\r\n            if (Mode == TextEditorMode.DiffPreview) CloseSideBySideDiffViewer();\r\n            TextFile textFile = await SaveContentToFileAsync(file); // Will throw if not succeeded\r\n            FileModificationState = FileModificationState.Untouched;\r\n            Init(textFile, file, clearUndoQueue: false, resetText: false);\r\n            FileSaved?.Invoke(this, EventArgs.Empty);\r\n            StartCheckingFileStatusPeriodically();\r\n        }\r\n\r\n        private async Task<TextFile> SaveContentToFileAsync(StorageFile file)\r\n        {\r\n            var text = TextEditorCore.GetText();\r\n            var encoding = RequestedEncoding ?? LastSavedSnapshot.Encoding;\r\n            var lineEnding = RequestedLineEnding ?? LastSavedSnapshot.LineEnding;\r\n            await FileSystemUtility.WriteTextToFileAsync(file, LineEndingUtility.ApplyLineEnding(text, lineEnding), encoding); // Will throw if not succeeded\r\n            var newFileModifiedTime = await FileSystemUtility.GetDateModifiedAsync(file);\r\n            return new TextFile(text, encoding, lineEnding, newFileModifiedTime);\r\n        }\r\n\r\n        public string GetContentForSharing()\r\n        {\r\n            return TextEditorCore.Document.Selection.StartPosition == TextEditorCore.Document.Selection.EndPosition ?\r\n                TextEditorCore.GetText() :\r\n                TextEditorCore.Document.Selection.Text;\r\n        }\r\n\r\n        public void TypeText(string text)\r\n        {\r\n            if (TextEditorCore.IsEnabled)\r\n            {\r\n                TextEditorCore.Document.Selection.TypeText(text);\r\n            }\r\n        }\r\n\r\n        public void Focus()\r\n        {\r\n            if (Mode == TextEditorMode.DiffPreview)\r\n            {\r\n                SideBySideDiffViewer.Focus();\r\n            }\r\n            else if (Mode == TextEditorMode.Editing)\r\n            {\r\n                TextEditorCore.ResetFocusAndScrollToPreviousPosition();\r\n            }\r\n        }\r\n\r\n        public FlyoutBase GetContextFlyout()\r\n        {\r\n            return TextEditorCore.ContextFlyout;\r\n        }\r\n\r\n        public void CopyTextToWindowsClipboard(TextControlCopyingToClipboardEventArgs args)\r\n        {\r\n            if (args != null)\r\n            {\r\n                args.Handled = true;\r\n            }\r\n\r\n            if (AppSettingsService.IsSmartCopyEnabled)\r\n            {\r\n                TextEditorCore.SmartlyTrimTextSelection();\r\n            }\r\n\r\n            CopyTextToWindowsClipboardInternal(true);\r\n        }\r\n\r\n        public void CutSelectedTextToWindowsClipboard(TextControlCuttingToClipboardEventArgs args)\r\n        {\r\n            if (args != null)\r\n            {\r\n                args.Handled = true;\r\n            }\r\n\r\n            CopyTextToWindowsClipboardInternal(false);\r\n            TextEditorCore.Document.Selection.SetText(TextSetOptions.None, string.Empty);\r\n        }\r\n\r\n        private void CopyTextToWindowsClipboardInternal(bool clearLineSelection)\r\n        {\r\n            try\r\n            {\r\n                DataPackage dataPackage = new DataPackage { RequestedOperation = DataPackageOperation.Copy };\r\n\r\n                // Selection.Length can be negative when user selecting text from right to left\r\n                var isTextSelected = TextEditorCore.Document.Selection.Length != 0;\r\n                var cursorPosition = TextEditorCore.Document.Selection.StartPosition;\r\n\r\n                if (!isTextSelected)\r\n                {\r\n                    TextEditorCore.Document.Selection.Expand(TextRangeUnit.Paragraph);\r\n                }\r\n\r\n                var text = LineEndingUtility.ApplyLineEnding(TextEditorCore.Document.Selection.Text, GetLineEnding());\r\n                dataPackage.SetText(text);\r\n\r\n                if (clearLineSelection && !isTextSelected)\r\n                {\r\n                    TextEditorCore.Document.Selection.SetRange(cursorPosition, cursorPosition);\r\n                }\r\n\r\n                Clipboard.SetContentWithOptions(dataPackage, new ClipboardContentOptions() { IsAllowedInHistory = true, IsRoamable = true });\r\n                Clipboard.Flush(); // This method allows the content to remain available after the application shuts down.\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(TextEditor)}] Failed to copy plain text to Windows clipboard: {ex.Message}\");\r\n            }\r\n        }\r\n\r\n        public bool NoChangesSinceLastSaved(bool compareTextOnly = false)\r\n        {\r\n            if (!_loaded) return true;\r\n\r\n            if (!compareTextOnly)\r\n            {\r\n                if (RequestedLineEnding != null)\r\n                {\r\n                    return false;\r\n                }\r\n\r\n                if (RequestedEncoding != null)\r\n                {\r\n                    return false;\r\n                }\r\n            }\r\n\r\n            return string.Equals(LastSavedSnapshot.Content, TextEditorCore.GetText());\r\n        }\r\n\r\n        private void OnEscapeKeyDown()\r\n        {\r\n            if (_isContentPreviewPanelOpened)\r\n            {\r\n                _contentPreviewExtension.IsExtensionEnabled = false;\r\n                CloseSplitView();\r\n            }\r\n            else if (FindAndReplacePlaceholder != null && FindAndReplacePlaceholder.Visibility == Visibility.Visible)\r\n            {\r\n                HideFindAndReplaceControl();\r\n                TextEditorCore.Focus(FocusState.Programmatic);\r\n            }\r\n            else if (GoToPlaceholder != null && GoToPlaceholder.Visibility == Visibility.Visible)\r\n            {\r\n                HideGoToControl();\r\n                TextEditorCore.Focus(FocusState.Programmatic);\r\n            }\r\n        }\r\n\r\n        private void LoadSplitView()\r\n        {\r\n            FindName(\"SplitPanel\");\r\n            FindName(\"GridSplitter\");\r\n            SplitPanel.Visibility = Visibility.Collapsed;\r\n            GridSplitter.Visibility = Visibility.Collapsed;\r\n            SplitPanel.KeyDown += SplitPanel_OnKeyDown;\r\n        }\r\n\r\n        private void LoadSideBySideDiffViewer()\r\n        {\r\n            FindName(\"SideBySideDiffViewer\");\r\n            SideBySideDiffViewer.Visibility = Visibility.Collapsed;\r\n            SideBySideDiffViewer.OnCloseEvent += SideBySideDiffViewer_OnCloseEvent;\r\n        }\r\n\r\n        private void SideBySideDiffViewer_OnCloseEvent(object sender, EventArgs e)\r\n        {\r\n            CloseSideBySideDiffViewer();\r\n        }\r\n\r\n        private void SplitPanel_OnKeyDown(object sender, KeyRoutedEventArgs e)\r\n        {\r\n            var result = _keyboardCommandHandler.Handle(e);\r\n            if (result.ShouldHandle)\r\n            {\r\n                e.Handled = true;\r\n            }\r\n        }\r\n\r\n        private void TextEditorCore_OnSelectionChanged(object sender, RoutedEventArgs e)\r\n        {\r\n            SelectionChanged?.Invoke(this, EventArgs.Empty);\r\n        }\r\n\r\n        private void TextEditorCore_OnFontZoomFactorChanged(object sender, double e)\r\n        {\r\n            FontZoomFactorChanged?.Invoke(this, EventArgs.Empty);\r\n        }\r\n\r\n        private void TextEditorCore_OnKeyDown(object sender, KeyRoutedEventArgs e)\r\n        {\r\n            var ctrl = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control);\r\n            var alt = Window.Current.CoreWindow.GetKeyState(VirtualKey.Menu);\r\n\r\n            if (FindAndReplacePlaceholder?.Visibility == Visibility.Visible && !ctrl.HasFlag(CoreVirtualKeyStates.Down) && !alt.HasFlag(CoreVirtualKeyStates.Down))\r\n            {\r\n                if (e.Key == VirtualKey.F3)\r\n                {\r\n                    return;\r\n                }\r\n            }\r\n\r\n            var result = _keyboardCommandHandler.Handle(e);\r\n            if (result.ShouldHandle)\r\n            {\r\n                e.Handled = true;\r\n            }\r\n        }\r\n\r\n        private void TextEditorCore_OnTextChanging(RichEditBox textEditor, RichEditBoxTextChangingEventArgs args)\r\n        {\r\n            if (!args.IsContentChanging || !_loaded) return;\r\n            if (IsModified)\r\n            {\r\n                IsModified = !NoChangesSinceLastSaved();\r\n            }\r\n            else\r\n            {\r\n                IsModified = !NoChangesSinceLastSaved(compareTextOnly: true);\r\n            }\r\n            TextChanging?.Invoke(this, EventArgs.Empty);\r\n\r\n            GoToPlaceholder?.Dismiss();\r\n        }\r\n\r\n        private void TextEditorCore_CopyTextToWindowsClipboardRequested(object sender, TextControlCopyingToClipboardEventArgs e)\r\n        {\r\n            CopyTextToWindowsClipboard(e);\r\n        }\r\n\r\n        private void TextEditorCore_CutSelectedTextToWindowsClipboardRequested(object sender, TextControlCuttingToClipboardEventArgs e)\r\n        {\r\n            CutSelectedTextToWindowsClipboard(e);\r\n        }\r\n\r\n        private void FindAndReplaceControl_OnToggleReplaceModeButtonClicked(object sender, bool showReplaceBar)\r\n        {\r\n            ShowFindAndReplaceControl(showReplaceBar);\r\n        }\r\n\r\n        public void ShowFindAndReplaceControl(bool showReplaceBar)\r\n        {\r\n            if (!TextEditorCore.IsEnabled || Mode != TextEditorMode.Editing)\r\n            {\r\n                return;\r\n            }\r\n\r\n            GoToPlaceholder?.Dismiss();\r\n\r\n            if (FindAndReplacePlaceholder == null)\r\n            {\r\n                FindName(\"FindAndReplacePlaceholder\"); // Lazy loading\r\n            }\r\n\r\n            var findAndReplace = (FindAndReplaceControl)FindAndReplacePlaceholder.Content;\r\n\r\n            if (findAndReplace == null) return;\r\n\r\n            FindAndReplacePlaceholder.Height = findAndReplace.GetHeight(showReplaceBar);\r\n            findAndReplace.ShowReplaceBar(showReplaceBar);\r\n\r\n            if (FindAndReplacePlaceholder.Visibility == Visibility.Collapsed)\r\n            {\r\n                FindAndReplacePlaceholder.Show();\r\n            }\r\n\r\n            findAndReplace.Focus(TextEditorCore.GetSearchString(), FindAndReplaceMode.FindOnly);\r\n        }\r\n\r\n        public void HideFindAndReplaceControl()\r\n        {\r\n            FindAndReplacePlaceholder?.Dismiss();\r\n        }\r\n\r\n        private async void FindAndReplaceControl_OnFindAndReplaceButtonClicked(object sender, FindAndReplaceEventArgs e)\r\n        {\r\n            TextEditorCore.Focus(FocusState.Programmatic);\r\n            InitiateFindAndReplace(e, out bool found);\r\n\r\n            // In case user hit \"enter\" key in search box instead of clicking on search button or hit F3\r\n            // We should re-focus on FindAndReplaceControl to make the next search \"flows\"\r\n            if (!(sender is Button))\r\n            {\r\n                if (found)\r\n                {\r\n                    // Wait for layout to refresh (ScrollViewer scroll to the found text) before focusing\r\n                    await Task.Delay(10);\r\n                }\r\n                FindAndReplaceControl.Focus(string.Empty, e.FindAndReplaceMode);\r\n            }\r\n        }\r\n\r\n        private void InitiateFindAndReplace(FindAndReplaceEventArgs findAndReplaceEventArgs, out bool found)\r\n        {\r\n            found = false;\r\n\r\n            if (string.IsNullOrEmpty(findAndReplaceEventArgs.SearchContext.SearchText)) return;\r\n\r\n            bool regexError = false;\r\n\r\n            if (FindAndReplacePlaceholder?.Visibility == Visibility.Visible)\r\n                _lastSearchContext = findAndReplaceEventArgs.SearchContext;\r\n\r\n            switch (findAndReplaceEventArgs.FindAndReplaceMode)\r\n            {\r\n                case FindAndReplaceMode.FindOnly:\r\n                    found = findAndReplaceEventArgs.SearchDirection == SearchDirection.Next\r\n                        ? TextEditorCore.TryFindNextAndSelect(\r\n                            findAndReplaceEventArgs.SearchContext,\r\n                            stopAtEof: false,\r\n                            out regexError)\r\n                        : TextEditorCore.TryFindPreviousAndSelect(\r\n                            findAndReplaceEventArgs.SearchContext,\r\n                            stopAtBof: false,\r\n                            out regexError);\r\n                    break;\r\n                case FindAndReplaceMode.Replace:\r\n                    found = findAndReplaceEventArgs.SearchDirection == SearchDirection.Next\r\n                        ? TextEditorCore.TryFindNextAndReplace(\r\n                            findAndReplaceEventArgs.SearchContext,\r\n                            findAndReplaceEventArgs.ReplaceText,\r\n                            out regexError)\r\n                        : TextEditorCore.TryFindPreviousAndReplace(\r\n                            findAndReplaceEventArgs.SearchContext,\r\n                            findAndReplaceEventArgs.ReplaceText,\r\n                            out regexError);\r\n                    break;\r\n                case FindAndReplaceMode.ReplaceAll:\r\n                    found = TextEditorCore.TryFindAndReplaceAll(\r\n                        findAndReplaceEventArgs.SearchContext,\r\n                        findAndReplaceEventArgs.ReplaceText,\r\n                        out regexError);\r\n                    break;\r\n            }\r\n\r\n            if (!found)\r\n            {\r\n                if (findAndReplaceEventArgs.SearchContext.UseRegex && regexError)\r\n                {\r\n                    NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"FindAndReplace_NotificationMsg_InvalidRegex\"), 1500);\r\n                }\r\n                else\r\n                {\r\n                    NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"FindAndReplace_NotificationMsg_NotFound\"), 1500);\r\n                }\r\n            }\r\n        }\r\n\r\n        private void FindAndReplacePlaceholder_Closed(object sender, InAppNotificationClosedEventArgs e)\r\n        {\r\n            FindAndReplacePlaceholder.Visibility = Visibility.Collapsed;\r\n        }\r\n\r\n        private void FindAndReplaceControl_OnDismissKeyDown(object sender, RoutedEventArgs e)\r\n        {\r\n            FindAndReplacePlaceholder?.Dismiss();\r\n            TextEditorCore.Focus(FocusState.Programmatic);\r\n        }\r\n\r\n        public void ShowGoToControl()\r\n        {\r\n            if (!TextEditorCore.IsEnabled || Mode != TextEditorMode.Editing) return;\r\n\r\n            FindAndReplacePlaceholder?.Dismiss();\r\n\r\n            if (GoToPlaceholder == null)\r\n                FindName(\"GoToPlaceholder\"); // Lazy loading\r\n\r\n            var goToControl = (GoToControl)GoToPlaceholder.Content;\r\n\r\n            if (goToControl == null) return;\r\n\r\n            GoToPlaceholder.Height = goToControl.GetHeight();\r\n\r\n            if (GoToPlaceholder.Visibility == Visibility.Collapsed)\r\n                GoToPlaceholder.Show();\r\n\r\n            GetLineColumnSelection(out var startLine, out _, out _, out _, out _, out var lineCount);\r\n            goToControl.SetLineData(startLine, lineCount);\r\n            goToControl.Focus();\r\n        }\r\n\r\n        public void HideGoToControl()\r\n        {\r\n            GoToPlaceholder?.Dismiss();\r\n        }\r\n\r\n        private void GoToControl_OnGoToButtonClicked(object sender, GoToEventArgs e)\r\n        {\r\n            var found = false;\r\n\r\n            if (int.TryParse(e.SearchLine, out var line))\r\n            {\r\n                found = TextEditorCore.GoTo(line);\r\n            }\r\n\r\n            if (!found)\r\n            {\r\n                GoToControl.Focus();\r\n                NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"FindAndReplace_NotificationMsg_NotFound\"), 1500);\r\n            }\r\n            else\r\n            {\r\n                HideGoToControl();\r\n                TextEditorCore.Focus(FocusState.Programmatic);\r\n            }\r\n        }\r\n\r\n        private void GoToPlaceholder_Closed(object sender, InAppNotificationClosedEventArgs e)\r\n        {\r\n            GoToPlaceholder.Visibility = Visibility.Collapsed;\r\n        }\r\n\r\n        private void GoToControl_OnDismissKeyDown(object sender, RoutedEventArgs e)\r\n        {\r\n            GoToPlaceholder.Dismiss();\r\n            TextEditorCore.Focus(FocusState.Programmatic);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/TextEditor/TextEditorContextFlyout.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.TextEditor\r\n{\r\n    using System;\r\n    using Notepads.Utilities;\r\n    using Windows.ApplicationModel.Resources;\r\n    using Windows.System;\r\n    using Windows.UI.Text;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Input;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    public sealed class TextEditorContextFlyout : MenuFlyout\r\n    {\r\n        private MenuFlyoutItem _cut;\r\n        private MenuFlyoutItem _copy;\r\n        private MenuFlyoutItem _paste;\r\n        private MenuFlyoutItem _undo;\r\n        private MenuFlyoutItem _redo;\r\n        private MenuFlyoutItem _selectAll;\r\n        private MenuFlyoutItem _rightToLeftReadingOrder;\r\n        private MenuFlyoutItem _webSearch;\r\n        private MenuFlyoutItem _wordWrap;\r\n        private MenuFlyoutItem _previewToggle;\r\n        private MenuFlyoutItem _share;\r\n\r\n        private MenuFlyout _proofingFlyout;\r\n        private readonly MenuFlyoutSeparator _proofingSeparator = new MenuFlyoutSeparator();\r\n\r\n        private readonly ITextEditor _textEditor;\r\n        private readonly TextEditorCore _textEditorCore;\r\n\r\n        private readonly ResourceLoader _resourceLoader = ResourceLoader.GetForCurrentView();\r\n\r\n        public TextEditorContextFlyout(ITextEditor editor, TextEditorCore editorCore)\r\n        {\r\n            _textEditor = editor;\r\n            _textEditorCore = editorCore;\r\n\r\n            Items.Add(Cut);\r\n            Items.Add(Copy);\r\n            Items.Add(Paste);\r\n            Items.Add(Undo);\r\n            Items.Add(Redo);\r\n            Items.Add(SelectAll);\r\n            Items.Add(new MenuFlyoutSeparator());\r\n            Items.Add(RightToLeftReadingOrder);\r\n            Items.Add(WordWrap);\r\n            Items.Add(WebSearch);\r\n            Items.Add(PreviewToggle);\r\n            Items.Add(Share);\r\n\r\n            Opening += TextEditorContextFlyout_Opening;\r\n            Closed += TextEditorContextFlyout_Closed;\r\n        }\r\n\r\n        public void Dispose()\r\n        {\r\n            Opening -= TextEditorContextFlyout_Opening;\r\n            Closed -= TextEditorContextFlyout_Closed;\r\n        }\r\n\r\n        private void TextEditorContextFlyout_Opening(object sender, object e)\r\n        {\r\n            if (_textEditorCore.IsSpellCheckEnabled &&\r\n                _textEditorCore.ProofingMenuFlyout is MenuFlyout proofingFlyout &&\r\n                proofingFlyout.Items?.Count > 0)\r\n            {\r\n                BuildProofingSubItems(proofingFlyout);\r\n            }\r\n            else\r\n            {\r\n                _proofingSeparator.Visibility = Visibility.Collapsed;\r\n            }\r\n\r\n            if (_textEditorCore.Document.Selection.Type == SelectionType.InsertionPoint ||\r\n                _textEditorCore.Document.Selection.Type == SelectionType.None)\r\n            {\r\n                PrepareForInsertionMode();\r\n            }\r\n            else\r\n            {\r\n                PrepareForSelectionMode();\r\n            }\r\n\r\n            Undo.IsEnabled = _textEditorCore.Document.CanUndo();\r\n            Redo.IsEnabled = _textEditorCore.Document.CanRedo();\r\n\r\n            PreviewToggle.Visibility = FileTypeUtility.IsPreviewSupported(_textEditor.FileType) ? Visibility.Visible : Visibility.Collapsed;\r\n            WordWrap.Icon.Visibility = (_textEditorCore.TextWrapping == TextWrapping.Wrap) ? Visibility.Visible : Visibility.Collapsed;\r\n            RightToLeftReadingOrder.Icon.Visibility = (_textEditorCore.FlowDirection == FlowDirection.RightToLeft) ? Visibility.Visible : Visibility.Collapsed;\r\n\r\n            if (App.IsGameBarWidget)\r\n            {\r\n                Share.Visibility = Visibility.Collapsed;\r\n            }\r\n        }\r\n\r\n        private void BuildProofingSubItems(MenuFlyout proofingFlyout)\r\n        {\r\n            _proofingFlyout = proofingFlyout;\r\n\r\n            foreach (var item in _proofingFlyout.Items)\r\n            {\r\n                Items.Insert(_proofingFlyout.Items.IndexOf(item), item);\r\n            }\r\n\r\n            if (!Items.Contains(_proofingSeparator))\r\n            {\r\n                Items.Insert(_proofingFlyout.Items.Count, _proofingSeparator);\r\n            }\r\n\r\n            if (_proofingSeparator.Visibility == Visibility.Collapsed)\r\n            {\r\n                _proofingSeparator.Visibility = Visibility.Visible;\r\n            }\r\n        }\r\n\r\n        private void TextEditorContextFlyout_Closed(object sender, object e)\r\n        {\r\n            if (_proofingFlyout?.Items?.Count > 0)\r\n            {\r\n                foreach (var item in _proofingFlyout.Items)\r\n                {\r\n                    Items.Remove(item);\r\n                }\r\n            }\r\n        }\r\n\r\n        public void PrepareForInsertionMode()\r\n        {\r\n            RightToLeftReadingOrder.Visibility = !string.IsNullOrEmpty(_textEditor.GetText()) ? Visibility.Visible : Visibility.Collapsed;\r\n            WebSearch.Visibility = Visibility.Collapsed;\r\n            Share.Text = _resourceLoader.GetString(\"TextEditor_ContextFlyout_ShareButtonDisplayText\");\r\n        }\r\n\r\n        public void PrepareForSelectionMode()\r\n        {\r\n            RightToLeftReadingOrder.Visibility = !string.IsNullOrEmpty(_textEditor.GetText()) ? Visibility.Visible : Visibility.Collapsed;\r\n            WebSearch.Visibility = Visibility.Visible;\r\n            Share.Text = _resourceLoader.GetString(\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\");\r\n        }\r\n\r\n        public MenuFlyoutItem Cut\r\n        {\r\n            get\r\n            {\r\n                if (_cut != null) return _cut;\r\n\r\n                _cut = new MenuFlyoutItem { Icon = new SymbolIcon(Symbol.Cut), Text = _resourceLoader.GetString(\"TextEditor_ContextFlyout_CutButtonDisplayText\") };\r\n                _cut.KeyboardAccelerators.Add(new KeyboardAccelerator()\r\n                {\r\n                    Modifiers = VirtualKeyModifiers.Control,\r\n                    Key = VirtualKey.X,\r\n                    IsEnabled = false,\r\n                });\r\n                _cut.Click += (sender, args) => _textEditorCore.Document.Selection.Cut();\r\n                return _cut;\r\n            }\r\n        }\r\n\r\n        public MenuFlyoutItem Copy\r\n        {\r\n            get\r\n            {\r\n                if (_copy != null) return _copy;\r\n\r\n                _copy = new MenuFlyoutItem { Icon = new SymbolIcon(Symbol.Copy), Text = _resourceLoader.GetString(\"TextEditor_ContextFlyout_CopyButtonDisplayText\") };\r\n                _copy.KeyboardAccelerators.Add(new KeyboardAccelerator()\r\n                {\r\n                    Modifiers = VirtualKeyModifiers.Control,\r\n                    Key = VirtualKey.C,\r\n                    IsEnabled = false,\r\n                });\r\n                _copy.Click += (sender, args) => _textEditor.CopyTextToWindowsClipboard(null);\r\n                return _copy;\r\n            }\r\n        }\r\n\r\n        public MenuFlyoutItem Paste\r\n        {\r\n            get\r\n            {\r\n                if (_paste != null) return _paste;\r\n\r\n                _paste = new MenuFlyoutItem { Icon = new SymbolIcon(Symbol.Paste), Text = _resourceLoader.GetString(\"TextEditor_ContextFlyout_PasteButtonDisplayText\") };\r\n                _paste.KeyboardAccelerators.Add(new KeyboardAccelerator()\r\n                {\r\n                    Modifiers = VirtualKeyModifiers.Control,\r\n                    Key = VirtualKey.V,\r\n                    IsEnabled = false,\r\n                });\r\n                _paste.Click += async (sender, args) => await _textEditorCore.PastePlainTextFromWindowsClipboardAsync(null);\r\n                return _paste;\r\n            }\r\n        }\r\n\r\n        public MenuFlyoutItem Undo\r\n        {\r\n            get\r\n            {\r\n                if (_undo != null) return _undo;\r\n\r\n                _undo = new MenuFlyoutItem { Icon = new SymbolIcon(Symbol.Undo), Text = _resourceLoader.GetString(\"TextEditor_ContextFlyout_UndoButtonDisplayText\") };\r\n                _undo.KeyboardAccelerators.Add(new KeyboardAccelerator()\r\n                {\r\n                    Modifiers = VirtualKeyModifiers.Control,\r\n                    Key = VirtualKey.Z,\r\n                    IsEnabled = false,\r\n                });\r\n                _undo.Click += (sender, args) => _textEditorCore.Undo();\r\n                return _undo;\r\n            }\r\n        }\r\n\r\n        public MenuFlyoutItem Redo\r\n        {\r\n            get\r\n            {\r\n                if (_redo != null) return _redo;\r\n\r\n                _redo = new MenuFlyoutItem { Icon = new SymbolIcon(Symbol.Redo), Text = _resourceLoader.GetString(\"TextEditor_ContextFlyout_RedoButtonDisplayText\") };\r\n                _redo.KeyboardAccelerators.Add(new KeyboardAccelerator()\r\n                {\r\n                    Modifiers = (VirtualKeyModifiers.Control & VirtualKeyModifiers.Shift),\r\n                    Key = VirtualKey.Z,\r\n                    IsEnabled = false,\r\n                });\r\n                _redo.KeyboardAcceleratorTextOverride = \"Ctrl+Shift+Z\";\r\n                _redo.Click += (sender, args) => _textEditorCore.Redo();\r\n                return _redo;\r\n            }\r\n        }\r\n\r\n        public MenuFlyoutItem SelectAll\r\n        {\r\n            get\r\n            {\r\n                if (_selectAll != null) return _selectAll;\r\n\r\n                _selectAll = new MenuFlyoutItem { Icon = new SymbolIcon(Symbol.SelectAll), Text = _resourceLoader.GetString(\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\") };\r\n                _selectAll.KeyboardAccelerators.Add(new KeyboardAccelerator()\r\n                {\r\n                    Modifiers = VirtualKeyModifiers.Control,\r\n                    Key = VirtualKey.A,\r\n                    IsEnabled = false,\r\n                });\r\n                _selectAll.Click += (sender, args) => _textEditorCore.Document.Selection.SetRange(0, Int32.MaxValue);\r\n                return _selectAll;\r\n            }\r\n        }\r\n\r\n        public MenuFlyoutItem RightToLeftReadingOrder\r\n        {\r\n            get\r\n            {\r\n                if (_rightToLeftReadingOrder != null) return _rightToLeftReadingOrder;\r\n\r\n                _rightToLeftReadingOrder = new MenuFlyoutItem\r\n                {\r\n                    Text = _resourceLoader.GetString(\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\"),\r\n                    Icon = new FontIcon()\r\n                    {\r\n                        FontFamily = new FontFamily(\"Segoe MDL2 Assets\"),\r\n                        Glyph = \"\\uE73E\"\r\n                    }\r\n                };\r\n                _rightToLeftReadingOrder.Icon.Visibility = (_textEditorCore.FlowDirection == FlowDirection.RightToLeft) ? Visibility.Visible : Visibility.Collapsed;\r\n                _rightToLeftReadingOrder.Click += (sender, args) =>\r\n                {\r\n                    var flowDirection = (_textEditorCore.FlowDirection == FlowDirection.LeftToRight)\r\n                        ? FlowDirection.RightToLeft\r\n                        : FlowDirection.LeftToRight;\r\n                    _textEditorCore.SwitchTextFlowDirection(flowDirection);\r\n                    _rightToLeftReadingOrder.Icon.Visibility = (_textEditorCore.FlowDirection == FlowDirection.RightToLeft) ? Visibility.Visible : Visibility.Collapsed;\r\n                };\r\n                return _rightToLeftReadingOrder;\r\n            }\r\n        }\r\n\r\n        public MenuFlyoutItem WebSearch\r\n        {\r\n            get\r\n            {\r\n                if (_webSearch != null) return _webSearch;\r\n\r\n                _webSearch = new MenuFlyoutItem\r\n                {\r\n                    Text = _resourceLoader.GetString(\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\"),\r\n                    Icon = new FontIcon()\r\n                    {\r\n                        FontFamily = new FontFamily(\"Segoe MDL2 Assets\"),\r\n                        Glyph = \"\\uE721\"\r\n                    }\r\n                };\r\n                _webSearch.KeyboardAccelerators.Add(new KeyboardAccelerator()\r\n                {\r\n                    Modifiers = VirtualKeyModifiers.Control,\r\n                    Key = VirtualKey.E,\r\n                    IsEnabled = false,\r\n                });\r\n                _webSearch.Click += async (sender, args) => await _textEditorCore.SearchInWebAsync();\r\n\r\n                return _webSearch;\r\n            }\r\n        }\r\n\r\n        public MenuFlyoutItem Share\r\n        {\r\n            get\r\n            {\r\n                if (_share != null) return _share;\r\n\r\n                _share = new MenuFlyoutItem { Icon = new SymbolIcon(Symbol.Share), Text = _resourceLoader.GetString(\"TextEditor_ContextFlyout_ShareButtonDisplayText\") };\r\n                _share.Click += (sender, args) => Windows.ApplicationModel.DataTransfer.DataTransferManager.ShowShareUI();\r\n                return _share;\r\n            }\r\n        }\r\n\r\n        public MenuFlyoutItem WordWrap\r\n        {\r\n            get\r\n            {\r\n                if (_wordWrap != null) return _wordWrap;\r\n\r\n                _wordWrap = new MenuFlyoutItem\r\n                {\r\n                    Text = _resourceLoader.GetString(\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\"),\r\n                    Icon = new FontIcon()\r\n                    {\r\n                        FontFamily = new FontFamily(\"Segoe MDL2 Assets\"),\r\n                        Glyph = \"\\uE73E\"\r\n                    }\r\n                };\r\n                _wordWrap.KeyboardAccelerators.Add(new KeyboardAccelerator()\r\n                {\r\n                    Modifiers = VirtualKeyModifiers.Menu,\r\n                    Key = VirtualKey.Z,\r\n                    IsEnabled = false,\r\n                });\r\n                _wordWrap.Icon.Visibility = _textEditorCore.TextWrapping == TextWrapping.Wrap ? Visibility.Visible : Visibility.Collapsed;\r\n                _wordWrap.Click += (sender, args) =>\r\n                {\r\n                    _wordWrap.Icon.Visibility = _textEditorCore.TextWrapping == TextWrapping.Wrap ? Visibility.Visible : Visibility.Collapsed;\r\n                    _textEditorCore.TextWrapping = _textEditorCore.TextWrapping == TextWrapping.Wrap ? TextWrapping.NoWrap : TextWrapping.Wrap;\r\n                };\r\n                return _wordWrap;\r\n            }\r\n        }\r\n\r\n        public MenuFlyoutItem PreviewToggle\r\n        {\r\n            get\r\n            {\r\n                if (_previewToggle != null) return _previewToggle;\r\n\r\n                _previewToggle = new MenuFlyoutItem\r\n                {\r\n                    Text = _resourceLoader.GetString(\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\"),\r\n                    Icon = new FontIcon()\r\n                    {\r\n                        FontFamily = new FontFamily(\"Segoe MDL2 Assets\"),\r\n                        Glyph = \"\\uE89F\"\r\n                    }\r\n                };\r\n                _previewToggle.KeyboardAccelerators.Add(new KeyboardAccelerator()\r\n                {\r\n                    Modifiers = VirtualKeyModifiers.Menu,\r\n                    Key = VirtualKey.P,\r\n                    IsEnabled = false,\r\n                });\r\n                _previewToggle.Click += (sender, args) =>\r\n                {\r\n                    if (FileTypeUtility.IsPreviewSupported(_textEditor.FileType))\r\n                    {\r\n                        _textEditor.ShowHideContentPreview();\r\n                    }\r\n                };\r\n                return _previewToggle;\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/TextEditor/TextEditorCore.DateTime.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.TextEditor\r\n{\r\n    using System;\r\n    using System.Globalization;\r\n    using Windows.UI.Text;\r\n\r\n    public partial class TextEditorCore\r\n    {\r\n        private bool _hasAddedLogEntry = false;\r\n\r\n        private void InsertDateTimeString()\r\n        {\r\n            var dateStr = DateTime.Now.ToString(CultureInfo.CurrentCulture);\r\n            Document.Selection.SetText(TextSetOptions.None, dateStr);\r\n            Document.Selection.StartPosition = Document.Selection.EndPosition;\r\n        }\r\n\r\n        /// <summary>\r\n        /// <para>\r\n        /// Adds \"Windows Notepad\" style header with current date and time,\r\n        /// if a text document contains \".LOG\" at the very beginning of file.\r\n        /// User can then add log entry from the very next line.\r\n        /// </para>\r\n        /// <see cref=\"https://support.microsoft.com/help/260563/how-to-use-notepad-to-create-a-log-file\"/>\r\n        /// </summary>\r\n        public void TryInsertNewLogEntry()\r\n        {\r\n            if (_hasAddedLogEntry) return;\r\n\r\n            var docText = GetText();\r\n\r\n            if (!docText.StartsWith(\".LOG\")) return;\r\n\r\n            _hasAddedLogEntry = true;\r\n\r\n            Document.Selection.StartPosition = docText.Length;\r\n\r\n            Document.Selection.SetText(TextSetOptions.None, RichEditBoxDefaultLineEnding\r\n                + DateTime.Now.ToString(\"h:mm tt M/dd/yyyy\")\r\n                + RichEditBoxDefaultLineEnding);\r\n\r\n            Document.Selection.StartPosition = Document.Selection.EndPosition;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/TextEditor/TextEditorCore.DuplicateText.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.TextEditor\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using Windows.UI.Text;\r\n    using Notepads.Services;\r\n\r\n    public partial class TextEditorCore\r\n    {\r\n        private void DuplicateText()\r\n        {\r\n            try\r\n            {\r\n                GetLineColumnSelection(\r\n                    out int startLineIndex,\r\n                    out int endLineIndex,\r\n                    out int startColumnIndex,\r\n                    out int endColumnIndex,\r\n                    out int selectedCount,\r\n                    out int lineCount);\r\n\r\n                GetTextSelectionPosition(out var start, out var end);\r\n\r\n                if (end == start)\r\n                {\r\n                    // Duplicate Line\r\n                    var lines = GetDocumentLinesCache();\r\n                    var line = lines[startLineIndex - 1];\r\n                    var column = Document.Selection.EndPosition + line.Length + 1;\r\n\r\n                    if (startColumnIndex == 1)\r\n                        Document.Selection.EndPosition += 1;\r\n\r\n                    Document.Selection.EndOf(TextRangeUnit.Paragraph, false);\r\n\r\n                    if (startLineIndex < lineCount)\r\n                        Document.Selection.EndPosition -= 1;\r\n\r\n                    Document.Selection.SetText(TextSetOptions.None, RichEditBoxDefaultLineEnding + line);\r\n                    Document.Selection.StartPosition = Document.Selection.EndPosition = column;\r\n                }\r\n                else\r\n                {\r\n                    // Duplicate selection\r\n                    var textRange = Document.GetRange(start, end);\r\n                    textRange.GetText(TextGetOptions.None, out string text);\r\n\r\n                    if (text.EndsWith(RichEditBoxDefaultLineEnding))\r\n                    {\r\n                        Document.Selection.EndOf(TextRangeUnit.Line, false);\r\n\r\n                        if (startLineIndex < lineCount && end < GetText().Length)\r\n                            Document.Selection.StartPosition = Document.Selection.EndPosition - 1;\r\n                    }\r\n                    else\r\n                    {\r\n                        Document.Selection.StartPosition = Document.Selection.EndPosition;\r\n                    }\r\n\r\n                    Document.Selection.SetText(TextSetOptions.None, text);\r\n                }\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(TextEditorCore)}] Failed to duplicate text: {ex}\");\r\n                AnalyticsService.TrackEvent(\"TextEditorCore_FailedToDuplicateText\",\r\n                    new Dictionary<string, string> { { \"Exception\", ex.ToString() } });\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/TextEditor/TextEditorCore.ExternalEventListener.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.TextEditor\r\n{\r\n    using Windows.UI;\r\n    using Windows.UI.Text;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Media;\r\n    using Notepads.Extensions;\r\n    using Notepads.Services;\r\n\r\n    public partial class TextEditorCore\r\n    {\r\n        internal void HookExternalEvents()\r\n        {\r\n            AppSettingsService.OnFontFamilyChanged += EditorSettingsService_OnFontFamilyChanged;\r\n            AppSettingsService.OnFontSizeChanged += EditorSettingsService_OnFontSizeChanged;\r\n            AppSettingsService.OnFontStyleChanged += EditorSettingsService_OnFontStyleChanged;\r\n            AppSettingsService.OnFontWeightChanged += EditorSettingsService_OnFontWeightChanged;\r\n            AppSettingsService.OnDefaultTextWrappingChanged += EditorSettingsService_OnDefaultTextWrappingChanged;\r\n            AppSettingsService.OnHighlightMisspelledWordsChanged += EditorSettingsService_OnHighlightMisspelledWordsChanged;\r\n            AppSettingsService.OnDefaultDisplayLineNumbersViewStateChanged += EditorSettingsService_OnDefaultDisplayLineNumbersViewStateChanged;\r\n            AppSettingsService.OnDefaultLineHighlighterViewStateChanged += EditorSettingsService_OnDefaultLineHighlighterViewStateChanged;\r\n\r\n            ThemeSettingsService.OnAccentColorChanged += ThemeSettingsService_OnAccentColorChanged;\r\n        }\r\n\r\n        internal void UnhookExternalEvents()\r\n        {\r\n            AppSettingsService.OnFontFamilyChanged -= EditorSettingsService_OnFontFamilyChanged;\r\n            AppSettingsService.OnFontSizeChanged -= EditorSettingsService_OnFontSizeChanged;\r\n            AppSettingsService.OnFontStyleChanged -= EditorSettingsService_OnFontStyleChanged;\r\n            AppSettingsService.OnFontWeightChanged -= EditorSettingsService_OnFontWeightChanged;\r\n            AppSettingsService.OnDefaultTextWrappingChanged -= EditorSettingsService_OnDefaultTextWrappingChanged;\r\n            AppSettingsService.OnHighlightMisspelledWordsChanged -= EditorSettingsService_OnHighlightMisspelledWordsChanged;\r\n            AppSettingsService.OnDefaultDisplayLineNumbersViewStateChanged -= EditorSettingsService_OnDefaultDisplayLineNumbersViewStateChanged;\r\n            AppSettingsService.OnDefaultLineHighlighterViewStateChanged -= EditorSettingsService_OnDefaultLineHighlighterViewStateChanged;\r\n\r\n            ThemeSettingsService.OnAccentColorChanged -= ThemeSettingsService_OnAccentColorChanged;\r\n        }\r\n\r\n        private async void EditorSettingsService_OnFontFamilyChanged(object sender, string fontFamily)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                FontFamily = new FontFamily(fontFamily);\r\n                SetDefaultTabStopAndLineSpacing(FontFamily, FontSize);\r\n            });\r\n        }\r\n\r\n        private async void EditorSettingsService_OnFontSizeChanged(object sender, int fontSize)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                FontSize = fontSize;\r\n            });\r\n        }\r\n\r\n        private async void EditorSettingsService_OnFontStyleChanged(object sender, FontStyle fontStyle)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                FontStyle = fontStyle;\r\n            });\r\n        }\r\n\r\n        private async void EditorSettingsService_OnFontWeightChanged(object sender, FontWeight fontWeight)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                FontWeight = fontWeight;\r\n            });\r\n        }\r\n\r\n        private async void EditorSettingsService_OnDefaultTextWrappingChanged(object sender, TextWrapping textWrapping)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                TextWrapping = textWrapping;\r\n            });\r\n        }\r\n\r\n        private async void EditorSettingsService_OnHighlightMisspelledWordsChanged(object sender, bool isSpellCheckEnabled)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                IsSpellCheckEnabled = isSpellCheckEnabled;\r\n            });\r\n        }\r\n\r\n        private async void EditorSettingsService_OnDefaultDisplayLineNumbersViewStateChanged(object sender, bool displayLineNumbers)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                DisplayLineNumbers = displayLineNumbers;\r\n            });\r\n        }\r\n\r\n        private async void EditorSettingsService_OnDefaultLineHighlighterViewStateChanged(object sender, bool displayLineHighlighter)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                DisplayLineHighlighter = displayLineHighlighter;\r\n            });\r\n        }\r\n\r\n        private async void ThemeSettingsService_OnAccentColorChanged(object sender, Color color)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                SelectionHighlightColor = new SolidColorBrush(color);\r\n                SelectionHighlightColorWhenNotFocused = new SolidColorBrush(color);\r\n            });\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/TextEditor/TextEditorCore.FindAndReplace.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.TextEditor\r\n{\r\n    using System;\r\n    using System.Text.RegularExpressions;\r\n    using Windows.UI.Text;\r\n    using Notepads.Controls.FindAndReplace;\r\n    using Notepads.Extensions;\r\n\r\n    public partial class TextEditorCore\r\n    {\r\n        public string GetSearchString()\r\n        {\r\n            var searchString = Document.Selection.Text.Trim();\r\n\r\n            if (searchString.Contains(RichEditBoxDefaultLineEnding.ToString())) return string.Empty;\r\n\r\n            var document = GetText();\r\n\r\n            if (string.IsNullOrEmpty(searchString) && Document.Selection.StartPosition < document.Length)\r\n            {\r\n                var startIndex = Document.Selection.StartPosition;\r\n                var endIndex = startIndex;\r\n\r\n                for (; startIndex >= 0; startIndex--)\r\n                {\r\n                    if (!char.IsLetterOrDigit(document[startIndex]))\r\n                        break;\r\n                }\r\n\r\n                for (; endIndex < document.Length; endIndex++)\r\n                {\r\n                    if (!char.IsLetterOrDigit(document[endIndex]))\r\n                        break;\r\n                }\r\n\r\n                if (startIndex != endIndex) return document.Substring(startIndex + 1, endIndex - startIndex - 1);\r\n            }\r\n\r\n            return searchString;\r\n        }\r\n\r\n        public bool TryFindNextAndSelect(SearchContext searchContext, bool stopAtEof, out bool regexError)\r\n        {\r\n            regexError = false;\r\n\r\n            if (string.IsNullOrEmpty(searchContext.SearchText))\r\n            {\r\n                return false;\r\n            }\r\n\r\n            var document = GetText();\r\n\r\n            if (Document.Selection.EndPosition > document.Length) Document.Selection.EndPosition = document.Length;\r\n\r\n            if (searchContext.UseRegex)\r\n            {\r\n                return TryFindNextAndSelectUsingRegex(document, searchContext, stopAtEof, out regexError);\r\n            }\r\n            else\r\n            {\r\n                StringComparison comparison = searchContext.MatchCase ? StringComparison.Ordinal : StringComparison.OrdinalIgnoreCase;\r\n\r\n                var index = searchContext.MatchWholeWord\r\n                    ? document.IndexOfWholeWord(searchContext.SearchText, Document.Selection.EndPosition, comparison)\r\n                    : document.IndexOf(searchContext.SearchText, Document.Selection.EndPosition, comparison);\r\n\r\n                if (index != -1)\r\n                {\r\n                    Document.Selection.StartPosition = index;\r\n                    Document.Selection.EndPosition = index + searchContext.SearchText.Length;\r\n                }\r\n                else\r\n                {\r\n                    if (!stopAtEof)\r\n                    {\r\n                        index = searchContext.MatchWholeWord\r\n                            ? document.IndexOfWholeWord(searchContext.SearchText, 0, comparison)\r\n                            : document.IndexOf(searchContext.SearchText, 0, comparison);\r\n\r\n                        if (index != -1)\r\n                        {\r\n                            Document.Selection.StartPosition = index;\r\n                            Document.Selection.EndPosition = index + searchContext.SearchText.Length;\r\n                        }\r\n                    }\r\n                }\r\n\r\n                if (index == -1)\r\n                {\r\n                    Document.Selection.StartPosition = Document.Selection.EndPosition;\r\n                    return false;\r\n                }\r\n\r\n                return true;\r\n            }\r\n        }\r\n\r\n        public bool TryFindPreviousAndSelect(SearchContext searchContext, bool stopAtBof, out bool regexError)\r\n        {\r\n            regexError = false;\r\n\r\n            if (string.IsNullOrEmpty(searchContext.SearchText))\r\n            {\r\n                return false;\r\n            }\r\n\r\n            var document = GetText();\r\n\r\n            if (searchContext.UseRegex)\r\n            {\r\n                return TryFindPreviousAndSelectUsingRegex(document, searchContext, out regexError, stopAtBof);\r\n            }\r\n            else\r\n            {\r\n                var searchIndex = Document.Selection.StartPosition - 1;\r\n                if (searchIndex < 0)\r\n                {\r\n                    if (stopAtBof)\r\n                    {\r\n                        return false;\r\n                    }\r\n                    else\r\n                    {\r\n                        searchIndex = document.Length - 1;\r\n                    }\r\n                }\r\n\r\n                StringComparison comparison = searchContext.MatchCase ? StringComparison.Ordinal : StringComparison.OrdinalIgnoreCase;\r\n\r\n                var index = searchContext.MatchWholeWord\r\n                    ? document.LastIndexOfWholeWord(searchContext.SearchText, searchIndex, comparison)\r\n                    : document.LastIndexOf(searchContext.SearchText, searchIndex, comparison);\r\n\r\n                if (index != -1)\r\n                {\r\n                    Document.Selection.StartPosition = index;\r\n                    Document.Selection.EndPosition = index + searchContext.SearchText.Length;\r\n                }\r\n                else\r\n                {\r\n                    index = searchContext.MatchWholeWord\r\n                        ? document.LastIndexOfWholeWord(searchContext.SearchText, document.Length - 1, comparison)\r\n                        : document.LastIndexOf(searchContext.SearchText, document.Length - 1, comparison);\r\n\r\n                    if (index != -1)\r\n                    {\r\n                        Document.Selection.StartPosition = index;\r\n                        Document.Selection.EndPosition = index + searchContext.SearchText.Length;\r\n                    }\r\n                }\r\n\r\n                if (index == -1)\r\n                {\r\n                    Document.Selection.StartPosition = Document.Selection.EndPosition;\r\n                    return false;\r\n                }\r\n\r\n                return true;\r\n            }\r\n        }\r\n\r\n        public bool TryFindNextAndReplace(SearchContext searchContext, string replaceText, out bool regexError)\r\n        {\r\n            Document.Selection.EndPosition = Document.Selection.StartPosition;\r\n\r\n            if (TryFindNextAndSelect(searchContext, stopAtEof: true, out regexError))\r\n            {\r\n                if (searchContext.UseRegex)\r\n                {\r\n                    replaceText = ApplyTabAndLineEndingFix(replaceText);\r\n                }\r\n\r\n                Document.Selection.SetText(TextSetOptions.None, replaceText);\r\n                TryFindNextAndSelect(searchContext, stopAtEof: true, out _);\r\n                return true;\r\n            }\r\n\r\n            return false;\r\n        }\r\n\r\n        public bool TryFindPreviousAndReplace(SearchContext searchContext, string replaceText, out bool regexError)\r\n        {\r\n            Document.Selection.StartPosition = Document.Selection.EndPosition;\r\n\r\n            if (TryFindPreviousAndSelect(searchContext, stopAtBof: true, out regexError))\r\n            {\r\n                if (searchContext.UseRegex)\r\n                {\r\n                    replaceText = ApplyTabAndLineEndingFix(replaceText);\r\n                }\r\n\r\n                Document.Selection.SetText(TextSetOptions.None, replaceText);\r\n                TryFindPreviousAndSelect(searchContext, stopAtBof: true, out _);\r\n                return true;\r\n            }\r\n\r\n            return false;\r\n        }\r\n\r\n        public bool TryFindAndReplaceAll(SearchContext searchContext, string replaceText, out bool regexError)\r\n        {\r\n            regexError = false;\r\n            var found = false;\r\n            var text = GetText();\r\n\r\n            if (string.IsNullOrEmpty(searchContext.SearchText))\r\n            {\r\n                return false;\r\n            }\r\n\r\n            if (searchContext.UseRegex)\r\n            {\r\n                found = TryFindAndReplaceAllUsingRegex(text, searchContext, replaceText, out regexError, out var output);\r\n                if (found) text = output;\r\n            }\r\n            else\r\n            {\r\n                var pos = 0;\r\n                var searchTextLength = searchContext.SearchText.Length;\r\n                var replaceTextLength = replaceText.Length;\r\n\r\n                StringComparison comparison = searchContext.MatchCase ? StringComparison.Ordinal : StringComparison.OrdinalIgnoreCase;\r\n\r\n                pos = searchContext.MatchWholeWord\r\n                    ? text.IndexOfWholeWord(searchContext.SearchText, pos, comparison)\r\n                    : text.IndexOf(searchContext.SearchText, pos, comparison);\r\n\r\n                while (pos != -1)\r\n                {\r\n                    found = true;\r\n                    text = text.Remove(pos, searchTextLength).Insert(pos, replaceText);\r\n                    pos += replaceTextLength;\r\n                    pos = searchContext.MatchWholeWord\r\n                        ? text.IndexOfWholeWord(searchContext.SearchText, pos, comparison)\r\n                        : text.IndexOf(searchContext.SearchText, pos, comparison);\r\n                }\r\n            }\r\n\r\n            if (found)\r\n            {\r\n                SetText(text);\r\n                Document.Selection.StartPosition = int.MaxValue;\r\n                Document.Selection.EndPosition = Document.Selection.StartPosition;\r\n            }\r\n\r\n            return found;\r\n        }\r\n\r\n        private bool TryFindNextAndSelectUsingRegex(string content, SearchContext searchContext, bool stopAtEof,\r\n            out bool regexError)\r\n        {\r\n            try\r\n            {\r\n                regexError = false;\r\n                content = content.Replace(RichEditBoxDefaultLineEnding, RegexDefaultLineEnding);\r\n                Regex regex = new Regex(searchContext.SearchText,\r\n                    RegexOptions.Multiline | (searchContext.MatchCase ? RegexOptions.None : RegexOptions.IgnoreCase));\r\n\r\n                var match = regex.Match(content, Document.Selection.EndPosition);\r\n\r\n                if (!match.Success && !stopAtEof)\r\n                {\r\n                    match = regex.Match(content, 0);\r\n                }\r\n\r\n                if (match.Success)\r\n                {\r\n                    var index = match.Index;\r\n                    Document.Selection.StartPosition = index;\r\n                    Document.Selection.EndPosition = index + match.Length;\r\n                    return true;\r\n                }\r\n                else\r\n                {\r\n                    Document.Selection.StartPosition = Document.Selection.EndPosition;\r\n                    return false;\r\n                }\r\n            }\r\n            catch (Exception)\r\n            {\r\n                regexError = true;\r\n                return false;\r\n            }\r\n        }\r\n\r\n        private bool TryFindPreviousAndSelectUsingRegex(string content, SearchContext searchContext, out bool regexError, bool stopAtBof)\r\n        {\r\n            try\r\n            {\r\n                regexError = false;\r\n                content = content.Replace(RichEditBoxDefaultLineEnding, RegexDefaultLineEnding);\r\n                Regex regex = new Regex(searchContext.SearchText,\r\n                    RegexOptions.RightToLeft | RegexOptions.Multiline |\r\n                    (searchContext.MatchCase ? RegexOptions.None : RegexOptions.IgnoreCase));\r\n\r\n                var match = regex.Match(content, Document.Selection.StartPosition);\r\n\r\n                if (!match.Success && !stopAtBof)\r\n                {\r\n                    match = regex.Match(content, content.Length);\r\n                }\r\n\r\n                if (match.Success)\r\n                {\r\n                    var index = match.Index;\r\n                    Document.Selection.StartPosition = index;\r\n                    Document.Selection.EndPosition = index + match.Length;\r\n                    return true;\r\n                }\r\n                else\r\n                {\r\n                    Document.Selection.StartPosition = Document.Selection.EndPosition;\r\n                    return false;\r\n                }\r\n            }\r\n            catch (Exception)\r\n            {\r\n                regexError = true;\r\n                return false;\r\n            }\r\n        }\r\n\r\n        private static bool TryFindAndReplaceAllUsingRegex(string content, SearchContext searchContext, string replaceText, out bool regexError, out string output)\r\n        {\r\n            regexError = false;\r\n            output = string.Empty;\r\n            content = content.Replace(RichEditBoxDefaultLineEnding, RegexDefaultLineEnding);\r\n\r\n            try\r\n            {\r\n                Regex regex = new Regex(searchContext.SearchText, RegexOptions.Multiline | (searchContext.MatchCase ? RegexOptions.None : RegexOptions.IgnoreCase));\r\n\r\n                if (regex.IsMatch(content))\r\n                {\r\n                    if (searchContext.UseRegex)\r\n                    {\r\n                        replaceText = ApplyTabAndLineEndingFix(replaceText);\r\n                    }\r\n\r\n                    output = regex.Replace(content, replaceText).Replace(RegexDefaultLineEnding, RichEditBoxDefaultLineEnding);\r\n                    return true;\r\n                }\r\n            }\r\n            catch (Exception)\r\n            {\r\n                regexError = true;\r\n                return false;\r\n            }\r\n\r\n            return false;\r\n        }\r\n\r\n        private static string ApplyTabAndLineEndingFix(string text)\r\n        {\r\n            return text.Replace(\"\\\\r\", \"\\r\").Replace(\"\\\\n\", \"\\n\").Replace(\"\\\\t\", \"\\t\");\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/TextEditor/TextEditorCore.FontSize.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.TextEditor\r\n{\r\n    using System;\r\n    using Notepads.Services;\r\n\r\n    public partial class TextEditorCore\r\n    {\r\n        private void IncreaseFontSize(double delta)\r\n        {\r\n            if (_fontZoomFactor < _maximumZoomFactor)\r\n            {\r\n                if (_fontZoomFactor % 10 > 0)\r\n                {\r\n                    SetFontZoomFactor(Math.Ceiling(_fontZoomFactor / 10) * 10);\r\n                }\r\n                else\r\n                {\r\n                    FontSize += delta * AppSettingsService.EditorFontSize;\r\n                }\r\n            }\r\n        }\r\n\r\n        private void DecreaseFontSize(double delta)\r\n        {\r\n            if (_fontZoomFactor > _minimumZoomFactor)\r\n            {\r\n                if (_fontZoomFactor % 10 > 0)\r\n                {\r\n                    SetFontZoomFactor(Math.Floor(_fontZoomFactor / 10) * 10);\r\n                }\r\n                else\r\n                {\r\n                    FontSize -= delta * AppSettingsService.EditorFontSize;\r\n                }\r\n            }\r\n        }\r\n\r\n        private void ResetFontSizeToDefault()\r\n        {\r\n            FontSize = AppSettingsService.EditorFontSize;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/TextEditor/TextEditorCore.Indentation.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.TextEditor\r\n{\r\n    using System.Text;\r\n    using Windows.UI.Text;\r\n\r\n    public partial class TextEditorCore\r\n    {\r\n        /// <summary>\r\n        /// Add indentation based on current selection\r\n        /// </summary>\r\n        /// <param name=\"indent\">\r\n        /// indent == -1 meaning '/t' should be used, otherwise it equals to number of spaces\r\n        /// </param>\r\n        private void AddIndentation(int indent)\r\n        {\r\n            GetTextSelectionPosition(out var start, out var end);\r\n            GetLineColumnSelection(out var startLine,\r\n                out var endLine,\r\n                out var startColumn,\r\n                out var endColumn,\r\n                out _,\r\n                out _);\r\n\r\n            var document = GetText();\r\n            var lines = GetDocumentLinesCache();\r\n\r\n            var tabStr = indent == -1 ? \"\\t\" : new string(' ', indent);\r\n\r\n            // Handle single line selection scenario where part of the line is selected\r\n            if (startLine == endLine)\r\n            {\r\n                Document.Selection.TypeText(tabStr);\r\n                Document.Selection.StartPosition = Document.Selection.EndPosition;\r\n                return;\r\n            }\r\n\r\n            var startLineInitialIndex = start - startColumn + 1;\r\n            var endLineFinalIndex = end - endColumn + lines[endLine - 1].Length + 1;\r\n            if (endLineFinalIndex > document.Length) endLineFinalIndex = document.Length;\r\n\r\n            var indentAmount = indent == -1 ? 1 : indent;\r\n            start += indentAmount;\r\n\r\n            var indentedStringBuilder = new StringBuilder();\r\n            for (var i = startLine - 1; i < endLine; i++)\r\n            {\r\n                indentedStringBuilder.Append(string.Concat(tabStr, lines[i],\r\n                    (i < endLine - 1 || (endLine == lines.Length - 2 && string.IsNullOrEmpty(lines[endLine])))\r\n                    ? RichEditBoxDefaultLineEnding.ToString()\r\n                    : string.Empty));\r\n                end += indentAmount;\r\n            }\r\n\r\n            if (string.Equals(document.Substring(startLineInitialIndex, endLineFinalIndex - startLineInitialIndex),\r\n                indentedStringBuilder.ToString())) return;\r\n\r\n            if (Document.Selection.Text.EndsWith(RichEditBoxDefaultLineEnding) && endLineFinalIndex < document.Length)\r\n            {\r\n                indentedStringBuilder.Append(RichEditBoxDefaultLineEnding);\r\n                if (string.Equals(document.Substring(startLineInitialIndex, endLineFinalIndex - startLineInitialIndex),\r\n                    indentedStringBuilder.ToString())) return;\r\n            }\r\n\r\n            Document.Selection.GetRect(Windows.UI.Text.PointOptions.Transform, out Windows.Foundation.Rect rect,\r\n                out var _);\r\n            GetScrollViewerPosition(out var horizontalOffset, out var verticalOffset);\r\n            var wasSelectionInView = IsSelectionRectInView(rect, horizontalOffset, verticalOffset);\r\n\r\n            var newContent = document.Remove(startLineInitialIndex, endLineFinalIndex - startLineInitialIndex)\r\n                .Insert(startLineInitialIndex, indentedStringBuilder.ToString());\r\n\r\n            Document.SetText(TextSetOptions.None, newContent);\r\n            Document.Selection.SetRange(start, end);\r\n\r\n            // After SetText() and SetRange(), RichEdit will scroll selection into view and change scroll viewer's position even if it was already in the viewport\r\n            // It is better to keep its original scroll position after changing the indent in this case\r\n            if (wasSelectionInView)\r\n            {\r\n                _contentScrollViewer.ChangeView(\r\n                    horizontalOffset,\r\n                    verticalOffset,\r\n                    zoomFactor: null,\r\n                    disableAnimation: true);\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Remove indentation based on current selection\r\n        /// </summary>\r\n        /// <param name=\"indent\">\r\n        /// indent == -1 meaning '/t' should be used, otherwise it equals to number of spaces\r\n        /// </param>\r\n        private void RemoveIndentation(int indent)\r\n        {\r\n            GetTextSelectionPosition(out var start, out var end);\r\n            GetLineColumnSelection(out var startLine,\r\n                out var endLine,\r\n                out var startColumn,\r\n                out var endColumn,\r\n                out _,\r\n                out _);\r\n\r\n            var document = GetText();\r\n            var lines = GetDocumentLinesCache();\r\n\r\n            var startLineInitialIndex = start - startColumn + 1;\r\n            var endLineFinalIndex = end - endColumn + lines[endLine - 1].Length + 1;\r\n            if (endLineFinalIndex > document.Length) endLineFinalIndex = document.Length;\r\n\r\n            if (startLineInitialIndex == endLineFinalIndex) return;\r\n\r\n            var indentedStringBuilder = new StringBuilder();\r\n            for (var i = startLine - 1; i < endLine; i++)\r\n            {\r\n                var lineTrailingString = (i < endLine - 1 || (endLine == lines.Length - 2 && string.IsNullOrEmpty(lines[endLine])))\r\n                    ? RichEditBoxDefaultLineEnding.ToString()\r\n                    : string.Empty;\r\n\r\n                if (lines[i].StartsWith('\\t'))\r\n                {\r\n                    indentedStringBuilder.Append(lines[i].Remove(0, 1) + lineTrailingString);\r\n                    end--;\r\n                }\r\n                else\r\n                {\r\n                    var spaceCount = 0;\r\n                    var indentAmount = indent == -1 ? 4 : indent;\r\n\r\n                    for (var charIndex = 0;\r\n                        charIndex < lines[i].Length && lines[i][charIndex] == ' ';\r\n                        charIndex++)\r\n                    {\r\n                        spaceCount++;\r\n                    }\r\n\r\n                    if (spaceCount == 0)\r\n                    {\r\n                        indentedStringBuilder.Append(lines[i] + lineTrailingString);\r\n                        continue;\r\n                    }\r\n\r\n                    var insufficientSpace = spaceCount % indentAmount;\r\n\r\n                    if (insufficientSpace > 0)\r\n                    {\r\n                        indentedStringBuilder.Append(lines[i].Remove(0, insufficientSpace) +\r\n                                                     lineTrailingString);\r\n                        end -= insufficientSpace;\r\n                    }\r\n                    else\r\n                    {\r\n                        indentedStringBuilder.Append(lines[i].Remove(0, indentAmount) +\r\n                                                     lineTrailingString);\r\n                        end -= indentAmount;\r\n                    }\r\n                }\r\n\r\n                if (i == startLine - 1)\r\n                {\r\n                    if (startLine == endLine)\r\n                    {\r\n                        start -= lines[i].Length - indentedStringBuilder.Length;\r\n                    }\r\n                    else\r\n                    {\r\n                        start -= lines[i].Length - indentedStringBuilder.Length + 1;\r\n                    }\r\n\r\n                    if (start < startLineInitialIndex)\r\n                    {\r\n                        if (end == start) end = startLineInitialIndex;\r\n                        start = startLineInitialIndex;\r\n                    }\r\n                }\r\n            }\r\n\r\n            if (string.Equals(document.Substring(startLineInitialIndex, endLineFinalIndex - startLineInitialIndex),\r\n                indentedStringBuilder.ToString())) return;\r\n\r\n            if (Document.Selection.Text.EndsWith(RichEditBoxDefaultLineEnding) && endLineFinalIndex < document.Length)\r\n            {\r\n                indentedStringBuilder.Append(RichEditBoxDefaultLineEnding);\r\n                if (string.Equals(document.Substring(startLineInitialIndex, endLineFinalIndex - startLineInitialIndex),\r\n                    indentedStringBuilder.ToString())) return;\r\n            }\r\n\r\n            Document.Selection.GetRect(Windows.UI.Text.PointOptions.Transform, out Windows.Foundation.Rect rect,\r\n                out var _);\r\n            GetScrollViewerPosition(out var horizontalOffset, out var verticalOffset);\r\n            var wasSelectionInView = IsSelectionRectInView(rect, horizontalOffset, verticalOffset);\r\n\r\n            var newContent = document.Remove(startLineInitialIndex, endLineFinalIndex - startLineInitialIndex)\r\n                .Insert(startLineInitialIndex, indentedStringBuilder.ToString());\r\n\r\n            Document.SetText(TextSetOptions.None, newContent);\r\n            Document.Selection.SetRange(start, end);\r\n\r\n            // After SetText() and SetRange(), RichEdit will scroll selection into view and change scroll viewer's position even if it was already in the viewport\r\n            // It is better to keep its original scroll position after changing the indent in this case\r\n            if (wasSelectionInView)\r\n            {\r\n                _contentScrollViewer.ChangeView(\r\n                    horizontalOffset,\r\n                    verticalOffset,\r\n                    zoomFactor: null,\r\n                    disableAnimation: true);\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/TextEditor/TextEditorCore.JoinText.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.TextEditor\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using Windows.UI.Text;\r\n    using Notepads.Services;\r\n\r\n    public partial class TextEditorCore\r\n    {\r\n        /// <summary>\r\n        /// Join selected lines into one line using space char as the separator\r\n        /// Example:\r\n        ///   ...\r\n        ///   aaa\r\n        ///   bbb\r\n        ///   ccc\r\n        ///   ...\r\n        ///   ->\r\n        ///   aaa bbb ccc\r\n        /// </summary>\r\n        private void JoinText()\r\n        {\r\n            try\r\n            {\r\n                GetTextSelectionPosition(out var start, out var end);\r\n                GetLineColumnSelection(out var startLine,\r\n                    out var endLine,\r\n                    out var startColumn,\r\n                    out var endColumn,\r\n                    out _,\r\n                    out _);\r\n\r\n                // Does not make any sense to join 1 line\r\n                if (startLine == endLine) return;\r\n\r\n                var document = GetText();\r\n                var lines = GetDocumentLinesCache();\r\n\r\n                var startLineInitialIndex = start - startColumn + 1;\r\n                var endLineFinalIndex = end - endColumn + lines[endLine - 1].Length + 1;\r\n                if (endLineFinalIndex > document.Length) endLineFinalIndex = document.Length;\r\n\r\n                if (document[endLineFinalIndex - 1] == RichEditBoxDefaultLineEnding) endLineFinalIndex--;\r\n                if (endLineFinalIndex - startLineInitialIndex <= 0) return;\r\n\r\n                var selectedLines = document.Substring(startLineInitialIndex, endLineFinalIndex - startLineInitialIndex);\r\n                var joinedLines = selectedLines.Replace(RichEditBoxDefaultLineEnding, ' ');\r\n\r\n                var newContent = document.Remove(startLineInitialIndex, endLineFinalIndex - startLineInitialIndex)\r\n                    .Insert(startLineInitialIndex, joinedLines);\r\n\r\n                Document.SetText(TextSetOptions.None, newContent);\r\n                Document.Selection.SetRange(start, end);\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(TextEditorCore)}] Failed to join text: {ex}\");\r\n                AnalyticsService.TrackEvent(\"TextEditorCore_FailedToJoinText\",\r\n                    new Dictionary<string, string> { { \"Exception\", ex.ToString() } });\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/TextEditor/TextEditorCore.LineHighlighter.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.TextEditor\r\n{\r\n    using System;\r\n    using Windows.UI.Xaml;\r\n\r\n    public partial class TextEditorCore\r\n    {\r\n        private bool _displayLineHighlighter;\r\n\r\n        public bool DisplayLineHighlighter\r\n        {\r\n            get => _displayLineHighlighter;\r\n            set\r\n            {\r\n                if (_displayLineHighlighter != value)\r\n                {\r\n                    _displayLineHighlighter = value;\r\n                    UpdateLineHighlighterAndIndicator();\r\n                }\r\n            }\r\n        }\r\n\r\n        private void UpdateLineHighlighterAndIndicator()\r\n        {\r\n            if (!_loaded) return;\r\n\r\n            if (!DisplayLineHighlighter && !DisplayLineNumbers)\r\n            {\r\n                _lineHighlighter.Visibility = Visibility.Collapsed;\r\n                _lineIndicator.Visibility = Visibility.Collapsed;\r\n                return;\r\n            }\r\n\r\n            Document.Selection.GetRect(Windows.UI.Text.PointOptions.ClientCoordinates,\r\n                out Windows.Foundation.Rect selectionRect, out var _);\r\n\r\n            var singleLineHeight = GetSingleLineHeight();\r\n            var thickness = new Thickness(0.08 * singleLineHeight);\r\n            var height = selectionRect.Height;\r\n\r\n            // Just to make sure height is a positive number and not smaller than single line height\r\n            if (height < singleLineHeight) height = singleLineHeight;\r\n\r\n            // Show line highlighter rect when it is enabled when selection is single line only\r\n            if (DisplayLineHighlighter && height < singleLineHeight * 1.5f)\r\n            {\r\n                _lineHighlighter.Height = height;\r\n                _lineHighlighter.Margin = new Thickness(0, selectionRect.Y + Padding.Top, 0, 0);\r\n                _lineHighlighter.Width = Math.Clamp(_rootGrid.ActualWidth, 0, Double.PositiveInfinity);\r\n\r\n                _lineHighlighter.Visibility = Visibility.Visible;\r\n                _lineIndicator.Visibility = Visibility.Collapsed;\r\n            }\r\n            else if (DisplayLineNumbers) // Show line indicator when line highlighter is disabled but line numbers are enabled\r\n            {\r\n                _lineIndicator.Height = height;\r\n                _lineIndicator.Margin = new Thickness(0, selectionRect.Y + Padding.Top, 0, 0);\r\n                _lineIndicator.BorderThickness = thickness;\r\n                _lineIndicator.Width = 0.1 * singleLineHeight;\r\n\r\n                _lineIndicator.Visibility = Visibility.Visible;\r\n                _lineHighlighter.Visibility = Visibility.Collapsed;\r\n            }\r\n            else\r\n            {\r\n                _lineIndicator.Visibility = Visibility.Collapsed;\r\n                _lineHighlighter.Visibility = Visibility.Collapsed;\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/TextEditor/TextEditorCore.LineNumbers.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.TextEditor\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using Windows.Foundation;\r\n    using Windows.UI.Text;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Media;\r\n    using Notepads.Utilities;\r\n    using Microsoft.Toolkit.Uwp.Helpers;\r\n\r\n    public partial class TextEditorCore\r\n    {\r\n        private bool _displayLineNumbers;\r\n\r\n        public bool DisplayLineNumbers\r\n        {\r\n            get => _displayLineNumbers;\r\n            set\r\n            {\r\n                if (_displayLineNumbers != value)\r\n                {\r\n                    _displayLineNumbers = value;\r\n\r\n                    if (value)\r\n                    {\r\n                        ShowLineNumbers();\r\n                    }\r\n                    else\r\n                    {\r\n                        HideLineNumbers();\r\n                    }\r\n                }\r\n            }\r\n        }\r\n\r\n        private readonly IList<TextBlock> _renderedLineNumberBlocks = new List<TextBlock>();\r\n        private readonly Dictionary<string, double> _minRequisiteIntegerTextRenderingWidthCache = new Dictionary<string, double>();\r\n        private readonly SolidColorBrush _lineNumberDarkModeForegroundBrush = new SolidColorBrush(\"#99EEEEEE\".ToColor());\r\n        private readonly SolidColorBrush _lineNumberLightModeForegroundBrush = new SolidColorBrush(\"#99000000\".ToColor());\r\n\r\n        private void ShowLineNumbers()\r\n        {\r\n            if (!_loaded) return;\r\n\r\n            ResetLineNumberCanvasClipping();\r\n            UpdateLineNumbersRendering();\r\n\r\n            // Call UpdateLineHighlighterAndIndicator to adjust it's state\r\n            UpdateLineHighlighterAndIndicator();\r\n        }\r\n\r\n        private void HideLineNumbers()\r\n        {\r\n            if (!_loaded) return;\r\n\r\n            foreach (var lineNumberBlock in _renderedLineNumberBlocks)\r\n            {\r\n                lineNumberBlock.Visibility = Visibility.Collapsed;\r\n            }\r\n\r\n            _lineNumberGrid.BorderThickness = new Thickness(0, 0, 0, 0);\r\n            _lineNumberGrid.Margin = new Thickness(0, 0, 0, 0);\r\n            _lineNumberGrid.Width = .0f;\r\n\r\n            // Call UpdateLineHighlighterAndIndicator to adjust it's state\r\n            // Since when line highlighter is disabled, we still show the line indicator when line numbers are showing\r\n            UpdateLineHighlighterAndIndicator();\r\n        }\r\n\r\n        private void OnLineNumberGridSizeChanged(object sender, SizeChangedEventArgs e)\r\n        {\r\n            ResetLineNumberCanvasClipping();\r\n        }\r\n\r\n        private void ResetLineNumberCanvasClipping()\r\n        {\r\n            if (!_loaded || !DisplayLineNumbers) return;\r\n\r\n            _lineNumberGrid.Margin = new Thickness(0, 0, (-1 * Padding.Left) + 1, 0);\r\n            _lineNumberGrid.Clip = new RectangleGeometry\r\n            {\r\n                Rect = new Rect(\r\n                    0,\r\n                    Padding.Top,\r\n                    _lineNumberGrid.ActualWidth,\r\n                    Math.Clamp(_lineNumberGrid.ActualHeight - (Padding.Top + Padding.Bottom), .0f, Double.PositiveInfinity))\r\n            };\r\n        }\r\n\r\n        private void UpdateLineNumbersRendering()\r\n        {\r\n            if (!_loaded || !DisplayLineNumbers) return;\r\n\r\n            var startRange = Document.GetRangeFromPoint(\r\n                new Point(_contentScrollViewer.HorizontalOffset, _contentScrollViewer.VerticalOffset),\r\n                PointOptions.ClientCoordinates);\r\n\r\n            var endRange = Document.GetRangeFromPoint(\r\n                new Point(_contentScrollViewer.HorizontalOffset + _contentScrollViewer.ViewportWidth,\r\n                    _contentScrollViewer.VerticalOffset + _contentScrollViewer.ViewportHeight),\r\n                PointOptions.ClientCoordinates);\r\n\r\n            var document = GetDocumentLinesCache();\r\n\r\n            Dictionary<int, Rect> lineNumberTextRenderingPositions = CalculateLineNumberTextRenderingPositions(document, startRange, endRange);\r\n\r\n            var minLineNumberTextRenderingWidth = CalculateMinimumRequisiteIntegerTextRenderingWidth(FontFamily,\r\n                FontSize, (document.Length - 1).ToString().Length);\r\n\r\n            RenderLineNumbersInternal(lineNumberTextRenderingPositions, minLineNumberTextRenderingWidth);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Get minimum rendering width needed for displaying number text with certain length.\r\n        /// Take length of 3 as example, it is going to iterate thru all possible combinations like:\r\n        /// 111, 222, 333, 444 ... 999 to get minimum rendering length needed to display all of them (the largest width is the min here).\r\n        /// For mono font text, the width is always the same for same length but for non-mono font text, it depends.\r\n        /// Thus we need to calculate here to determine width needed for rendering integer number only text.\r\n        /// </summary>\r\n        /// <param name=\"fontFamily\"></param>\r\n        /// <param name=\"fontSize\"></param>\r\n        /// <param name=\"numberTextLength\"></param>\r\n        /// <returns></returns>\r\n        private double CalculateMinimumRequisiteIntegerTextRenderingWidth(FontFamily fontFamily, double fontSize, int numberTextLength)\r\n        {\r\n            var cacheKey = $\"{fontFamily.Source}-{(int)fontSize}-{numberTextLength}\";\r\n\r\n            if (_minRequisiteIntegerTextRenderingWidthCache.ContainsKey(cacheKey))\r\n            {\r\n                return _minRequisiteIntegerTextRenderingWidthCache[cacheKey];\r\n            }\r\n\r\n            double minRequisiteWidth = 0;\r\n\r\n            for (int i = 0; i < 10; i++)\r\n            {\r\n                var str = new string((char)('0' + i), numberTextLength);\r\n                var width = FontUtility.GetTextSize(fontFamily, fontSize, str).Width;\r\n                if (width > minRequisiteWidth)\r\n                {\r\n                    minRequisiteWidth = width;\r\n                }\r\n            }\r\n\r\n            _minRequisiteIntegerTextRenderingWidthCache[cacheKey] = minRequisiteWidth;\r\n            return minRequisiteWidth;\r\n        }\r\n\r\n        private Dictionary<int, Rect> CalculateLineNumberTextRenderingPositions(string[] lines, ITextRange startRange, ITextRange endRange)\r\n        {\r\n            var offset = 0;\r\n            var lineRects = new Dictionary<int, Rect>(); // 1 - based\r\n\r\n            for (int i = 0; i < lines.Length - 1; i++)\r\n            {\r\n                var line = lines[i];\r\n\r\n                // Use \"offset + line.Length + 1\" instead of just \"offset\" here is to capture the line right above the viewport\r\n                if (offset + line.Length + 1 >= startRange.StartPosition && offset <= endRange.EndPosition)\r\n                {\r\n                    Document.GetRange(offset, offset + line.Length)\r\n                        .GetRect(PointOptions.ClientCoordinates, out var rect, out _);\r\n\r\n                    lineRects[i + 1] = rect;\r\n                }\r\n                else if (offset > endRange.EndPosition)\r\n                {\r\n                    break;\r\n                }\r\n\r\n                offset += line.Length + 1; // 1 for line ending: '\\r'\r\n            }\r\n\r\n            return lineRects;\r\n        }\r\n\r\n        private void RenderLineNumbersInternal(Dictionary<int, Rect> lineNumberTextRenderingPositions, double minLineNumberTextRenderingWidth)\r\n        {\r\n            var padding = FontSize / 2;\r\n            var lineNumberPadding = new Thickness(padding, 2, padding + 2, 2);\r\n            var lineHeight = GetSingleLineHeight();\r\n            var lineNumberTextBlockHeight = lineHeight + Padding.Top + lineNumberPadding.Top;\r\n            var lineNumberForeground = (ActualTheme == ElementTheme.Dark)\r\n                ? _lineNumberDarkModeForegroundBrush\r\n                : _lineNumberLightModeForegroundBrush;\r\n\r\n            var numOfReusableLineNumberBlocks = _renderedLineNumberBlocks.Count;\r\n\r\n            foreach (var (lineNumber, rect) in lineNumberTextRenderingPositions)\r\n            {\r\n                var margin = new Thickness(lineNumberPadding.Left,\r\n                    rect.Top + lineNumberPadding.Top + Padding.Top,\r\n                    lineNumberPadding.Right,\r\n                    lineNumberPadding.Bottom);\r\n\r\n                // Re-use already rendered line number blocks\r\n                if (numOfReusableLineNumberBlocks > 0)\r\n                {\r\n                    var index = numOfReusableLineNumberBlocks - 1;\r\n                    _renderedLineNumberBlocks[index].Text = lineNumber.ToString();\r\n                    _renderedLineNumberBlocks[index].Margin = margin;\r\n                    _renderedLineNumberBlocks[index].Height = lineNumberTextBlockHeight;\r\n                    _renderedLineNumberBlocks[index].Width = minLineNumberTextRenderingWidth;\r\n                    _renderedLineNumberBlocks[index].Visibility = Visibility.Visible;\r\n                    _renderedLineNumberBlocks[index].Foreground = lineNumberForeground;\r\n\r\n                    numOfReusableLineNumberBlocks--;\r\n                }\r\n                else // Render new line number block when there is nothing to re-use\r\n                {\r\n                    var lineNumberBlock = new TextBlock()\r\n                    {\r\n                        Text = lineNumber.ToString(),\r\n                        Height = lineNumberTextBlockHeight,\r\n                        Width = minLineNumberTextRenderingWidth,\r\n                        Margin = margin,\r\n                        TextAlignment = TextAlignment.Right,\r\n                        HorizontalAlignment = HorizontalAlignment.Right,\r\n                        VerticalAlignment = VerticalAlignment.Bottom,\r\n                        HorizontalTextAlignment = TextAlignment.Right,\r\n                        Foreground = lineNumberForeground\r\n                    };\r\n\r\n                    _lineNumberCanvas.Children.Add(lineNumberBlock);\r\n                    _renderedLineNumberBlocks.Add(lineNumberBlock);\r\n                }\r\n            }\r\n\r\n            // Hide all un-used rendered line number block to avoid rendering collision from happening\r\n            for (int i = 0; i < numOfReusableLineNumberBlocks; i++)\r\n            {\r\n                _renderedLineNumberBlocks[i].Visibility = Visibility.Collapsed;\r\n            }\r\n\r\n            _lineNumberGrid.BorderThickness = new Thickness(0, 0, 0.08 * lineHeight, 0);\r\n            _lineNumberGrid.Width = lineNumberPadding.Left + minLineNumberTextRenderingWidth + lineNumberPadding.Right;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/TextEditor/TextEditorCore.MoveText.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.TextEditor\r\n{\r\n    using System;\r\n    using Windows.UI.Text;\r\n\r\n    public partial class TextEditorCore\r\n    {\r\n        private void MoveTextUp()\r\n        {\r\n            GetLineColumnSelection(out var startLine,\r\n                out var endLine,\r\n                out var startColumn,\r\n                out var endColumn,\r\n                out _,\r\n                out _);\r\n\r\n            if (startLine == 1) return;\r\n\r\n            GetTextSelectionPosition(out var start, out var end);\r\n\r\n            var document = GetText();\r\n            var lines = GetDocumentLinesCache();\r\n\r\n            var startLineInitialIndex = start - startColumn;\r\n            var endLineFinalIndex = end - endColumn + lines[endLine - 1].Length +\r\n                (end > start && (end > document.Length || document[end - 1].Equals(RichEditBoxDefaultLineEnding)) ? 0 : 1);\r\n\r\n            MoveLines(document, startLineInitialIndex, endLineFinalIndex, start, end, -lines[startLine - 2].Length - 1);\r\n        }\r\n\r\n        private void MoveTextDown()\r\n        {\r\n            GetLineColumnSelection(out _,\r\n                out var endLine,\r\n                out var startColumn,\r\n                out var endColumn,\r\n                out _,\r\n                out var lineCount);\r\n\r\n            if (endLine == lineCount) return;\r\n\r\n            GetTextSelectionPosition(out var start, out var end);\r\n\r\n            var document = GetText();\r\n            var lines = GetDocumentLinesCache();\r\n\r\n            var startLineInitialIndex = start - startColumn + 1;\r\n            var endLineFinalIndex = end - endColumn + lines[endLine - 1].Length +\r\n                (end > start && document[end - 1].Equals(RichEditBoxDefaultLineEnding) ? 1 : 2);\r\n\r\n            MoveLines(document, startLineInitialIndex, endLineFinalIndex, start, end, lines[endLine].Length + 1);\r\n        }\r\n\r\n        private void MoveLines(string document,\r\n            int startLineInitialIndex, int endLineFinalIndex,\r\n            int selectionStart, int selectionEnd, int selectionMoveAmount)\r\n        {\r\n            var insertIndex = startLineInitialIndex + selectionMoveAmount;\r\n            var movingLines = document.Substring(startLineInitialIndex, endLineFinalIndex - startLineInitialIndex);\r\n            var remainingContent = document.Remove(startLineInitialIndex, endLineFinalIndex - startLineInitialIndex);\r\n\r\n            if (insertIndex < 0)\r\n            {\r\n                insertIndex = 0;\r\n                remainingContent = RichEditBoxDefaultLineEnding + remainingContent;\r\n                movingLines = movingLines.Remove(0, 1);\r\n            }\r\n            else if (insertIndex >= remainingContent.Length)\r\n            {\r\n                remainingContent += RichEditBoxDefaultLineEnding;\r\n                movingLines = movingLines.Remove(movingLines.Length - 1);\r\n            }\r\n\r\n            Document.Selection.GetRect(PointOptions.Transform, out Windows.Foundation.Rect rect, out var _);\r\n            GetScrollViewerPosition(out var horizontalOffset, out var verticalOffset);\r\n            var wasSelectionInView = IsSelectionRectInView(rect, horizontalOffset, verticalOffset);\r\n\r\n            var newContent = remainingContent.Insert(insertIndex, movingLines);\r\n            selectionStart += selectionMoveAmount;\r\n            selectionEnd += selectionMoveAmount;\r\n            if (selectionStart < 0) selectionStart = 0;\r\n\r\n            Document.SetText(TextSetOptions.None, newContent);\r\n            Document.Selection.SetRange(selectionStart, selectionEnd);\r\n\r\n            // After SetText() and SetRange(), RichEdit will scroll selection into view\r\n            // and change scroll viewer's position even if it was already in the viewport\r\n            // It is better to keep its original scroll position after changing the texts' position in this case\r\n            if (wasSelectionInView)\r\n            {\r\n                _contentScrollViewer.ChangeView(\r\n                    horizontalOffset,\r\n                    verticalOffset,\r\n                    zoomFactor: null,\r\n                    disableAnimation: true);\r\n            }\r\n        }\r\n\r\n        private void MoveTextLeft()\r\n        {\r\n            GetTextSelectionPosition(out var start, out var end);\r\n\r\n            var document = GetText();\r\n\r\n            if (start == 0) return;\r\n\r\n            var movingWordIndexData = GetMovingWordsIndexData(document, start, end);\r\n            var startIndex = movingWordIndexData.Item1;\r\n            var endIndex = movingWordIndexData.Item2;\r\n            if (startIndex <= 0 || startIndex >= endIndex) return;\r\n            end = movingWordIndexData.Item3;\r\n\r\n            var replacedWordEndIndex = startIndex;\r\n            while (replacedWordEndIndex > 0)\r\n            {\r\n                replacedWordEndIndex--;\r\n                if (char.IsLetterOrDigit(document[replacedWordEndIndex]))\r\n                {\r\n                    replacedWordEndIndex++;\r\n                    break;\r\n                }\r\n            }\r\n\r\n            var replacedWordStartIndex = replacedWordEndIndex;\r\n            while (replacedWordStartIndex > 0)\r\n            {\r\n                replacedWordStartIndex--;\r\n                if (!char.IsLetterOrDigit(document[replacedWordStartIndex]))\r\n                {\r\n                    replacedWordStartIndex++;\r\n                    break;\r\n                }\r\n            }\r\n\r\n            MoveWords(document, replacedWordStartIndex, replacedWordEndIndex, startIndex, endIndex, start, end, replacedWordStartIndex - startIndex);\r\n        }\r\n\r\n        private void MoveTextRight()\r\n        {\r\n            GetTextSelectionPosition(out var start, out var end);\r\n\r\n            var document = GetText();\r\n\r\n            if (end >= document.Length) return;\r\n\r\n            var movingWordIndexData = GetMovingWordsIndexData(document, start, end);\r\n            var startIndex = movingWordIndexData.Item1;\r\n            var endIndex = movingWordIndexData.Item2;\r\n            if (endIndex <= startIndex || endIndex >= document.Length) return;\r\n\r\n            var replacedWordStartIndex = endIndex;\r\n            for (; replacedWordStartIndex < document.Length; replacedWordStartIndex++)\r\n            {\r\n                if (char.IsLetterOrDigit(document[replacedWordStartIndex]))\r\n                {\r\n                    break;\r\n                }\r\n            }\r\n\r\n            var replacedWordEndIndex = replacedWordStartIndex;\r\n            for (; replacedWordEndIndex < document.Length; replacedWordEndIndex++)\r\n            {\r\n                if (!char.IsLetterOrDigit(document[replacedWordEndIndex]))\r\n                {\r\n                    break;\r\n                }\r\n            }\r\n\r\n            MoveWords(document, startIndex, endIndex, replacedWordStartIndex, replacedWordEndIndex, start, end, replacedWordEndIndex - endIndex);\r\n        }\r\n\r\n        private Tuple<int, int, int> GetMovingWordsIndexData(string document, int selectionStart, int selectionEnd)\r\n        {\r\n            var startIndex = selectionStart;\r\n            if (selectionEnd == selectionStart || char.IsLetterOrDigit(document[selectionStart]))\r\n            {\r\n                while (startIndex > 0)\r\n                {\r\n                    startIndex--;\r\n                    if (!char.IsLetterOrDigit(document[startIndex]))\r\n                    {\r\n                        startIndex++;\r\n                        break;\r\n                    }\r\n                }\r\n            }\r\n\r\n            if (selectionEnd > document.Length) selectionEnd = document.Length;\r\n            var endIndex = selectionEnd;\r\n            if (selectionEnd == selectionStart || char.IsLetterOrDigit(document[selectionEnd - 1]))\r\n            {\r\n                while (endIndex < document.Length)\r\n                {\r\n                    endIndex++;\r\n                    if (!char.IsLetterOrDigit(document[endIndex - 1]))\r\n                    {\r\n                        endIndex--;\r\n                        break;\r\n                    }\r\n                }\r\n            }\r\n\r\n            return Tuple.Create(startIndex, endIndex, selectionEnd);\r\n        }\r\n\r\n        private void MoveWords(string document,\r\n            int leftWordsStartIndex, int leftWordsEndIndex,\r\n            int rightWordsStartIndex, int rightWordsEndIndex,\r\n            int selectionStart, int selectionEnd, int selectionMoveAmount)\r\n        {\r\n            Document.Selection.GetRect(PointOptions.Transform, out Windows.Foundation.Rect rect, out var _);\r\n            GetScrollViewerPosition(out var horizontalOffset, out var verticalOffset);\r\n            var wasSelectionInView = IsSelectionRectInView(rect, horizontalOffset, verticalOffset);\r\n\r\n            var leftWords = document.Substring(leftWordsStartIndex, leftWordsEndIndex - leftWordsStartIndex);\r\n            var rightWords = document.Substring(rightWordsStartIndex, rightWordsEndIndex - rightWordsStartIndex);\r\n            document = document.Remove(rightWordsStartIndex, rightWordsEndIndex - rightWordsStartIndex).Insert(rightWordsStartIndex, leftWords)\r\n                .Remove(leftWordsStartIndex, leftWordsEndIndex - leftWordsStartIndex).Insert(leftWordsStartIndex, rightWords);\r\n            selectionStart += selectionMoveAmount;\r\n            selectionEnd += selectionMoveAmount;\r\n\r\n            Document.SetText(TextSetOptions.None, document);\r\n            Document.Selection.SetRange(selectionStart, selectionEnd);\r\n\r\n            // After SetText() and SetRange(), RichEdit will scroll selection into view\r\n            // and change scroll viewer's position even if it was already in the viewport\r\n            // It is better to keep its original vertical scroll position after changing the texts' position in this case\r\n            if (wasSelectionInView)\r\n            {\r\n                _contentScrollViewer.ChangeView(\r\n                    null,\r\n                    verticalOffset,\r\n                    zoomFactor: null,\r\n                    disableAnimation: true);\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/TextEditor/TextEditorCore.WebSearch.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.TextEditor\r\n{\r\n    using System;\r\n    using Windows.System;\r\n    using Notepads.Services;\r\n    using Notepads.Utilities;\r\n    using System.Threading.Tasks;\r\n\r\n    public partial class TextEditorCore\r\n    {\r\n        public async Task SearchInWebAsync()\r\n        {\r\n            try\r\n            {\r\n                if (Document.Selection.Length == 0)\r\n                {\r\n                    return;\r\n                }\r\n\r\n                var selectedText = Document.Selection.Text.Trim();\r\n\r\n                // The maximum length of a URL in the address bar is 2048 characters\r\n                // Let's take 2000 here to make sure we are not exceeding the limit\r\n                // Otherwise we will see \"Invalid URI: The uri string is too long\" exception\r\n                var searchString = selectedText.Length <= 2000 ? selectedText : selectedText.Substring(0, 2000);\r\n\r\n                if (Uri.TryCreate(searchString, UriKind.Absolute, out var webUrl) &&\r\n                    (webUrl.Scheme == Uri.UriSchemeHttp || webUrl.Scheme == Uri.UriSchemeHttps))\r\n                {\r\n                    await Launcher.LaunchUriAsync(webUrl);\r\n                    return;\r\n                }\r\n\r\n                var searchUri = new Uri(string.Format(SearchEngineUtility.GetSearchUrlBySearchEngine(AppSettingsService.EditorDefaultSearchEngine)\r\n                    , string.Join(\"+\", searchString.Split(null))));\r\n                await Launcher.LaunchUriAsync(searchUri);\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(TextEditorCore)}] Failed to open search link: {ex.Message}\");\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/TextEditor/TextEditorCore.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.TextEditor\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Threading.Tasks;\r\n    using Notepads.Commands;\r\n    using Notepads.Extensions;\r\n    using Notepads.Services;\r\n    using Notepads.Utilities;\r\n    using Windows.ApplicationModel.DataTransfer;\r\n    using Windows.Foundation;\r\n    using Windows.System;\r\n    using Windows.UI.Core;\r\n    using Windows.UI.Text;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Controls.Primitives;\r\n    using Windows.UI.Xaml.Input;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    [TemplatePart(Name = ContentElementName, Type = typeof(ScrollViewer))]\r\n    [TemplatePart(Name = RootGridName, Type = typeof(Grid))]\r\n    [TemplatePart(Name = LineNumberCanvasName, Type = typeof(Canvas))]\r\n    [TemplatePart(Name = LineNumberGridName, Type = typeof(Grid))]\r\n    [TemplatePart(Name = LineHighlighterAndIndicatorCanvasName, Type = typeof(Canvas))]\r\n    [TemplatePart(Name = LineHighlighterName, Type = typeof(Grid))]\r\n    [TemplatePart(Name = LineIndicatorName, Type = typeof(Border))]\r\n    public partial class TextEditorCore : RichEditBox\r\n    {\r\n        public event EventHandler<TextWrapping> TextWrappingChanged;\r\n        public event EventHandler<double> FontSizeChanged;\r\n        public event EventHandler<double> FontZoomFactorChanged;\r\n        public event EventHandler<TextControlCopyingToClipboardEventArgs> CopyTextToWindowsClipboardRequested;\r\n        public event EventHandler<TextControlCuttingToClipboardEventArgs> CutSelectedTextToWindowsClipboardRequested;\r\n        public event EventHandler<ScrollViewerViewChangingEventArgs> ScrollViewerViewChanging;\r\n\r\n        private const char RichEditBoxDefaultLineEnding = '\\r';\r\n        private const char RegexDefaultLineEnding = '\\n';\r\n\r\n        private bool _isDocumentLinesCachePendingUpdate = true;\r\n        private string[] _documentLinesCache; // internal copy of the active document text in array format\r\n        private string _document = string.Empty; // internal copy of the active document text\r\n\r\n        private readonly ICommandHandler<KeyRoutedEventArgs> _keyboardCommandHandler;\r\n        private readonly ICommandHandler<PointerRoutedEventArgs> _mouseCommandHandler;\r\n\r\n        private int _textSelectionStartPosition = 0;\r\n        private int _textSelectionEndPosition = 0;\r\n\r\n        private double _contentScrollViewerHorizontalOffset = 0;\r\n        private double _contentScrollViewerVerticalOffset = 0;\r\n        private double _contentScrollViewerHorizontalOffsetLastKnownPosition = 0;\r\n        private double _contentScrollViewerVerticalOffsetLastKnownPosition = 0;\r\n\r\n        private bool _shouldResetScrollViewerToLastKnownPositionAfterRegainingFocus = false;\r\n\r\n        private bool _loaded = false;\r\n\r\n        private readonly double _minimumZoomFactor = 10;\r\n        private readonly double _maximumZoomFactor = 500;\r\n\r\n        private const string ContentElementName = \"ContentElement\";\r\n        private ScrollViewer _contentScrollViewer;\r\n        private const string RootGridName = \"RootGrid\";\r\n        private Grid _rootGrid;\r\n        private const string LineNumberCanvasName = \"LineNumberCanvas\";\r\n        private Canvas _lineNumberCanvas;\r\n        private const string LineNumberGridName = \"LineNumberGrid\";\r\n        private Grid _lineNumberGrid;\r\n        private const string ContentScrollViewerVerticalScrollBarName = \"VerticalScrollBar\";\r\n        private ScrollBar _contentScrollViewerVerticalScrollBar;\r\n        private const string LineHighlighterAndIndicatorCanvasName = \"LineHighlighterAndIndicatorCanvas\";\r\n        private Canvas _lineHighlighterAndIndicatorCanvas;\r\n        private const string LineHighlighterName = \"LineHighlighter\";\r\n        private Grid _lineHighlighter;\r\n        private const string LineIndicatorName = \"LineIndicator\";\r\n        private Border _lineIndicator;\r\n\r\n        private TextWrapping _textWrapping = AppSettingsService.EditorDefaultTextWrapping;\r\n\r\n        public new TextWrapping TextWrapping\r\n        {\r\n            get => _textWrapping;\r\n            set\r\n            {\r\n                base.TextWrapping = value;\r\n                _textWrapping = value;\r\n                TextWrappingChanged?.Invoke(this, value);\r\n            }\r\n        }\r\n\r\n        private double _fontZoomFactor = 100;\r\n        private double _fontSize = AppSettingsService.EditorFontSize;\r\n\r\n        public new double FontSize\r\n        {\r\n            get => _fontSize;\r\n            set\r\n            {\r\n                base.FontSize = value;\r\n                _fontSize = value;\r\n                SetDefaultTabStopAndLineSpacing(FontFamily, value);\r\n                FontSizeChanged?.Invoke(this, value);\r\n\r\n                var newZoomFactor = Math.Round((value * 100) / AppSettingsService.EditorFontSize);\r\n                if (Math.Abs(newZoomFactor - _fontZoomFactor) >= 1)\r\n                {\r\n                    _fontZoomFactor = newZoomFactor;\r\n                    FontZoomFactorChanged?.Invoke(this, newZoomFactor);\r\n                }\r\n            }\r\n        }\r\n\r\n        public TextEditorCore()\r\n        {\r\n            IsSpellCheckEnabled = AppSettingsService.IsHighlightMisspelledWordsEnabled;\r\n            TextWrapping = AppSettingsService.EditorDefaultTextWrapping;\r\n            FontFamily = new FontFamily(AppSettingsService.EditorFontFamily);\r\n            FontSize = AppSettingsService.EditorFontSize;\r\n            FontStyle = AppSettingsService.EditorFontStyle;\r\n            FontWeight = AppSettingsService.EditorFontWeight;\r\n            SelectionHighlightColor = new SolidColorBrush(ThemeSettingsService.AppAccentColor);\r\n            SelectionHighlightColorWhenNotFocused = new SolidColorBrush(ThemeSettingsService.AppAccentColor);\r\n            SelectionFlyout = null;\r\n            HorizontalAlignment = HorizontalAlignment.Stretch;\r\n            VerticalAlignment = VerticalAlignment.Stretch;\r\n            DisplayLineNumbers = AppSettingsService.EditorDisplayLineNumbers;\r\n            DisplayLineHighlighter = AppSettingsService.EditorDisplayLineHighlighter;\r\n            HandwritingView.BorderThickness = new Thickness(0);\r\n\r\n            CopyingToClipboard += OnCopyingToClipboard;\r\n            CuttingToClipboard += OnCuttingToClipboard;\r\n            Paste += OnPaste;\r\n            TextChanging += OnTextChanging;\r\n            TextChanged += OnTextChanged;\r\n            SelectionChanging += OnSelectionChanging;\r\n\r\n            SetDefaultTabStopAndLineSpacing(FontFamily, FontSize);\r\n            PointerWheelChanged += OnPointerWheelChanged;\r\n            LostFocus += OnLostFocus;\r\n            Loaded += OnLoaded;\r\n\r\n            SelectionChanged += OnSelectionChanged;\r\n            TextWrappingChanged += OnTextWrappingChanged;\r\n            SizeChanged += OnSizeChanged;\r\n            FontSizeChanged += OnFontSizeChanged;\r\n\r\n            // Init shortcuts\r\n            _keyboardCommandHandler = GetKeyboardCommandHandler();\r\n            _mouseCommandHandler = GetMouseCommandHandler();\r\n\r\n            HookExternalEvents();\r\n\r\n            Window.Current.CoreWindow.Activated += OnCoreWindowActivated;\r\n        }\r\n\r\n        protected override void OnApplyTemplate()\r\n        {\r\n            base.OnApplyTemplate();\r\n\r\n            _rootGrid = GetTemplateChild(RootGridName) as Grid;\r\n\r\n            _lineNumberGrid = GetTemplateChild(LineNumberGridName) as Grid;\r\n            _lineNumberCanvas = GetTemplateChild(LineNumberCanvasName) as Canvas;\r\n\r\n            _lineHighlighterAndIndicatorCanvas = GetTemplateChild(LineHighlighterAndIndicatorCanvasName) as Canvas;\r\n            _lineHighlighter = GetTemplateChild(LineHighlighterName) as Grid;\r\n            _lineIndicator = GetTemplateChild(LineIndicatorName) as Border;\r\n\r\n            _contentScrollViewer = GetTemplateChild(ContentElementName) as ScrollViewer;\r\n            _shouldResetScrollViewerToLastKnownPositionAfterRegainingFocus = true;\r\n            _contentScrollViewer.ViewChanging += OnContentScrollViewerViewChanging;\r\n            _contentScrollViewer.ViewChanged += OnContentScrollViewerViewChanged;\r\n            _contentScrollViewer.SizeChanged += OnContentScrollViewerSizeChanged;\r\n\r\n            _contentScrollViewer.ApplyTemplate();\r\n            var scrollViewerRoot = (FrameworkElement)VisualTreeHelper.GetChild(_contentScrollViewer, 0);\r\n            _contentScrollViewerVerticalScrollBar = (ScrollBar)scrollViewerRoot.FindName(ContentScrollViewerVerticalScrollBarName);\r\n            _contentScrollViewerVerticalScrollBar.ValueChanged += OnVerticalScrollBarValueChanged;\r\n\r\n            _lineNumberGrid.SizeChanged += OnLineNumberGridSizeChanged;\r\n            _rootGrid.SizeChanged += OnRootGridSizeChanged;\r\n\r\n            Microsoft.Toolkit.Uwp.UI.ScrollViewerExtensions.SetEnableMiddleClickScrolling(_contentScrollViewer, true);\r\n        }\r\n\r\n        // Unhook events and clear state\r\n        public void Dispose()\r\n        {\r\n            CopyingToClipboard -= OnCopyingToClipboard;\r\n            CuttingToClipboard -= OnCuttingToClipboard;\r\n            Paste -= OnPaste;\r\n            TextChanging -= OnTextChanging;\r\n            TextChanged -= OnTextChanged;\r\n            SelectionChanging -= OnSelectionChanging;\r\n            PointerWheelChanged -= OnPointerWheelChanged;\r\n            LostFocus -= OnLostFocus;\r\n            Loaded -= OnLoaded;\r\n\r\n            if (_contentScrollViewer != null)\r\n            {\r\n                _contentScrollViewer.ViewChanging -= OnContentScrollViewerViewChanging;\r\n                _contentScrollViewer.ViewChanged -= OnContentScrollViewerViewChanged;\r\n                _contentScrollViewer.SizeChanged -= OnContentScrollViewerSizeChanged;\r\n            }\r\n\r\n            if (_contentScrollViewerVerticalScrollBar != null)\r\n            {\r\n                _contentScrollViewerVerticalScrollBar.ValueChanged -= OnVerticalScrollBarValueChanged;\r\n            }\r\n\r\n            if (_lineNumberGrid != null)\r\n            {\r\n                _lineNumberGrid.SizeChanged -= OnLineNumberGridSizeChanged;\r\n            }\r\n\r\n            if (_rootGrid != null)\r\n            {\r\n                _rootGrid.SizeChanged -= OnRootGridSizeChanged;\r\n            }\r\n\r\n            _lineNumberCanvas?.Children.Clear();\r\n            _renderedLineNumberBlocks.Clear();\r\n            _minRequisiteIntegerTextRenderingWidthCache.Clear();\r\n\r\n            SelectionChanged -= OnSelectionChanged;\r\n            TextWrappingChanged -= OnTextWrappingChanged;\r\n            SizeChanged -= OnSizeChanged;\r\n            FontSizeChanged -= OnFontSizeChanged;\r\n\r\n            UnhookExternalEvents();\r\n\r\n            Window.Current.CoreWindow.Activated -= OnCoreWindowActivated;\r\n        }\r\n\r\n        private KeyboardCommandHandler GetKeyboardCommandHandler()\r\n        {\r\n            var swallowedKeys = new List<VirtualKey>()\r\n            {\r\n                VirtualKey.B, VirtualKey.I, VirtualKey.U, VirtualKey.Tab,\r\n                VirtualKey.Number1, VirtualKey.Number2, VirtualKey.Number3,\r\n                VirtualKey.Number4, VirtualKey.Number5, VirtualKey.Number6,\r\n                VirtualKey.Number7, VirtualKey.Number8, VirtualKey.Number9,\r\n                VirtualKey.F3,\r\n            };\r\n\r\n            return new KeyboardCommandHandler(new List<IKeyboardCommand<KeyRoutedEventArgs>>\r\n            {\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.Z, (args) => Undo()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, true, VirtualKey.Z, (args) => Redo()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(false, true, false, VirtualKey.Z, (args) => TextWrapping = TextWrapping == TextWrapping.Wrap ? TextWrapping.NoWrap : TextWrapping.Wrap),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.Add, (args) => IncreaseFontSize(0.1)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, (VirtualKey)187, (args) => IncreaseFontSize(0.1)), // (VirtualKey)187: =\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.Subtract, (args) => DecreaseFontSize(0.1)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, (VirtualKey)189, (args) => DecreaseFontSize(0.1)), // (VirtualKey)189: -\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.Number0, (args) => ResetFontSizeToDefault()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.NumberPad0, (args) => ResetFontSizeToDefault()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(VirtualKey.F5, (args) => InsertDateTimeString()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.E, async (args) => await SearchInWebAsync()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.D, (args) => DuplicateText()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.J, (args) => JoinText()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(VirtualKey.Tab, (args) => AddIndentation(AppSettingsService.EditorDefaultTabIndents)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(false, false, true, VirtualKey.Tab, (args) => RemoveIndentation(AppSettingsService.EditorDefaultTabIndents)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(false, true, false, VirtualKey.Up, (args) => MoveTextUp()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(false, true, false, VirtualKey.Down, (args) => MoveTextDown()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(false, true, false, VirtualKey.Left, (args) => MoveTextLeft()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(false, true, false, VirtualKey.Right, (args) => MoveTextRight()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, true, true, VirtualKey.D, (args) => ShowEasterEgg(), requiredHits: 10),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.L, (args) => SwitchTextFlowDirection(FlowDirection.LeftToRight)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.R, (args) => SwitchTextFlowDirection(FlowDirection.RightToLeft)),\r\n                // By default, RichEditBox insert '\\v' when user hit \"Shift + Enter\"\r\n                // This should be converted to '\\r' to match same behaviour as single \"Enter\"\r\n                new KeyboardCommand<KeyRoutedEventArgs>(false, false, true, VirtualKey.Enter, (args) => EnterWithAutoIndentation()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(VirtualKey.Enter, (args) => EnterWithAutoIndentation()),\r\n                // Disable RichEditBox default shortcuts (Bold, Underline, Italic)\r\n                // https://docs.microsoft.com/en-us/windows/desktop/controls/about-rich-edit-controls\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, swallowedKeys, null, shouldHandle: false, shouldSwallow: true),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, true, swallowedKeys, null, shouldHandle: false, shouldSwallow: true),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, true, (VirtualKey)187, null, shouldHandle: false, shouldSwallow: true), // (VirtualKey)187: =\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, true, VirtualKey.L, null, shouldHandle: false, shouldSwallow: true),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(false, false, true, VirtualKey.F3, null, shouldHandle: false, shouldSwallow: true),\r\n            });\r\n        }\r\n\r\n        private ICommandHandler<PointerRoutedEventArgs> GetMouseCommandHandler()\r\n        {\r\n            return new MouseCommandHandler(new List<IMouseCommand<PointerRoutedEventArgs>>()\r\n            {\r\n                new MouseCommand<PointerRoutedEventArgs>(true, false, true, false, false, false, ChangeHorizontalScrollingBasedOnMouseInput),\r\n                new MouseCommand<PointerRoutedEventArgs>(false, false, true, false, false, false, ChangeHorizontalScrollingBasedOnMouseInput),\r\n                new MouseCommand<PointerRoutedEventArgs>(false, true, false, ChangeHorizontalScrollingBasedOnMouseInput),\r\n                new MouseCommand<PointerRoutedEventArgs>(true, false, false, false, false, false, ChangeZoomingBasedOnMouseInput),\r\n                new MouseCommand<PointerRoutedEventArgs>(true, false, false, OnPointerLeftButtonDown),\r\n            }, this);\r\n        }\r\n\r\n        private void OnCoreWindowActivated(CoreWindow sender, WindowActivatedEventArgs args)\r\n        {\r\n            if (args.WindowActivationState == Windows.UI.Core.CoreWindowActivationState.CodeActivated ||\r\n                args.WindowActivationState == Windows.UI.Core.CoreWindowActivationState.PointerActivated)\r\n            {\r\n                _shouldResetScrollViewerToLastKnownPositionAfterRegainingFocus = true;\r\n            }\r\n        }\r\n\r\n        private void OnLoaded(object sender, RoutedEventArgs _)\r\n        {\r\n            _loaded = true;\r\n\r\n            ResetRootGridClipping();\r\n\r\n            if (_shouldResetScrollViewerToLastKnownPositionAfterRegainingFocus)\r\n            {\r\n                _shouldResetScrollViewerToLastKnownPositionAfterRegainingFocus = false;\r\n                _contentScrollViewer.ChangeView(\r\n                    _contentScrollViewerHorizontalOffsetLastKnownPosition,\r\n                    _contentScrollViewerVerticalOffsetLastKnownPosition,\r\n                    zoomFactor: null,\r\n                    disableAnimation: true);\r\n            }\r\n\r\n            UpdateLineHighlighterAndIndicator();\r\n            if (DisplayLineNumbers) ShowLineNumbers();\r\n        }\r\n\r\n        private void OnLostFocus(object sender, RoutedEventArgs _)\r\n        {\r\n            GetScrollViewerPosition(out _contentScrollViewerHorizontalOffsetLastKnownPosition, out _contentScrollViewerVerticalOffsetLastKnownPosition);\r\n        }\r\n\r\n        protected override void OnKeyDown(KeyRoutedEventArgs args)\r\n        {\r\n            var result = _keyboardCommandHandler.Handle(args);\r\n\r\n            if (result.ShouldHandle)\r\n            {\r\n                args.Handled = true;\r\n            }\r\n\r\n            if (!result.ShouldSwallow)\r\n            {\r\n                base.OnKeyDown(args);\r\n            }\r\n        }\r\n\r\n        private void OnPointerWheelChanged(object sender, PointerRoutedEventArgs args)\r\n        {\r\n            var result = _mouseCommandHandler.Handle(args);\r\n            if (result.ShouldHandle)\r\n            {\r\n                args.Handled = true;\r\n            }\r\n        }\r\n\r\n        private async void OnPaste(object sender, TextControlPasteEventArgs args)\r\n        {\r\n            await PastePlainTextFromWindowsClipboardAsync(args);\r\n        }\r\n\r\n        private void OnCopyingToClipboard(RichEditBox sender, TextControlCopyingToClipboardEventArgs args)\r\n        {\r\n            CopyTextToWindowsClipboardRequested?.Invoke(sender, args);\r\n        }\r\n\r\n        private void OnCuttingToClipboard(RichEditBox sender, TextControlCuttingToClipboardEventArgs args)\r\n        {\r\n            CutSelectedTextToWindowsClipboardRequested?.Invoke(sender, args);\r\n        }\r\n\r\n        private void OnTextChanging(RichEditBox sender, RichEditBoxTextChangingEventArgs args)\r\n        {\r\n            if (args.IsContentChanging)\r\n            {\r\n                Document.GetText(TextGetOptions.None, out var document);\r\n                _document = TrimRichEditBoxText(document);\r\n                _isDocumentLinesCachePendingUpdate = true;\r\n            }\r\n        }\r\n\r\n        private void OnTextChanged(object sender, RoutedEventArgs _)\r\n        {\r\n            UpdateLineNumbersRendering();\r\n        }\r\n\r\n        private void OnSelectionChanging(RichEditBox sender, RichEditBoxSelectionChangingEventArgs args)\r\n        {\r\n            _textSelectionStartPosition = args.SelectionStart;\r\n            _textSelectionEndPosition = args.SelectionStart + args.SelectionLength;\r\n        }\r\n\r\n        private void OnContentScrollViewerViewChanging(object sender, ScrollViewerViewChangingEventArgs args)\r\n        {\r\n            _contentScrollViewerHorizontalOffset = args.FinalView.HorizontalOffset;\r\n            _contentScrollViewerVerticalOffset = args.FinalView.VerticalOffset;\r\n            ScrollViewerViewChanging?.Invoke(sender, args);\r\n        }\r\n\r\n        private void OnContentScrollViewerViewChanged(object sender, ScrollViewerViewChangedEventArgs _)\r\n        {\r\n            if (_shouldResetScrollViewerToLastKnownPositionAfterRegainingFocus)\r\n            {\r\n                _shouldResetScrollViewerToLastKnownPositionAfterRegainingFocus = false;\r\n                _contentScrollViewer.ChangeView(\r\n                    _contentScrollViewerHorizontalOffsetLastKnownPosition,\r\n                    _contentScrollViewerVerticalOffsetLastKnownPosition,\r\n                    zoomFactor: null,\r\n                    disableAnimation: true);\r\n            }\r\n            else\r\n            {\r\n                UpdateLineNumbersRendering();\r\n            }\r\n        }\r\n\r\n        private void OnContentScrollViewerSizeChanged(object sender, SizeChangedEventArgs _)\r\n        {\r\n            UpdateLineNumbersRendering();\r\n        }\r\n\r\n        private void OnFontSizeChanged(object sender, double _)\r\n        {\r\n            UpdateLineHighlighterAndIndicator();\r\n        }\r\n\r\n        private void OnSizeChanged(object sender, SizeChangedEventArgs _)\r\n        {\r\n            UpdateLineHighlighterAndIndicator();\r\n        }\r\n\r\n        private void OnTextWrappingChanged(object sender, TextWrapping _)\r\n        {\r\n            UpdateLayout();\r\n            UpdateLineHighlighterAndIndicator();\r\n            UpdateLineNumbersRendering();\r\n        }\r\n\r\n        private void OnSelectionChanged(object sender, RoutedEventArgs _)\r\n        {\r\n            UpdateLineHighlighterAndIndicator();\r\n        }\r\n\r\n        private void OnVerticalScrollBarValueChanged(object sender, RangeBaseValueChangedEventArgs _)\r\n        {\r\n            // Make sure line number canvas is in sync with editor's ScrollViewer\r\n            _contentScrollViewer.StartExpressionAnimation(_lineNumberCanvas, Axis.Y);\r\n\r\n            // Make sure line highlighter and indicator canvas is in sync with editor's ScrollViewer\r\n            _contentScrollViewer.StartExpressionAnimation(_lineHighlighterAndIndicatorCanvas, Axis.Y);\r\n        }\r\n\r\n        private void OnRootGridSizeChanged(object sender, SizeChangedEventArgs _)\r\n        {\r\n            ResetRootGridClipping();\r\n        }\r\n\r\n        private void ResetRootGridClipping()\r\n        {\r\n            if (!_loaded) return;\r\n\r\n            _rootGrid.Clip = new RectangleGeometry\r\n            {\r\n                Rect = new Rect(\r\n                    0,\r\n                    0,\r\n                    _rootGrid.ActualWidth,\r\n                    Math.Clamp(_rootGrid.ActualHeight, .0f, Double.PositiveInfinity))\r\n            };\r\n        }\r\n\r\n        public void Undo()\r\n        {\r\n            if (Document.CanUndo() && IsEnabled)\r\n            {\r\n                Document.Undo();\r\n            }\r\n        }\r\n\r\n        public void Redo()\r\n        {\r\n            if (Document.CanRedo() && IsEnabled)\r\n            {\r\n                Document.Redo();\r\n            }\r\n        }\r\n\r\n        public void SetText(string text)\r\n        {\r\n            Document.SetText(TextSetOptions.None, text);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Thread safe way of getting the text in the active story (document)\r\n        /// </summary>\r\n        public string GetText()\r\n        {\r\n            return _document;\r\n        }\r\n\r\n        public double GetSingleLineHeight()\r\n        {\r\n            Document.GetRange(0, 0).GetRect(PointOptions.ClientCoordinates, out var rect, out _);\r\n            return rect.Height <= 0 ? 1.35 * FontSize : rect.Height;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Thread safe way of getting the current ScrollViewer position\r\n        /// </summary>\r\n        public void GetScrollViewerPosition(out double horizontalOffset, out double verticalOffset)\r\n        {\r\n            if (_loaded)\r\n            {\r\n                horizontalOffset = _contentScrollViewerHorizontalOffset;\r\n                verticalOffset = _contentScrollViewerVerticalOffset;\r\n            }\r\n            else // If current TextEditorCore never loaded, we should use last known position\r\n            {\r\n                horizontalOffset = _contentScrollViewerHorizontalOffsetLastKnownPosition;\r\n                verticalOffset = _contentScrollViewerVerticalOffsetLastKnownPosition;\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Thread safe way of getting the current document selection position\r\n        /// </summary>\r\n        public void GetTextSelectionPosition(out int startPosition, out int endPosition)\r\n        {\r\n            startPosition = _textSelectionStartPosition;\r\n            endPosition = _textSelectionEndPosition;\r\n        }\r\n\r\n        public void SetTextSelectionPosition(int selectionStartPosition, int selectionEndPosition)\r\n        {\r\n            _textSelectionStartPosition = selectionStartPosition;\r\n            _textSelectionEndPosition = selectionEndPosition;\r\n            Document.Selection.StartPosition = selectionStartPosition;\r\n            Document.Selection.EndPosition = selectionEndPosition;\r\n        }\r\n\r\n        public void SetScrollViewerInitPosition(double horizontalOffset, double verticalOffset)\r\n        {\r\n            _contentScrollViewerHorizontalOffsetLastKnownPosition = horizontalOffset;\r\n            _contentScrollViewerVerticalOffsetLastKnownPosition = verticalOffset;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Returns 1-based indexing values\r\n        /// </summary>\r\n        public void GetLineColumnSelection(\r\n            out int startLineIndex,\r\n            out int endLineIndex,\r\n            out int startColumnIndex,\r\n            out int endColumnIndex,\r\n            out int selectedCount,\r\n            out int lineCount,\r\n            LineEnding lineEnding = LineEnding.Crlf)\r\n        {\r\n            var lines = GetDocumentLinesCache();\r\n            GetTextSelectionPosition(out var start, out var end);\r\n\r\n            startLineIndex = 1;\r\n            startColumnIndex = 1;\r\n            endLineIndex = 1;\r\n            endColumnIndex = 1;\r\n            selectedCount = 0;\r\n            lineCount = lines.Length - 1;\r\n\r\n            var length = 0;\r\n            bool startLocated = false;\r\n\r\n            for (int i = 0; i < lineCount + 1; i++)\r\n            {\r\n                var line = lines[i];\r\n\r\n                if (line.Length + length >= start && !startLocated)\r\n                {\r\n                    startLineIndex = i + 1;\r\n                    startColumnIndex = start - length + 1;\r\n                    startLocated = true;\r\n                }\r\n\r\n                if (line.Length + length >= end)\r\n                {\r\n                    if (i == startLineIndex - 1 || lineEnding != LineEnding.Crlf)\r\n                    {\r\n                        selectedCount = end - start;\r\n                    }\r\n                    else\r\n                    {\r\n                        selectedCount = end - start + (i - startLineIndex) + 1;\r\n                    }\r\n\r\n                    endLineIndex = i + 1;\r\n                    endColumnIndex = end - length + 1;\r\n\r\n                    // Reposition end position to previous line's end position if last selected char is RichEditBoxDefaultLineEnding ('\\r')\r\n                    if (endColumnIndex == 1 && end != start)\r\n                    {\r\n                        endLineIndex--;\r\n                        endColumnIndex = lines[i - 1].Length + 1;\r\n                    }\r\n\r\n                    return;\r\n                }\r\n\r\n                length += line.Length + 1;\r\n            }\r\n        }\r\n\r\n        private string[] GetDocumentLinesCache()\r\n        {\r\n            if (_isDocumentLinesCachePendingUpdate)\r\n            {\r\n                _documentLinesCache = (GetText() + RichEditBoxDefaultLineEnding).Split(RichEditBoxDefaultLineEnding);\r\n                _isDocumentLinesCachePendingUpdate = false;\r\n            }\r\n\r\n            return _documentLinesCache;\r\n        }\r\n\r\n        public double GetFontZoomFactor()\r\n        {\r\n            return _fontZoomFactor;\r\n        }\r\n\r\n        public void SetFontZoomFactor(double fontZoomFactor)\r\n        {\r\n            var fontZoomFactorInt = Math.Round(fontZoomFactor);\r\n            if (fontZoomFactorInt >= _minimumZoomFactor && fontZoomFactorInt <= _maximumZoomFactor)\r\n                FontSize = (fontZoomFactorInt / 100) * AppSettingsService.EditorFontSize;\r\n        }\r\n\r\n        public void SmartlyTrimTextSelection()\r\n        {\r\n            var selection = Document.Selection;\r\n            var startPosition = selection.StartPosition;\r\n            var endPosition = selection.EndPosition;\r\n            var selectedText = selection.Text;\r\n\r\n            if (selectedText.ContainsAllowableCharactersOnly(' ', '\\t', RichEditBoxDefaultLineEnding))\r\n            {\r\n                // Do not do anything if selected text contains spaces, tabs and line breaks only\r\n                return;\r\n            }\r\n\r\n            var trimStart = selectedText.TrimStart(' ', '\\t', RichEditBoxDefaultLineEnding);\r\n            var startOffset = selectedText.Length - trimStart.Length;\r\n\r\n            var leadingStr = selectedText.Substring(0, startOffset);\r\n            var lastLineBreakOffset = leadingStr.LastIndexOf(RichEditBoxDefaultLineEnding);\r\n            startOffset = lastLineBreakOffset == -1 ? 0 : lastLineBreakOffset + 1;\r\n\r\n            var trimEnd = trimStart.TrimEnd(' ', '\\t', RichEditBoxDefaultLineEnding);\r\n            var endOffset = trimStart.Length - trimEnd.Length;\r\n\r\n            Document.Selection.SetRange(startPosition + startOffset, endPosition - endOffset);\r\n        }\r\n\r\n        public async Task PastePlainTextFromWindowsClipboardAsync(TextControlPasteEventArgs args)\r\n        {\r\n            if (args != null)\r\n            {\r\n                args.Handled = true;\r\n            }\r\n\r\n            if (!Document.CanPaste()) return;\r\n\r\n            try\r\n            {\r\n                var dataPackageView = Windows.ApplicationModel.DataTransfer.Clipboard.GetContent();\r\n                if (!dataPackageView.Contains(StandardDataFormats.Text)) return;\r\n                var text = await dataPackageView.GetTextAsync();\r\n                Document.BeginUndoGroup();\r\n                Document.Selection.SetText(TextSetOptions.None, text);\r\n                //Document.Selection.CharacterFormat.TextScript = TextScript.Ansi;\r\n                Document.Selection.StartPosition = Document.Selection.EndPosition;\r\n                Document.EndUndoGroup();\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(TextEditorCore)}] Failed to paste plain text to Windows clipboard: {ex.Message}\");\r\n            }\r\n        }\r\n\r\n        public void ClearUndoQueue()\r\n        {\r\n            // Clear UndoQueue by setting its limit to 0 and set it back\r\n            var undoLimit = Document.UndoLimit;\r\n\r\n            // Check to prevent the undo limit stuck on zero\r\n            // because it returns 0 even if the undo limit isn't set yet\r\n            if (undoLimit != 0)\r\n            {\r\n                Document.UndoLimit = 0;\r\n                Document.UndoLimit = undoLimit;\r\n            }\r\n        }\r\n\r\n        public void SwitchTextFlowDirection(FlowDirection direction)\r\n        {\r\n            if (string.IsNullOrEmpty(GetText()))\r\n            {\r\n                // If content is empty, switching text flow direction might not work\r\n                // Let's not do anything here\r\n                return;\r\n            }\r\n\r\n            FlowDirection = direction;\r\n            TextReadingOrder = TextReadingOrder.UseFlowDirection;\r\n\r\n            UpdateLayout();\r\n            SetDefaultTabStopAndLineSpacing(FontFamily, FontSize);\r\n        }\r\n\r\n        public bool GoTo(int line)\r\n        {\r\n            try\r\n            {\r\n                _shouldResetScrollViewerToLastKnownPositionAfterRegainingFocus = false;\r\n                Document.Selection.SetIndex(TextRangeUnit.Paragraph, line, false);\r\n                return true;\r\n            }\r\n            catch\r\n            {\r\n                return false;\r\n            }\r\n        }\r\n\r\n        public void ResetFocusAndScrollToPreviousPosition()\r\n        {\r\n            _shouldResetScrollViewerToLastKnownPositionAfterRegainingFocus = true;\r\n            base.Focus(FocusState.Programmatic);\r\n        }\r\n\r\n        private void SetDefaultTabStopAndLineSpacing(FontFamily font, double fontSize)\r\n        {\r\n            Document.DefaultTabStop = (float)FontUtility.GetTextSize(font, fontSize, \"text\").Width;\r\n            var format = Document.GetDefaultParagraphFormat();\r\n            format.SetLineSpacing(LineSpacingRule.Exactly, (float)fontSize);\r\n            Document.SetDefaultParagraphFormat(format);\r\n        }\r\n\r\n        private void EnterWithAutoIndentation()\r\n        {\r\n            // Automatically indent on new lines based on current line's leading spaces/tabs\r\n            GetLineColumnSelection(out var startLineIndex, out _, out var startColumnIndex, out _, out _, out _);\r\n            var lines = GetDocumentLinesCache();\r\n            var leadingSpacesAndTabs = lines[startLineIndex - 1].Substring(0, startColumnIndex - 1).LeadingSpacesAndTabs();\r\n            Document.Selection.SetText(TextSetOptions.None, RichEditBoxDefaultLineEnding + leadingSpacesAndTabs);\r\n            Document.Selection.StartPosition = Document.Selection.EndPosition;\r\n        }\r\n\r\n        private void OnPointerLeftButtonDown(PointerRoutedEventArgs args)\r\n        {\r\n            if (Document.Selection.Type == SelectionType.Normal ||\r\n                Document.Selection.Type == SelectionType.InlineShape ||\r\n                Document.Selection.Type == SelectionType.Shape)\r\n            {\r\n                var mouseWheelDelta = args.GetCurrentPoint(this).Properties.MouseWheelDelta;\r\n                _contentScrollViewer.ChangeView(null, _contentScrollViewer.VerticalOffset + (-1 * mouseWheelDelta), null, false);\r\n            }\r\n        }\r\n\r\n        // Ctrl + Wheel -> zooming\r\n        private void ChangeZoomingBasedOnMouseInput(PointerRoutedEventArgs args)\r\n        {\r\n            var mouseWheelDelta = args.GetCurrentPoint(this).Properties.MouseWheelDelta;\r\n            if (mouseWheelDelta > 0)\r\n            {\r\n                IncreaseFontSize(0.1);\r\n            }\r\n            else if (mouseWheelDelta < 0)\r\n            {\r\n                DecreaseFontSize(0.1);\r\n            }\r\n        }\r\n\r\n        // Ctrl + Shift + Wheel -> horizontal scrolling\r\n        private void ChangeHorizontalScrollingBasedOnMouseInput(PointerRoutedEventArgs args)\r\n        {\r\n            var mouseWheelDelta = args.GetCurrentPoint(this).Properties.MouseWheelDelta;\r\n            _contentScrollViewer.ChangeView(_contentScrollViewer.HorizontalOffset + (-1 * mouseWheelDelta), null, null, false);\r\n        }\r\n\r\n        private static string TrimRichEditBoxText(string text)\r\n        {\r\n            // Trim end \\r\r\n            if (!string.IsNullOrEmpty(text) && text[text.Length - 1] == RichEditBoxDefaultLineEnding)\r\n            {\r\n                text = text.Substring(0, text.Length - 1);\r\n            }\r\n\r\n            return text;\r\n        }\r\n\r\n        private bool IsSelectionRectInView(Windows.Foundation.Rect rect, double horizontalOffset, double verticalOffset)\r\n        {\r\n            var isSelectionStartPositionInView = false;\r\n            var isSelectionEndPositionInView = false;\r\n\r\n            if (verticalOffset <= rect.Y && rect.Y <= verticalOffset + _contentScrollViewer.ViewportHeight &&\r\n                horizontalOffset <= rect.X && rect.X <= horizontalOffset + _contentScrollViewer.ViewportWidth)\r\n            {\r\n                isSelectionStartPositionInView = true;\r\n            }\r\n\r\n            if (verticalOffset <= rect.Y + rect.Height && rect.Y + rect.Height <= verticalOffset + _contentScrollViewer.ViewportHeight &&\r\n                horizontalOffset <= rect.X + rect.Width && rect.X + rect.Width <= horizontalOffset + _contentScrollViewer.ViewportWidth)\r\n            {\r\n                isSelectionEndPositionInView = true;\r\n            }\r\n\r\n            return isSelectionStartPositionInView && isSelectionEndPositionInView;\r\n        }\r\n\r\n        private static void ShowEasterEgg()\r\n        {\r\n            //_contentScrollViewer.Background = new ImageBrush\r\n            //{\r\n            //    ImageSource = new BitmapImage(new Uri(BaseUri, \"/Assets/EasterEgg.jpg\")),\r\n            //    AlignmentX = AlignmentX.Center,\r\n            //    AlignmentY = AlignmentY.Center,\r\n            //    Stretch = Stretch.Uniform\r\n            //};\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Controls/TextEditor/TextEditorCore.xaml",
    "content": "﻿<ResourceDictionary\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" \r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\">\r\n\r\n    <ResourceDictionary.ThemeDictionaries>\r\n        <ResourceDictionary x:Key=\"Light\">\r\n            <SolidColorBrush x:Key=\"TextEditorForeground\"\r\n                             Color=\"Black\"/>\r\n        </ResourceDictionary>\r\n        <ResourceDictionary x:Key=\"Dark\">\r\n            <SolidColorBrush x:Key=\"TextEditorForeground\"\r\n                             Color=\"#F0F0F0\"/>\r\n        </ResourceDictionary>\r\n        <ResourceDictionary x:Key=\"HighContrast\">\r\n            <SolidColorBrush x:Key=\"TextEditorForeground\"\r\n                             Color=\"{ThemeResource TextControlForeground}\"/>\r\n        </ResourceDictionary>\r\n    </ResourceDictionary.ThemeDictionaries>\r\n\r\n    <Style x:Key=\"TextEditorCore\" TargetType=\"RichEditBox\">\r\n        <Setter Property=\"Foreground\" Value=\"{ThemeResource TextEditorForeground}\"/>\r\n        <Setter Property=\"Background\" Value=\"Transparent\"/>\r\n        <!--<Setter Property=\"ContentLinkForegroundColor\" Value=\"{ThemeResource ContentLinkForegroundColor}\"/>\r\n        <Setter Property=\"ContentLinkBackgroundColor\" Value=\"{ThemeResource ContentLinkBackgroundColor}\"/>-->\r\n        <Setter Property=\"SelectionHighlightColor\" Value=\"{ThemeResource TextControlSelectionHighlightColor}\"/>\r\n        <Setter Property=\"BorderBrush\" Value=\"{ThemeResource TextControlBorderBrush}\"/>\r\n        <Setter Property=\"BorderThickness\" Value=\"0,0,0,0\"/>\r\n        <Setter Property=\"FontFamily\" Value=\"{ThemeResource ContentControlThemeFontFamily}\"/>\r\n        <Setter Property=\"FontSize\" Value=\"{ThemeResource ControlContentThemeFontSize}\"/>\r\n        <Setter Property=\"ScrollViewer.HorizontalScrollMode\" Value=\"Enabled\"/>\r\n        <Setter Property=\"ScrollViewer.VerticalScrollMode\" Value=\"Enabled\"/>\r\n        <Setter Property=\"ScrollViewer.HorizontalScrollBarVisibility\" Value=\"Auto\"/>\r\n        <Setter Property=\"ScrollViewer.VerticalScrollBarVisibility\" Value=\"Auto\"/>\r\n        <Setter Property=\"ScrollViewer.IsDeferredScrollingEnabled\" Value=\"False\"/>\r\n        <Setter Property=\"TextWrapping\" Value=\"NoWrap\"/>\r\n        <Setter Property=\"Padding\" Value=\"0\"/>\r\n        <Setter Property=\"UseSystemFocusVisuals\" Value=\"{ThemeResource IsApplicationFocusVisualKindReveal}\"/>\r\n        <!--<Setter Property=\"ContextFlyout\" Value=\"{StaticResource TextControlCommandBarContextFlyout}\"/>\r\n        <Setter Property=\"SelectionFlyout\" Value=\"{StaticResource TextControlCommandBarSelectionFlyout}\"/>-->\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"RichEditBox\">\r\n                    <Grid>\r\n                        <Grid.RowDefinitions>\r\n                            <RowDefinition Height=\"Auto\"/>\r\n                            <RowDefinition Height=\"*\"/>\r\n                            <RowDefinition Height=\"Auto\"/>\r\n                        </Grid.RowDefinitions>\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"CommonStates\">\r\n                                <VisualState x:Name=\"Disabled\"/>\r\n                                <VisualState x:Name=\"Normal\"/>\r\n                                <VisualState x:Name=\"PointerOver\"/>\r\n                                <VisualState x:Name=\"Focused\"/>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n                        <ContentPresenter\r\n                            x:Name=\"HeaderContentPresenter\"\r\n                            ContentTemplate=\"{TemplateBinding HeaderTemplate}\"\r\n                            Content=\"{TemplateBinding Header}\"\r\n                            FontWeight=\"Normal\"\r\n                            Foreground=\"{ThemeResource TextControlHeaderForeground}\"\r\n                            Margin=\"{ThemeResource RichEditBoxTopHeaderMargin}\"\r\n                            Grid.Row=\"0\"\r\n                            TextWrapping=\"Wrap\"\r\n                            VerticalAlignment=\"Top\"\r\n                            Visibility=\"Collapsed\"\r\n                            x:DeferLoadStrategy=\"Lazy\">\r\n                        </ContentPresenter>\r\n                        <Border\r\n                            x:Name=\"BorderElement\"\r\n                            Background=\"{TemplateBinding Background}\"\r\n                            BorderThickness=\"{TemplateBinding BorderThickness}\"\r\n                            BorderBrush=\"{TemplateBinding BorderBrush}\"\r\n                            CornerRadius=\"{TemplateBinding CornerRadius}\"\r\n                            MinHeight=\"{ThemeResource TextControlThemeMinHeight}\"\r\n                            MinWidth=\"{ThemeResource TextControlThemeMinWidth}\"\r\n                            Grid.Row=\"1\"/>\r\n                        <Grid x:Name=\"RootGrid\" Grid.Row=\"1\">\r\n                            <Grid.ColumnDefinitions>\r\n                                <ColumnDefinition x:Name=\"LineNumberColumnDefinition\" Width=\"Auto\"/>\r\n                                <ColumnDefinition x:Name=\"TextEditorColumnDefinition\" Width=\"*\"/>\r\n                            </Grid.ColumnDefinitions>\r\n                            <Canvas x:Name=\"LineHighlighterAndIndicatorCanvas\" Grid.ColumnSpan=\"2\">\r\n                                <Border x:Name=\"LineIndicator\"\r\n                                        BorderBrush=\"{StaticResource SystemControlForegroundAccentBrush}\"\r\n                                        Visibility=\"Collapsed\"/>\r\n                                <Grid x:Name=\"LineHighlighter\"\r\n                                      Background=\"{ThemeResource SystemControlBackgroundListLowBrush}\"\r\n                                      Opacity=\"0.65\"\r\n                                      BorderThickness=\"0\"\r\n                                      Visibility=\"Collapsed\"/>\r\n                            </Canvas>\r\n                            <Grid x:Name=\"LineNumberGrid\" \r\n                                  Grid.Column=\"0\"\r\n                                  BorderThickness=\"0,0,0,0\"\r\n                                  BorderBrush=\"{ThemeResource SystemControlBackgroundTransparentRevealBorderBrush}\">\r\n                                <Canvas x:Name=\"LineNumberCanvas\"/>\r\n                            </Grid>\r\n                            <Grid Grid.Column=\"1\">\r\n                                <ScrollViewer\r\n                                x:Name=\"ContentElement\"\r\n                                AutomationProperties.AccessibilityView=\"Raw\"\r\n                                HorizontalScrollBarVisibility=\"{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}\"\r\n                                HorizontalScrollMode=\"{TemplateBinding ScrollViewer.HorizontalScrollMode}\"\r\n                                IsDeferredScrollingEnabled=\"{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}\"\r\n                                IsHorizontalRailEnabled=\"{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}\"\r\n                                IsTabStop=\"False\"\r\n                                IsVerticalRailEnabled=\"{TemplateBinding ScrollViewer.IsVerticalRailEnabled}\"\r\n                                Margin=\"{TemplateBinding BorderThickness}\"\r\n                                Padding=\"{TemplateBinding Padding}\"\r\n                                VerticalScrollMode=\"{TemplateBinding ScrollViewer.VerticalScrollMode}\"\r\n                                VerticalScrollBarVisibility=\"{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}\"\r\n                                ZoomMode=\"Disabled\"/>\r\n                            </Grid>\r\n                        </Grid>\r\n                        <TextBlock \r\n                            x:Name=\"PlaceholderTextContentPresenter\"\r\n                            Foreground=\"{ThemeResource TextControlPlaceholderForeground}\"\r\n                            IsHitTestVisible=\"False\"\r\n                            Margin=\"{TemplateBinding BorderThickness}\"\r\n                            Padding=\"{TemplateBinding Padding}\"\r\n                            Grid.Row=\"1\"\r\n                            Text=\"{TemplateBinding PlaceholderText}\"\r\n                            TextWrapping=\"{TemplateBinding TextWrapping}\"\r\n                            TextAlignment=\"{TemplateBinding TextAlignment}\"\r\n                            OpticalMarginAlignment=\"TrimSideBearings\"/>\r\n                        <ContentPresenter\r\n                            x:Name=\"DescriptionPresenter\"\r\n                            AutomationProperties.AccessibilityView=\"Raw\"\r\n                            Content=\"{TemplateBinding Description}\"\r\n                            Foreground=\"{ThemeResource SystemControlDescriptionTextForegroundBrush}\"\r\n                            Grid.Row=\"2\"\r\n                            x:Load=\"False\"/>\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n\r\n</ResourceDictionary>"
  },
  {
    "path": "src/Notepads/Controls/TextEditor/TextEditorStateMetaData.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Controls.TextEditor\r\n{\r\n    public sealed class TextEditorStateMetaData\r\n    {\r\n        public string FileNamePlaceholder { get; set; }\r\n\r\n        public string LastSavedEncoding { get; set; }\r\n\r\n        public string LastSavedLineEnding { get; set; }\r\n\r\n        public long DateModifiedFileTime { get; set; }\r\n\r\n        public string RequestedLineEnding { get; set; }\r\n\r\n        public string RequestedEncoding { get; set; }\r\n\r\n        public bool HasEditingFile { get; set; }\r\n\r\n        public bool IsModified { get; set; }\r\n\r\n        public int SelectionStartPosition { get; set; }\r\n\r\n        public int SelectionEndPosition { get; set; }\r\n\r\n        public bool WrapWord { get; set; }\r\n\r\n        public double FontZoomFactor { get; set; }\r\n\r\n        public double ScrollViewerHorizontalOffset { get; set; }\r\n\r\n        public double ScrollViewerVerticalOffset { get; set; }\r\n\r\n        public bool IsContentPreviewPanelOpened { get; set; }\r\n\r\n        public bool IsInDiffPreviewMode { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Core/INotepadsCore.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Core\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Text;\r\n    using System.Threading.Tasks;\r\n    using Notepads.Controls.TextEditor;\r\n    using Notepads.Models;\r\n    using Notepads.Utilities;\r\n    using Windows.Storage;\r\n    using Windows.UI.Xaml.Input;\r\n\r\n    /// <summary>\r\n    /// INotepadsCore handles Tabs and TextEditor life cycle\r\n    /// </summary>\r\n    public interface INotepadsCore\r\n    {\r\n        event EventHandler<ITextEditor> TextEditorLoaded;\r\n        event EventHandler<ITextEditor> TextEditorUnloaded;\r\n        event EventHandler<ITextEditor> TextEditorEditorModificationStateChanged;\r\n        event EventHandler<ITextEditor> TextEditorFileModificationStateChanged;\r\n        event EventHandler<ITextEditor> TextEditorSaved;\r\n        event EventHandler<ITextEditor> TextEditorClosing;\r\n        event EventHandler<ITextEditor> TextEditorRenamed;\r\n        event EventHandler<ITextEditor> TextEditorSelectionChanged;\r\n        event EventHandler<ITextEditor> TextEditorFontZoomFactorChanged;\r\n        event EventHandler<ITextEditor> TextEditorEncodingChanged;\r\n        event EventHandler<ITextEditor> TextEditorLineEndingChanged;\r\n        event EventHandler<ITextEditor> TextEditorModeChanged;\r\n        event EventHandler<ITextEditor> TextEditorMovedToAnotherAppInstance;\r\n        event EventHandler<IReadOnlyList<IStorageItem>> StorageItemsDropped;\r\n        event KeyEventHandler TextEditorKeyDown;\r\n\r\n        Task<ITextEditor> CreateTextEditorAsync(\r\n            Guid id,\r\n            StorageFile file,\r\n            Encoding encoding = null,\r\n            bool ignoreFileSizeLimit = false);\r\n\r\n        ITextEditor CreateTextEditor(\r\n            Guid id,\r\n            TextFile textFile,\r\n            StorageFile editingFile,\r\n            string fileNamePlaceHolder,\r\n            bool isModified = false);\r\n\r\n        void OpenNewTextEditor(string fileNamePlaceholder);\r\n\r\n        void OpenTextEditor(ITextEditor editor, int atIndex = -1);\r\n\r\n        void OpenTextEditors(ITextEditor[] editors, Guid? selectedEditorId = null);\r\n\r\n        Task SaveContentToFileAndUpdateEditorStateAsync(ITextEditor textEditor, StorageFile file);\r\n\r\n        void DeleteTextEditor(ITextEditor textEditor);\r\n\r\n        int GetNumberOfOpenedTextEditors();\r\n\r\n        bool TryGetSharingContent(ITextEditor textEditor, out string title, out string content);\r\n\r\n        bool HaveUnsavedTextEditor();\r\n\r\n        bool HaveNonemptyTextEditor();\r\n\r\n        void ChangeLineEnding(ITextEditor textEditor, LineEnding lineEnding);\r\n\r\n        void SwitchTo(bool next);\r\n\r\n        void SwitchTo(int index);\r\n\r\n        void SwitchTo(ITextEditor textEditor);\r\n\r\n        ITextEditor GetSelectedTextEditor();\r\n\r\n        ITextEditor GetTextEditor(StorageFile file);\r\n\r\n        ITextEditor GetTextEditor(string editingFilePath);\r\n\r\n        ITextEditor[] GetAllTextEditors();\r\n\r\n        void FocusOnTextEditor(ITextEditor textEditor);\r\n\r\n        void FocusOnSelectedTextEditor();\r\n\r\n        void CloseTextEditor(ITextEditor textEditor);\r\n\r\n        double GetTabScrollViewerHorizontalOffset();\r\n\r\n        void SetTabScrollViewerHorizontalOffset(double offset);\r\n    }\r\n}\r\n"
  },
  {
    "path": "src/Notepads/Core/ISessionManager.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Core\r\n{\r\n    using System;\r\n    using System.Threading.Tasks;\r\n\r\n    internal interface ISessionManager\r\n    {\r\n        bool IsBackupEnabled { get; set; }\r\n\r\n        Task<int> LoadLastSessionAsync();\r\n\r\n        Task SaveSessionAsync(Action actionAfterSaving = null);\r\n\r\n        void StartSessionBackup(bool startImmediately = false);\r\n\r\n        void StopSessionBackup();\r\n\r\n        Task ClearSessionDataAsync();\r\n\r\n        Task<int> RecoverBackupFilesAsync();\r\n\r\n        Task OpenSessionBackupFolderAsync();\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Core/NotepadsCore.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Core\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Linq;\r\n    using System.Text;\r\n    using System.Threading.Tasks;\r\n    using System.Text.Json;\r\n    using Notepads.Controls.TextEditor;\r\n    using Notepads.Extensions;\r\n    using Notepads.Models;\r\n    using Notepads.Services;\r\n    using Notepads.Settings;\r\n    using Notepads.Utilities;\r\n    using Notepads.Controls;\r\n    using Windows.ApplicationModel.DataTransfer;\r\n    using Windows.ApplicationModel.Resources;\r\n    using Windows.Foundation.Collections;\r\n    using Windows.Storage;\r\n    using Windows.UI;\r\n    using Windows.UI.Core;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Input;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    public class NotepadsCore : INotepadsCore\r\n    {\r\n        public event EventHandler<ITextEditor> TextEditorLoaded;\r\n        public event EventHandler<ITextEditor> TextEditorUnloaded;\r\n        public event EventHandler<ITextEditor> TextEditorEditorModificationStateChanged;\r\n        public event EventHandler<ITextEditor> TextEditorFileModificationStateChanged;\r\n        public event EventHandler<ITextEditor> TextEditorSaved;\r\n        public event EventHandler<ITextEditor> TextEditorRenamed;\r\n        public event EventHandler<ITextEditor> TextEditorClosing;\r\n        public event EventHandler<ITextEditor> TextEditorSelectionChanged;\r\n        public event EventHandler<ITextEditor> TextEditorFontZoomFactorChanged;\r\n        public event EventHandler<ITextEditor> TextEditorEncodingChanged;\r\n        public event EventHandler<ITextEditor> TextEditorLineEndingChanged;\r\n        public event EventHandler<ITextEditor> TextEditorModeChanged;\r\n        public event EventHandler<ITextEditor> TextEditorMovedToAnotherAppInstance;\r\n        public event EventHandler<IReadOnlyList<IStorageItem>> StorageItemsDropped;\r\n\r\n        public event KeyEventHandler TextEditorKeyDown;\r\n\r\n        private readonly SetsView _sets;\r\n\r\n        private readonly INotepadsExtensionProvider _extensionProvider;\r\n\r\n        private ITextEditor _selectedTextEditor;\r\n\r\n        private ITextEditor[] _allTextEditors;\r\n\r\n        private readonly ResourceLoader _resourceLoader = ResourceLoader.GetForCurrentView();\r\n\r\n        private readonly CoreDispatcher _dispatcher;\r\n\r\n        private const string SetDragAndDropActionStatus = \"SetDragAndDropActionStatus\";\r\n        private const string NotepadsTextEditorMetaData = \"NotepadsTextEditorMetaData\";\r\n        private const string NotepadsTextEditorGuid = \"NotepadsTextEditorGuid\";\r\n        private const string NotepadsInstanceId = \"NotepadsInstanceId\";\r\n        private const string NotepadsTextEditorLastSavedContent = \"NotepadsTextEditorLastSavedContent\";\r\n        private const string NotepadsTextEditorPendingContent = \"NotepadsTextEditorPendingContent\";\r\n        private const string NotepadsTextEditorEditingFilePath = \"NotepadsTextEditorEditingFilePath\";\r\n\r\n        public NotepadsCore(SetsView sets,\r\n            INotepadsExtensionProvider extensionProvider,\r\n            CoreDispatcher dispatcher)\r\n        {\r\n            _sets = sets;\r\n            _sets.SelectionChanged += SetsView_OnSelectionChanged;\r\n            _sets.Items.VectorChanged += SetsView_OnItemsChanged;\r\n            _sets.SetClosing += SetsView_OnSetClosing;\r\n            _sets.SetTapped += (sender, args) => { FocusOnTextEditor(args.Item as ITextEditor); };\r\n            _sets.SetDraggedOutside += Sets_SetDraggedOutside;\r\n            _sets.DragOver += Sets_DragOver;\r\n            _sets.Drop += Sets_Drop;\r\n            _sets.DragItemsStarting += Sets_DragItemsStarting;\r\n            _sets.DragItemsCompleted += Sets_DragItemsCompleted;\r\n\r\n            _dispatcher = dispatcher;\r\n            _extensionProvider = extensionProvider;\r\n\r\n            ThemeSettingsService.OnAccentColorChanged += ThemeSettingsService_OnAccentColorChanged;\r\n        }\r\n\r\n        private async void ThemeSettingsService_OnAccentColorChanged(object sender, Color color)\r\n        {\r\n            await _dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                if (_sets.Items == null) return;\r\n                foreach (SetsViewItem item in _sets.Items)\r\n                {\r\n                    item.Icon.Foreground = new SolidColorBrush(color);\r\n                    item.SelectionIndicatorForeground = new SolidColorBrush(color);\r\n                }\r\n            });\r\n        }\r\n\r\n        public void OpenNewTextEditor(string fileNamePlaceholder)\r\n        {\r\n            var textFile = new TextFile(string.Empty,\r\n                AppSettingsService.EditorDefaultEncoding,\r\n                AppSettingsService.EditorDefaultLineEnding);\r\n            var newEditor = CreateTextEditor(\r\n                Guid.NewGuid(),\r\n                textFile,\r\n                null,\r\n                fileNamePlaceholder);\r\n            OpenTextEditor(newEditor);\r\n        }\r\n\r\n        public void OpenTextEditor(ITextEditor textEditor, int atIndex = -1)\r\n        {\r\n            SetsViewItem textEditorSetsViewItem = CreateTextEditorSetsViewItem(textEditor);\r\n\r\n            // Notepads should replace current \"Untitled.txt\" with open file if it is empty and it is the only tab that has been created.\r\n            // If index != -1, it means set was created after a drag and drop, we should skip this logic\r\n            if (GetNumberOfOpenedTextEditors() == 1 && textEditor.EditingFile != null && atIndex == -1)\r\n            {\r\n                var selectedEditor = GetAllTextEditors().First();\r\n                if (selectedEditor.EditingFile == null && !selectedEditor.IsModified)\r\n                {\r\n                    _sets.Items?.Clear();\r\n                }\r\n            }\r\n\r\n            if (atIndex == -1)\r\n            {\r\n                _sets.Items?.Add(textEditorSetsViewItem);\r\n            }\r\n            else\r\n            {\r\n                _sets.Items?.Insert(atIndex, textEditorSetsViewItem);\r\n            }\r\n\r\n            if (GetNumberOfOpenedTextEditors() > 1)\r\n            {\r\n                _sets.SelectedItem = textEditorSetsViewItem;\r\n                if (atIndex == -1)\r\n                {\r\n                    _sets.ScrollToLastSet();\r\n                }\r\n            }\r\n        }\r\n\r\n        public void OpenTextEditors(ITextEditor[] editors, Guid? selectedEditorId = null)\r\n        {\r\n            bool selectedEditorFound = false;\r\n\r\n            foreach (var textEditor in editors)\r\n            {\r\n                var editorSetsViewItem = CreateTextEditorSetsViewItem(textEditor);\r\n                _sets.Items?.Add(editorSetsViewItem);\r\n                if (selectedEditorId.HasValue && textEditor.Id == selectedEditorId.Value)\r\n                {\r\n                    _sets.SelectedItem = editorSetsViewItem;\r\n                    selectedEditorFound = true;\r\n                }\r\n            }\r\n\r\n            if (selectedEditorId == null || !selectedEditorFound)\r\n            {\r\n                _sets.SelectedIndex = editors.Length - 1;\r\n                _sets.ScrollToLastSet();\r\n            }\r\n        }\r\n\r\n        public async Task<ITextEditor> CreateTextEditorAsync(\r\n            Guid id,\r\n            StorageFile file,\r\n            Encoding encoding = null,\r\n            bool ignoreFileSizeLimit = false)\r\n        {\r\n            var textFile = await FileSystemUtility.ReadFileAsync(file, ignoreFileSizeLimit, encoding);\r\n            return CreateTextEditor(id, textFile, file, file.Name);\r\n        }\r\n\r\n        public ITextEditor CreateTextEditor(\r\n            Guid id,\r\n            TextFile textFile,\r\n            StorageFile editingFile,\r\n            string fileNamePlaceholder,\r\n            bool isModified = false)\r\n        {\r\n            ITextEditor textEditor = new TextEditor\r\n            {\r\n                Id = id,\r\n                ExtensionProvider = _extensionProvider,\r\n                FileNamePlaceholder = fileNamePlaceholder\r\n            };\r\n\r\n            textEditor.Init(textFile, editingFile, isModified: isModified);\r\n            textEditor.Loaded += TextEditor_Loaded;\r\n            textEditor.Unloaded += TextEditor_Unloaded;\r\n            textEditor.SelectionChanged += TextEditor_OnSelectionChanged;\r\n            textEditor.FontZoomFactorChanged += TextEditor_OnFontZoomFactorChanged;\r\n            textEditor.KeyDown += TextEditorKeyDown;\r\n            textEditor.ModificationStateChanged += TextEditor_OnEditorModificationStateChanged;\r\n            textEditor.ModeChanged += TextEditor_OnModeChanged;\r\n            textEditor.FileModificationStateChanged += TextEditor_OnFileModificationStateChanged;\r\n            textEditor.LineEndingChanged += TextEditor_OnLineEndingChanged;\r\n            textEditor.EncodingChanged += TextEditor_OnEncodingChanged;\r\n            textEditor.FileRenamed += TextEditor_OnFileRenamed;\r\n\r\n            return textEditor;\r\n        }\r\n\r\n        public async Task SaveContentToFileAndUpdateEditorStateAsync(ITextEditor textEditor, StorageFile file)\r\n        {\r\n            await textEditor.SaveContentToFileAndUpdateEditorStateAsync(file); // Will throw if not succeeded\r\n            MarkTextEditorSetSaved(textEditor);\r\n            TextEditorSaved?.Invoke(this, textEditor);\r\n        }\r\n\r\n        public void DeleteTextEditor(ITextEditor textEditor)\r\n        {\r\n            if (textEditor == null) return;\r\n            var item = GetTextEditorSetsViewItem(textEditor);\r\n            if (item == null) return;\r\n            item.IsEnabled = false;\r\n            item.PrepareForClosing();\r\n            _sets.Items?.Remove(item);\r\n\r\n            if (item.ContextFlyout is TabContextFlyout tabContextFlyout)\r\n            {\r\n                tabContextFlyout.Dispose();\r\n            }\r\n\r\n            TextEditorUnloaded?.Invoke(this, textEditor);\r\n\r\n            textEditor.Loaded -= TextEditor_Loaded;\r\n            textEditor.Unloaded -= TextEditor_Unloaded;\r\n            textEditor.KeyDown -= TextEditorKeyDown;\r\n            textEditor.SelectionChanged -= TextEditor_OnSelectionChanged;\r\n            textEditor.FontZoomFactorChanged -= TextEditor_OnFontZoomFactorChanged;\r\n            textEditor.ModificationStateChanged -= TextEditor_OnEditorModificationStateChanged;\r\n            textEditor.ModeChanged -= TextEditor_OnModeChanged;\r\n            textEditor.FileModificationStateChanged -= TextEditor_OnFileModificationStateChanged;\r\n            textEditor.LineEndingChanged -= TextEditor_OnLineEndingChanged;\r\n            textEditor.EncodingChanged -= TextEditor_OnEncodingChanged;\r\n            textEditor.FileRenamed -= TextEditor_OnFileRenamed;\r\n            textEditor.Dispose();\r\n        }\r\n\r\n        public int GetNumberOfOpenedTextEditors()\r\n        {\r\n            return _sets.Items?.Count ?? 0;\r\n        }\r\n\r\n        public bool TryGetSharingContent(ITextEditor textEditor, out string title, out string content)\r\n        {\r\n            title = textEditor.EditingFileName ?? textEditor.FileNamePlaceholder;\r\n            content = textEditor.GetContentForSharing();\r\n            return !string.IsNullOrEmpty(content);\r\n        }\r\n\r\n        public bool HaveUnsavedTextEditor()\r\n        {\r\n            if (_sets.Items == null || _sets.Items.Count == 0) return false;\r\n            foreach (SetsViewItem setsItem in _sets.Items)\r\n            {\r\n                if (!(setsItem.Content is ITextEditor textEditor)) continue;\r\n                if (!textEditor.IsModified) continue;\r\n                return true;\r\n            }\r\n            return false;\r\n        }\r\n\r\n        public bool HaveNonemptyTextEditor()\r\n        {\r\n            if (_sets.Items == null || _sets.Items.Count <= 1) return false;\r\n            foreach (SetsViewItem setsItem in _sets.Items)\r\n            {\r\n                if (!(setsItem.Content is ITextEditor textEditor)) continue;\r\n                if (string.IsNullOrEmpty(textEditor.GetText())) continue;\r\n                return true;\r\n            }\r\n            return false;\r\n        }\r\n\r\n        public void ChangeLineEnding(ITextEditor textEditor, LineEnding lineEnding)\r\n        {\r\n            textEditor.TryChangeLineEnding(lineEnding);\r\n        }\r\n\r\n        public void SwitchTo(bool next)\r\n        {\r\n            if (_sets.Items == null) return;\r\n            if (_sets.Items.Count < 2) return;\r\n\r\n            var setsCount = _sets.Items.Count;\r\n            var selected = _sets.SelectedIndex;\r\n\r\n            if (next && setsCount > 1)\r\n            {\r\n                if (selected == setsCount - 1)\r\n                {\r\n                    _sets.SelectedIndex = 0;\r\n                }\r\n                else\r\n                {\r\n                    _sets.SelectedIndex += 1;\r\n                }\r\n            }\r\n            else if (!next && setsCount > 1)\r\n            {\r\n                if (selected == 0)\r\n                {\r\n                    _sets.SelectedIndex = setsCount - 1;\r\n                }\r\n                else\r\n                {\r\n                    _sets.SelectedIndex -= 1;\r\n                }\r\n            }\r\n        }\r\n\r\n        public void SwitchTo(int index)\r\n        {\r\n            if (_sets.Items == null || index < 0 || index >= _sets.Items.Count) return;\r\n            _sets.SelectedIndex = index;\r\n        }\r\n\r\n        public void SwitchTo(ITextEditor textEditor)\r\n        {\r\n            var item = GetTextEditorSetsViewItem(textEditor);\r\n            if (_sets.SelectedItem != item)\r\n            {\r\n                _sets.SelectedItem = item;\r\n                _sets.ScrollIntoView(item);\r\n            }\r\n        }\r\n\r\n        public ITextEditor GetSelectedTextEditor()\r\n        {\r\n            if (ThreadUtility.IsOnUIThread())\r\n            {\r\n                if ((!((_sets.SelectedItem as SetsViewItem)?.Content is ITextEditor textEditor))) return null;\r\n                return textEditor;\r\n            }\r\n            return _selectedTextEditor;\r\n        }\r\n\r\n        public ITextEditor GetTextEditor(string editingFilePath)\r\n        {\r\n            if (string.IsNullOrEmpty(editingFilePath)) return null;\r\n            return GetAllTextEditors().FirstOrDefault(editor => editor.EditingFilePath != null &&\r\n                string.Equals(editor.EditingFilePath, editingFilePath, StringComparison.OrdinalIgnoreCase));\r\n        }\r\n\r\n        public ITextEditor[] GetAllTextEditors()\r\n        {\r\n            if (!ThreadUtility.IsOnUIThread()) return _allTextEditors;\r\n            if (_sets.Items == null) return Array.Empty<ITextEditor>();\r\n            var editors = new List<ITextEditor>();\r\n            foreach (SetsViewItem item in _sets.Items)\r\n            {\r\n                if (item.Content is ITextEditor textEditor)\r\n                {\r\n                    editors.Add(textEditor);\r\n                }\r\n            }\r\n            return editors.ToArray();\r\n        }\r\n\r\n        public void FocusOnSelectedTextEditor()\r\n        {\r\n            FocusOnTextEditor(GetSelectedTextEditor());\r\n        }\r\n\r\n        public void FocusOnTextEditor(ITextEditor textEditor)\r\n        {\r\n            textEditor?.Focus();\r\n        }\r\n\r\n        public void CloseTextEditor(ITextEditor textEditor)\r\n        {\r\n            var item = GetTextEditorSetsViewItem(textEditor);\r\n            item?.Close();\r\n        }\r\n\r\n        public ITextEditor GetTextEditor(StorageFile file)\r\n        {\r\n            var item = GetTextEditorSetsViewItem(file);\r\n            return item?.Content as ITextEditor;\r\n        }\r\n\r\n        public double GetTabScrollViewerHorizontalOffset()\r\n        {\r\n            return _sets.ScrollViewerHorizontalOffset;\r\n        }\r\n\r\n        public void SetTabScrollViewerHorizontalOffset(double offset)\r\n        {\r\n            _sets.ScrollTo(offset);\r\n        }\r\n\r\n        private SetsViewItem CreateTextEditorSetsViewItem(ITextEditor textEditor)\r\n        {\r\n            var modifierIcon = new FontIcon()\r\n            {\r\n                Glyph = \"\\uF127\",\r\n                FontSize = 1.5,\r\n                Width = 3,\r\n                Height = 3,\r\n                Foreground = new SolidColorBrush(ThemeSettingsService.AppAccentColor),\r\n            };\r\n\r\n            var textEditorSetsViewItem = new SetsViewItem\r\n            {\r\n                Header = textEditor.EditingFileName ?? textEditor.FileNamePlaceholder,\r\n                Content = textEditor,\r\n                SelectionIndicatorForeground = new SolidColorBrush(ThemeSettingsService.AppAccentColor),\r\n                Icon = modifierIcon\r\n            };\r\n\r\n            if (textEditorSetsViewItem.Content == null || textEditorSetsViewItem.Content is Page)\r\n            {\r\n                throw new Exception(\"Content should not be null and type should not be Page (SetsView does not work well with Page controls)\");\r\n            }\r\n\r\n            textEditorSetsViewItem.Icon.Visibility = textEditor.IsModified ? Visibility.Visible : Visibility.Collapsed;\r\n            textEditorSetsViewItem.ContextFlyout = new TabContextFlyout(this, textEditor);\r\n\r\n            return textEditorSetsViewItem;\r\n        }\r\n\r\n        private SetsViewItem GetTextEditorSetsViewItem(StorageFile file)\r\n        {\r\n            if (_sets.Items == null) return null;\r\n            foreach (SetsViewItem setsItem in _sets.Items)\r\n            {\r\n                if (!(setsItem.Content is ITextEditor textEditor)) continue;\r\n                if (textEditor.EditingFilePath != null && string.Equals(textEditor.EditingFilePath, file.Path, StringComparison.OrdinalIgnoreCase))\r\n                {\r\n                    return setsItem;\r\n                }\r\n            }\r\n            return null;\r\n        }\r\n\r\n        private SetsViewItem GetTextEditorSetsViewItem(ITextEditor textEditor)\r\n        {\r\n            if (_sets.Items == null) return null;\r\n            foreach (SetsViewItem setsItem in _sets.Items)\r\n            {\r\n                if (setsItem.Content is ITextEditor editor)\r\n                {\r\n                    if (textEditor == editor) return setsItem;\r\n                }\r\n            }\r\n            return null;\r\n        }\r\n\r\n        private void MarkTextEditorSetNotSaved(ITextEditor textEditor)\r\n        {\r\n            if (textEditor == null) return;\r\n            var item = GetTextEditorSetsViewItem(textEditor);\r\n            if (item != null)\r\n            {\r\n                item.Icon.Visibility = Visibility.Visible;\r\n            }\r\n        }\r\n\r\n        private void MarkTextEditorSetSaved(ITextEditor textEditor)\r\n        {\r\n            if (textEditor == null) return;\r\n            var item = GetTextEditorSetsViewItem(textEditor);\r\n            if (item != null)\r\n            {\r\n                if (textEditor.EditingFileName != null)\r\n                {\r\n                    item.Header = textEditor.EditingFileName;\r\n                }\r\n                item.Icon.Visibility = Visibility.Collapsed;\r\n            }\r\n        }\r\n\r\n        private void SetsView_OnSelectionChanged(object sender, RoutedEventArgs e)\r\n        {\r\n            _selectedTextEditor = GetSelectedTextEditor();\r\n        }\r\n\r\n        private void SetsView_OnItemsChanged(object sender, IVectorChangedEventArgs e)\r\n        {\r\n            _allTextEditors = GetAllTextEditors();\r\n        }\r\n\r\n        private void SetsView_OnSetClosing(object sender, SetClosingEventArgs e)\r\n        {\r\n            if (!(e.Set.Content is ITextEditor textEditor)) return;\r\n\r\n            if (TextEditorClosing != null)\r\n            {\r\n                e.Cancel = true;\r\n                TextEditorClosing.Invoke(this, textEditor);\r\n            }\r\n        }\r\n\r\n        private void TextEditor_Loaded(object sender, RoutedEventArgs e)\r\n        {\r\n            if (!(sender is ITextEditor textEditor)) return;\r\n            TextEditorLoaded?.Invoke(this, textEditor);\r\n        }\r\n\r\n        private void TextEditor_Unloaded(object sender, RoutedEventArgs e)\r\n        {\r\n            if (!(sender is ITextEditor textEditor)) return;\r\n            TextEditorUnloaded?.Invoke(this, textEditor);\r\n        }\r\n\r\n        private void TextEditor_OnSelectionChanged(object sender, EventArgs e)\r\n        {\r\n            if (!(sender is ITextEditor textEditor)) return;\r\n            TextEditorSelectionChanged?.Invoke(this, textEditor);\r\n        }\r\n\r\n        private void TextEditor_OnFontZoomFactorChanged(object sender, EventArgs e)\r\n        {\r\n            if (!(sender is ITextEditor textEditor)) return;\r\n            TextEditorFontZoomFactorChanged?.Invoke(this, textEditor);\r\n        }\r\n\r\n        private void TextEditor_OnEditorModificationStateChanged(object sender, EventArgs e)\r\n        {\r\n            if (!(sender is ITextEditor textEditor)) return;\r\n            if (textEditor.IsModified)\r\n            {\r\n                MarkTextEditorSetNotSaved(textEditor);\r\n            }\r\n            else\r\n            {\r\n                MarkTextEditorSetSaved(textEditor);\r\n            }\r\n            TextEditorEditorModificationStateChanged?.Invoke(this, textEditor);\r\n        }\r\n\r\n        private void TextEditor_OnModeChanged(object sender, EventArgs e)\r\n        {\r\n            if (!(sender is ITextEditor textEditor)) return;\r\n            TextEditorModeChanged?.Invoke(this, textEditor);\r\n        }\r\n\r\n        private void TextEditor_OnFileModificationStateChanged(object sender, EventArgs e)\r\n        {\r\n            if (!(sender is ITextEditor textEditor)) return;\r\n            TextEditorFileModificationStateChanged?.Invoke(this, textEditor);\r\n        }\r\n\r\n        private void TextEditor_OnEncodingChanged(object sender, EventArgs e)\r\n        {\r\n            if (!(sender is ITextEditor textEditor)) return;\r\n            TextEditorEncodingChanged?.Invoke(this, textEditor);\r\n        }\r\n\r\n        private void TextEditor_OnLineEndingChanged(object sender, EventArgs e)\r\n        {\r\n            if (!(sender is ITextEditor textEditor)) return;\r\n            TextEditorLineEndingChanged?.Invoke(this, textEditor);\r\n        }\r\n\r\n        private void TextEditor_OnFileRenamed(object sender, EventArgs e)\r\n        {\r\n            if (!(sender is ITextEditor textEditor)) return;\r\n            var item = GetTextEditorSetsViewItem(textEditor);\r\n            if (item == null) return;\r\n            item.Header = textEditor.EditingFileName ?? textEditor.FileNamePlaceholder;\r\n            TextEditorRenamed?.Invoke(this, textEditor);\r\n        }\r\n\r\n        #region DragAndDrop\r\n\r\n        private async void Sets_DragOver(object sender, DragEventArgs args)\r\n        {\r\n            var deferral = args.GetDeferral();\r\n\r\n            bool canHandle = false;\r\n            string dragUICaption = null;\r\n\r\n            if (args.DataView == null)\r\n            {\r\n                deferral.Complete();\r\n                return;\r\n            }\r\n\r\n            if (!string.IsNullOrEmpty(args.DataView?.Properties?.ApplicationName) &&\r\n                string.Equals(args.DataView?.Properties?.ApplicationName, App.ApplicationName))\r\n            {\r\n                args.DataView.Properties.TryGetValue(NotepadsTextEditorMetaData, out object dataObj);\r\n                if (dataObj is string data)\r\n                {\r\n                    canHandle = true;\r\n                    dragUICaption = _resourceLoader.GetString(\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\");\r\n                }\r\n            }\r\n\r\n            if (!canHandle && args.DataView.Contains(StandardDataFormats.StorageItems))\r\n            {\r\n                try\r\n                {\r\n                    var items = await args.DataView.GetStorageItemsAsync();\r\n                    if (items.Count > 0 && items.Any(i => i is StorageFile))\r\n                    {\r\n                        canHandle = true;\r\n                        dragUICaption = _resourceLoader.GetString(\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\");\r\n                    }\r\n                }\r\n                catch\r\n                {\r\n                    deferral.Complete();\r\n                    return;\r\n                }\r\n            }\r\n\r\n            if (canHandle)\r\n            {\r\n                args.Handled = true;\r\n                args.AcceptedOperation = DataPackageOperation.Link;\r\n                try\r\n                {\r\n                    if (args.DragUIOverride != null)\r\n                    {\r\n                        args.DragUIOverride.Caption = dragUICaption;\r\n                        args.DragUIOverride.IsCaptionVisible = true;\r\n                        args.DragUIOverride.IsGlyphVisible = false;\r\n                    }\r\n                }\r\n                catch\r\n                {\r\n                    // ignored\r\n                }\r\n            }\r\n\r\n            deferral.Complete();\r\n        }\r\n\r\n        private void Sets_DragItemsStarting(object sender, DragItemsStartingEventArgs args)\r\n        {\r\n            // In Initial Window we need to serialize our tab data.\r\n            var item = args.Items.FirstOrDefault();\r\n            if (!(item is ITextEditor editor)) return;\r\n\r\n            try\r\n            {\r\n                var data = JsonSerializer.Serialize(editor.GetTextEditorStateMetaData());\r\n\r\n                var lastSavedText = editor.LastSavedSnapshot.Content;\r\n                var pendingText = editor.GetText();\r\n\r\n                args.Data.Properties.Add(NotepadsTextEditorLastSavedContent, lastSavedText);\r\n\r\n                if (!string.Equals(lastSavedText, pendingText))\r\n                {\r\n                    args.Data.Properties.Add(NotepadsTextEditorPendingContent, pendingText);\r\n                }\r\n\r\n                // Add Editing File\r\n                if (editor.EditingFile != null)\r\n                {\r\n                    args.Data.Properties.FileTypes.Add(StandardDataFormats.StorageItems);\r\n                    args.Data.Properties.Add(NotepadsTextEditorEditingFilePath, editor.EditingFilePath);\r\n                    args.Data.SetStorageItems(new List<IStorageItem>() { editor.EditingFile }, readOnly: false);\r\n                }\r\n\r\n                args.Data.Properties.Add(NotepadsTextEditorMetaData, data);\r\n                args.Data.Properties.Add(NotepadsTextEditorGuid, editor.Id.ToString());\r\n                args.Data.Properties.Add(NotepadsInstanceId, App.InstanceId.ToString());\r\n                args.Data.Properties.ApplicationName = App.ApplicationName;\r\n\r\n                ApplicationSettingsStore.Write(SetDragAndDropActionStatus, \"Started\");\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(NotepadsCore)}] Failed to prepare editor meta data for drag and drop: {ex.Message}\");\r\n            }\r\n        }\r\n\r\n        private async void Sets_Drop(object sender, DragEventArgs args)\r\n        {\r\n            if (!(sender is SetsView sets))\r\n            {\r\n                return;\r\n            }\r\n\r\n            // Handle non Notepads drop event\r\n            if (string.IsNullOrEmpty(args.DataView?.Properties?.ApplicationName) ||\r\n                !string.Equals(args.DataView?.Properties?.ApplicationName, App.ApplicationName))\r\n            {\r\n                if (args.DataView == null || !args.DataView.Contains(StandardDataFormats.StorageItems)) return;\r\n                var fileDropDeferral = args.GetDeferral();\r\n                var storageItems = await args.DataView.GetStorageItemsAsync();\r\n                StorageItemsDropped?.Invoke(this, storageItems);\r\n                fileDropDeferral.Complete();\r\n                return;\r\n            }\r\n\r\n            var deferral = args.GetDeferral();\r\n\r\n            try\r\n            {\r\n                args.DataView.Properties.TryGetValue(NotepadsTextEditorMetaData, out object dataObj);\r\n\r\n                if (!(dataObj is string data)) throw new Exception(\"Failed to drop editor set: NotepadsTextEditorMetaData is invalid (Not String).\");\r\n\r\n                TextEditorStateMetaData metaData = JsonSerializer.Deserialize<TextEditorStateMetaData>(data);\r\n\r\n                if (args.DataView.Properties.TryGetValue(NotepadsTextEditorEditingFilePath,\r\n                        out object editingFilePathObj) && editingFilePathObj is string editingFilePath)\r\n                {\r\n                    var editor = GetTextEditor(editingFilePath);\r\n                    if (editor != null)\r\n                    {\r\n                        SwitchTo(editor);\r\n                        NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"TextEditor_NotificationMsg_FileAlreadyOpened\"), 2500);\r\n                        throw new Exception(\"Failed to drop editor set: File already opened.\");\r\n                    }\r\n                }\r\n\r\n                StorageFile editingFile = null;\r\n\r\n                if (metaData.HasEditingFile && args.DataView.Contains(StandardDataFormats.StorageItems))\r\n                {\r\n                    var storageItems = await args.DataView.GetStorageItemsAsync();\r\n                    if (storageItems.Count == 1 && storageItems[0] is StorageFile file)\r\n                    {\r\n                        editingFile = file;\r\n                    }\r\n                    else\r\n                    {\r\n                        throw new Exception(\"Failed to read storage file from dropped set: Expecting only one storage file.\");\r\n                    }\r\n                }\r\n\r\n                string lastSavedText = null;\r\n                string pendingText = null;\r\n\r\n                if (args.DataView.Properties.TryGetValue(NotepadsTextEditorLastSavedContent, out object lastSavedContentObj) &&\r\n                    lastSavedContentObj is string lastSavedContent)\r\n                {\r\n                    lastSavedText = lastSavedContent;\r\n                }\r\n                else\r\n                {\r\n                    throw new Exception($\"Failed to get last saved content from DataView: NotepadsTextEditorLastSavedContent property Is null\");\r\n                }\r\n\r\n                if (args.DataView.Properties.TryGetValue(NotepadsTextEditorPendingContent, out object pendingContentObj) &&\r\n                    pendingContentObj is string pendingContent)\r\n                {\r\n                    pendingText = pendingContent;\r\n                }\r\n\r\n                ApplicationSettingsStore.Write(SetDragAndDropActionStatus, \"Handled\");\r\n\r\n                var index = -1;\r\n\r\n                // Determine which items in the list our pointer is in between.\r\n                for (int i = 0; i < sets.Items?.Count; i++)\r\n                {\r\n                    var item = sets.ContainerFromIndex(i) as SetsViewItem;\r\n\r\n                    if (args.GetPosition(item).X - item?.ActualWidth < 0)\r\n                    {\r\n                        index = i;\r\n                        break;\r\n                    }\r\n                }\r\n\r\n                var atIndex = index == -1 ? sets.Items.Count : index;\r\n\r\n                var textFile = new TextFile(lastSavedText,\r\n                    EncodingUtility.GetEncodingByName(metaData.LastSavedEncoding),\r\n                    LineEndingUtility.GetLineEndingByName(metaData.LastSavedLineEnding),\r\n                    metaData.DateModifiedFileTime);\r\n\r\n                var newEditor = CreateTextEditor(Guid.NewGuid(), textFile, editingFile, metaData.FileNamePlaceholder, metaData.IsModified);\r\n                OpenTextEditor(newEditor, atIndex);\r\n                newEditor.ResetEditorState(metaData, pendingText);\r\n\r\n                if (metaData.IsContentPreviewPanelOpened)\r\n                {\r\n                    newEditor.ShowHideContentPreview();\r\n                }\r\n\r\n                if (metaData.IsInDiffPreviewMode)\r\n                {\r\n                    newEditor.OpenSideBySideDiffViewer();\r\n                }\r\n\r\n                deferral.Complete();\r\n                AnalyticsService.TrackEvent(\"OnSetDropped\");\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogException(ex);\r\n                deferral.Complete();\r\n            }\r\n        }\r\n\r\n        private void Sets_DragItemsCompleted(ListViewBase sender, DragItemsCompletedEventArgs args)\r\n        {\r\n            if (ApplicationSettingsStore.Read(SetDragAndDropActionStatus) is string setDragAndDropActionStatus && setDragAndDropActionStatus == \"Handled\")\r\n            {\r\n                if (args.Items.FirstOrDefault() is ITextEditor editor)\r\n                {\r\n                    TextEditorMovedToAnotherAppInstance?.Invoke(this, editor);\r\n                }\r\n            }\r\n\r\n            ApplicationSettingsStore.Remove(SetDragAndDropActionStatus);\r\n        }\r\n\r\n        private async void Sets_SetDraggedOutside(object sender, SetDraggedOutsideEventArgs e)\r\n        {\r\n            if (_sets.Items?.Count > 1 && e.Set?.Content is ITextEditor textEditor)\r\n            {\r\n                // Only allow untitled empty document to be dragged outside for now\r\n                if (!textEditor.IsModified && textEditor.EditingFile == null)\r\n                {\r\n                    DeleteTextEditor(textEditor);\r\n                    await NotepadsProtocolService.LaunchProtocolAsync(NotepadsOperationProtocol.OpenNewInstance);\r\n                }\r\n            }\r\n        }\r\n\r\n        #endregion\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Core/SessionDataModels/NotepadsSessionData.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Core.SessionDataModels\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n\r\n    internal sealed class NotepadsSessionDataV1\r\n    {\r\n        public int Version { get; set; } = 1;\r\n\r\n        public Guid SelectedTextEditor { get; set; }\r\n\r\n        public double TabScrollViewerHorizontalOffset { get; set; } = 0;\r\n\r\n        public List<TextEditorSessionDataV1> TextEditors { get; set; } = new List<TextEditorSessionDataV1>();\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Core/SessionDataModels/TextEditorSessionData.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Core.SessionDataModels\r\n{\r\n    using System;\r\n    using Notepads.Controls.TextEditor;\r\n\r\n    internal sealed class TextEditorSessionDataV1\r\n    {\r\n        public Guid Id { get; set; }\r\n\r\n        public string LastSavedBackupFilePath { get; set; }\r\n\r\n        public string PendingBackupFilePath { get; set; }\r\n\r\n        public string EditingFileFutureAccessToken { get; set; }\r\n\r\n        public string EditingFileName { get; set; }\r\n\r\n        public string EditingFilePath { get; set; }\r\n\r\n        public TextEditorStateMetaData StateMetaData { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Core/SessionManager.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Core\r\n{\r\n    using System;\r\n    using System.Collections.Concurrent;\r\n    using System.Collections.Generic;\r\n    using System.Diagnostics;\r\n    using System.Linq;\r\n    using System.Text;\r\n    using System.Text.Json;\r\n    using System.Threading;\r\n    using System.Threading.Tasks;\r\n    using Windows.Storage;\r\n    using Windows.Storage.AccessCache;\r\n    using Notepads.Controls.TextEditor;\r\n    using Notepads.Core.SessionDataModels;\r\n    using Notepads.Models;\r\n    using Notepads.Services;\r\n    using Notepads.Utilities;\r\n    using Windows.System;\r\n\r\n    public sealed class SessionDataCorruptedException : Exception\r\n    {\r\n        public SessionDataCorruptedException(string message) : base(message)\r\n        {\r\n        }\r\n    }\r\n\r\n    internal sealed class SessionManager : ISessionManager, IDisposable\r\n    {\r\n        private static readonly TimeSpan SaveInterval = TimeSpan.FromSeconds(7);\r\n        private readonly INotepadsCore _notepadsCore;\r\n        private readonly SemaphoreSlim _semaphoreSlim;\r\n        private readonly ConcurrentDictionary<Guid, TextEditorSessionDataV1> _sessionDataCache;\r\n        private string _lastSessionJsonStr;\r\n        private bool _loaded;\r\n        private Timer _timer;\r\n\r\n        private readonly string _backupFolderName;\r\n        private readonly string _sessionMetaDataFileName;\r\n\r\n        /// <summary>\r\n        /// Do not call this constructor directly. Use <see cref=\"SessionUtility.GetSessionManager(INotepadsCore)\" instead./>\r\n        /// </summary>\r\n        public SessionManager(INotepadsCore notepadsCore, string backupFolderName, string sessionMetaDataFileName)\r\n        {\r\n            _notepadsCore = notepadsCore;\r\n            _backupFolderName = backupFolderName;\r\n            _sessionMetaDataFileName = sessionMetaDataFileName;\r\n            _semaphoreSlim = new SemaphoreSlim(1, 1);\r\n            _sessionDataCache = new ConcurrentDictionary<Guid, TextEditorSessionDataV1>();\r\n            _loaded = false;\r\n\r\n            foreach (var editor in _notepadsCore.GetAllTextEditors())\r\n            {\r\n                BindEditorContentStateChangeEvent(this, editor);\r\n            }\r\n\r\n            _notepadsCore.TextEditorLoaded += BindEditorContentStateChangeEvent;\r\n            _notepadsCore.TextEditorUnloaded += UnbindEditorContentStateChangeEvent;\r\n        }\r\n\r\n        public bool IsBackupEnabled { get; set; }\r\n\r\n        public async Task<int> LoadLastSessionAsync()\r\n        {\r\n            if (_loaded)\r\n            {\r\n                return 0; // Already loaded\r\n            }\r\n\r\n            bool sessionDataFileExists = await SessionUtility.IsSessionMetaDataFileExists(_sessionMetaDataFileName);\r\n\r\n            if (!sessionDataFileExists)\r\n            {\r\n                return 0; // No session data found\r\n            }\r\n\r\n            NotepadsSessionDataV1 sessionData;\r\n\r\n            try\r\n            {\r\n                string sessionDataContent = await SessionUtility.GetSerializedSessionMetaDataAsync(_sessionMetaDataFileName);\r\n                var json = JsonDocument.Parse(sessionDataContent);\r\n                var version = json.RootElement.GetProperty(\"Version\").GetInt32();\r\n\r\n                if (version == 1)\r\n                {\r\n                    sessionData = JsonSerializer.Deserialize<NotepadsSessionDataV1>(sessionDataContent);\r\n                }\r\n                else\r\n                {\r\n                    throw new Exception($\"Invalid version found in session metadata: {version}\");\r\n                }\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                // Failed to load session data, throw exception to indicate session data is corrupted\r\n                throw new SessionDataCorruptedException(ex.Message);\r\n            }\r\n\r\n            IList<ITextEditor> recoveredEditor = new List<ITextEditor>();\r\n\r\n            foreach (var textEditorData in sessionData.TextEditors)\r\n            {\r\n                ITextEditor textEditor;\r\n\r\n                try\r\n                {\r\n                    textEditor = await RecoverTextEditorAsync(textEditorData);\r\n                }\r\n                catch (Exception ex)\r\n                {\r\n                    LoggingService.LogError($\"[{nameof(SessionManager)}] Failed to recover TextEditor: {ex.Message}\");\r\n                    AnalyticsService.TrackEvent(\"SessionManager_FailedToRecoverTextEditor\", new Dictionary<string, string>() { { \"Exception\", ex.Message } });\r\n                    continue;\r\n                }\r\n\r\n                if (textEditor != null)\r\n                {\r\n                    recoveredEditor.Add(textEditor);\r\n                    _sessionDataCache.TryAdd(textEditor.Id, textEditorData);\r\n                }\r\n            }\r\n\r\n            _notepadsCore.OpenTextEditors(recoveredEditor.ToArray(), sessionData.SelectedTextEditor);\r\n            _notepadsCore.SetTabScrollViewerHorizontalOffset(sessionData.TabScrollViewerHorizontalOffset);\r\n\r\n            _loaded = true;\r\n\r\n            LoggingService.LogInfo($\"[{nameof(SessionManager)}] {_sessionDataCache.Count} tab(s) restored from last session.\");\r\n\r\n            return _sessionDataCache.Count;\r\n        }\r\n\r\n        public async Task<int> RecoverBackupFilesAsync()\r\n        {\r\n            int numberOfRecoveredFiles = 0;\r\n\r\n            // Rename all backup files to indicate they are corrupted with an extension of \".txt\" to avoid being deleted\r\n            foreach (StorageFile backupFile in await SessionUtility.GetAllFilesInBackupFolderAsync(_backupFolderName))\r\n            {\r\n                if (backupFile.Name.Contains(\".\")) continue; // Skip files with extension\r\n\r\n                try\r\n                {\r\n                    await backupFile.RenameAsync(backupFile.Name + \"-Corrupted.txt\");\r\n                    numberOfRecoveredFiles++;\r\n                }\r\n                catch (Exception)\r\n                {\r\n                    // Best effort\r\n                }\r\n            }\r\n\r\n            return numberOfRecoveredFiles;\r\n        }\r\n\r\n        public async Task OpenSessionBackupFolderAsync()\r\n        {\r\n            await Launcher.LaunchFolderAsync(await SessionUtility.GetBackupFolderAsync(_backupFolderName));\r\n        }\r\n\r\n        public async Task SaveSessionAsync(Action actionAfterSaving = null)\r\n        {\r\n            if (!IsBackupEnabled)\r\n            {\r\n                LoggingService.LogInfo($\"[{nameof(SessionManager)}] Session backup is disabled.\");\r\n                return;\r\n            }\r\n\r\n            // Serialize saves\r\n            await _semaphoreSlim.WaitAsync();\r\n\r\n            if (!IsBackupEnabled) return; // Check again after SemaphoreSlim released\r\n\r\n            Stopwatch stopwatch = Stopwatch.StartNew();\r\n\r\n            ITextEditor[] textEditors = _notepadsCore.GetAllTextEditors();\r\n\r\n            if (textEditors == null || textEditors.Length == 0)\r\n            {\r\n                await ClearSessionDataAsync();\r\n                actionAfterSaving?.Invoke();\r\n                _semaphoreSlim.Release();\r\n                return;\r\n            }\r\n\r\n            ITextEditor selectedTextEditor = _notepadsCore.GetSelectedTextEditor();\r\n\r\n            NotepadsSessionDataV1 sessionData = new NotepadsSessionDataV1();\r\n\r\n            foreach (ITextEditor textEditor in textEditors)\r\n            {\r\n                try\r\n                {\r\n                    var textEditorSessionData = await GetTextEditorSessionDataAsync(textEditor);\r\n\r\n                    if (textEditorSessionData == null) continue;\r\n\r\n                    sessionData.TextEditors.Add(textEditorSessionData);\r\n\r\n                    if (textEditor == selectedTextEditor)\r\n                    {\r\n                        sessionData.SelectedTextEditor = textEditor.Id;\r\n                    }\r\n                }\r\n                catch (Exception ex)\r\n                {\r\n                    LoggingService.LogError($\"[{nameof(SessionManager)}] Failed to build TextEditor session data: {ex}\");\r\n                    AnalyticsService.TrackEvent(\"SessionManager_FailedToBuildTextEditorSessionData\", new Dictionary<string, string>() { { \"Exception\", ex.Message } });\r\n                }\r\n            }\r\n\r\n            sessionData.TabScrollViewerHorizontalOffset =\r\n                _notepadsCore.GetTabScrollViewerHorizontalOffset();\r\n\r\n            bool sessionDataSaved = false;\r\n\r\n            try\r\n            {\r\n                string sessionJsonStr = JsonSerializer.Serialize(sessionData, new JsonSerializerOptions { WriteIndented = true });\r\n\r\n                if (_lastSessionJsonStr == null || !string.Equals(_lastSessionJsonStr, sessionJsonStr, StringComparison.OrdinalIgnoreCase))\r\n                {\r\n                    // write\r\n                    await SessionUtility.SaveSerializedSessionMetaDataAsync(sessionJsonStr, _sessionMetaDataFileName);\r\n                    _lastSessionJsonStr = sessionJsonStr;\r\n                    sessionDataSaved = true;\r\n                }\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(SessionManager)}] Failed to save session metadata: {ex.Message}\");\r\n                AnalyticsService.TrackEvent(\"SessionManager_FailedToSaveSessionMetaData\", new Dictionary<string, string>() { { \"Exception\", ex.Message } });\r\n                actionAfterSaving?.Invoke();\r\n                _semaphoreSlim.Release();\r\n                return; // Failed to save the session - do not proceed to delete backup files\r\n            }\r\n\r\n            if (sessionDataSaved)\r\n            {\r\n                try\r\n                {\r\n                    await DeleteOrphanedBackupFilesAsync(sessionData);\r\n                }\r\n                catch (Exception ex)\r\n                {\r\n                    AnalyticsService.TrackEvent(\"SessionManager_FailedToDeleteOrphanedBackupFiles\",\r\n                        new Dictionary<string, string>() { { \"Exception\", ex.Message } });\r\n                }\r\n\r\n                try\r\n                {\r\n                    DeleteOrphanedTokensInFutureAccessList(sessionData);\r\n                }\r\n                catch (Exception ex)\r\n                {\r\n                    AnalyticsService.TrackEvent(\"SessionManager_FailedToDeleteOrphanedTokensInFutureAccessList\",\r\n                        new Dictionary<string, string>() { { \"Exception\", ex.Message } });\r\n                }\r\n            }\r\n\r\n            stopwatch.Stop();\r\n\r\n            if (sessionDataSaved)\r\n            {\r\n                LoggingService.LogInfo($\"[{nameof(SessionManager)}] Successfully saved the current session. Total time: {stopwatch.Elapsed.TotalMilliseconds} milliseconds.\", consoleOnly: true);\r\n            }\r\n\r\n            actionAfterSaving?.Invoke();\r\n            _semaphoreSlim.Release();\r\n        }\r\n\r\n        private async Task<TextEditorSessionDataV1> GetTextEditorSessionDataAsync(ITextEditor textEditor)\r\n        {\r\n            if (_sessionDataCache.TryGetValue(textEditor.Id, out TextEditorSessionDataV1 textEditorSessionData))\r\n            {\r\n                // We will not create new backup files for this text editor unless it has content changes\r\n                // But we should update latest TextEditor state meta data\r\n                textEditorSessionData.StateMetaData = textEditor.GetTextEditorStateMetaData();\r\n            }\r\n            else // Text content has been changed or editor has not backed up yet\r\n            {\r\n                textEditorSessionData = await BuildTextEditorSessionDataAsync(textEditor);\r\n\r\n                if (textEditorSessionData == null)\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                _sessionDataCache.TryAdd(textEditor.Id, textEditorSessionData);\r\n            }\r\n\r\n            return textEditorSessionData;\r\n        }\r\n\r\n        private async Task<TextEditorSessionDataV1> BuildTextEditorSessionDataAsync(ITextEditor textEditor)\r\n        {\r\n            TextEditorSessionDataV1 textEditorData = new TextEditorSessionDataV1\r\n            {\r\n                Id = textEditor.Id,\r\n            };\r\n\r\n            if (textEditor.EditingFile != null)\r\n            {\r\n                // Add the opened file to FutureAccessList so we can access it next launch\r\n                var futureAccessToken = ToToken(textEditor.Id);\r\n                await FutureAccessListUtility.TryAddOrReplaceTokenInFutureAccessListAsync(futureAccessToken, textEditor.EditingFile);\r\n                textEditorData.EditingFileFutureAccessToken = futureAccessToken;\r\n                textEditorData.EditingFileName = textEditor.EditingFileName;\r\n                textEditorData.EditingFilePath = textEditor.EditingFilePath;\r\n            }\r\n\r\n            if (textEditor.IsModified)\r\n            {\r\n                if (textEditor.EditingFile != null)\r\n                {\r\n                    // Persist the last save known to the app, which might not be up-to-date (if the file was modified outside the app)\r\n                    var lastSavedBackupFile = await SessionUtility.CreateNewFileInBackupFolderAsync(\r\n                        ToToken(textEditor.Id) + \"-LastSaved\",\r\n                        CreationCollisionOption.ReplaceExisting,\r\n                        _backupFolderName);\r\n\r\n                    if (!await BackupTextAsync(textEditor.LastSavedSnapshot.Content,\r\n                        textEditor.LastSavedSnapshot.Encoding,\r\n                        textEditor.LastSavedSnapshot.LineEnding,\r\n                        lastSavedBackupFile))\r\n                    {\r\n                        return null; // Error: Failed to write backup text to file\r\n                    }\r\n\r\n                    textEditorData.LastSavedBackupFilePath = lastSavedBackupFile.Path;\r\n                }\r\n\r\n                if (textEditor.EditingFile == null ||\r\n                    !string.Equals(textEditor.LastSavedSnapshot.Content, textEditor.GetText()))\r\n                {\r\n                    // Persist pending changes relative to the last save\r\n                    var pendingBackupFile = await SessionUtility.CreateNewFileInBackupFolderAsync(\r\n                        ToToken(textEditor.Id) + \"-Pending\",\r\n                        CreationCollisionOption.ReplaceExisting,\r\n                        _backupFolderName);\r\n\r\n                    if (!await BackupTextAsync(textEditor.GetText(),\r\n                        textEditor.LastSavedSnapshot.Encoding,\r\n                        textEditor.LastSavedSnapshot.LineEnding,\r\n                        pendingBackupFile))\r\n                    {\r\n                        return null; // Error: Failed to write backup text to file\r\n                    }\r\n\r\n                    textEditorData.PendingBackupFilePath = pendingBackupFile.Path;\r\n                }\r\n            }\r\n\r\n            textEditorData.StateMetaData = textEditor.GetTextEditorStateMetaData();\r\n\r\n            return textEditorData;\r\n        }\r\n\r\n        public void StartSessionBackup(bool startImmediately = false)\r\n        {\r\n            if (_timer == null)\r\n            {\r\n                LoggingService.LogInfo($\"[{nameof(SessionManager)}] Session backup process started (StartImmediately = {startImmediately}).\");\r\n\r\n                Timer timer = new Timer(async (obj) => await SaveSessionAsync());\r\n\r\n                if (Interlocked.CompareExchange(ref _timer, timer, null) == null)\r\n                {\r\n                    var delay = startImmediately ? TimeSpan.Zero : SaveInterval;\r\n                    timer.Change(delay, SaveInterval);\r\n                }\r\n                else\r\n                {\r\n                    timer.Dispose();\r\n                }\r\n            }\r\n        }\r\n\r\n        public void StopSessionBackup()\r\n        {\r\n            Timer timer = _timer;\r\n\r\n            try\r\n            {\r\n                timer?.Dispose();\r\n            }\r\n            catch\r\n            {\r\n                // Best effort\r\n            }\r\n            finally\r\n            {\r\n                Interlocked.CompareExchange(ref _timer, null, timer);\r\n            }\r\n        }\r\n\r\n        public async Task ClearSessionDataAsync()\r\n        {\r\n            _lastSessionJsonStr = null;\r\n            try\r\n            {\r\n                await SessionUtility.DeleteSerializedSessionMetaDataAsync(_sessionMetaDataFileName);\r\n                LoggingService.LogInfo($\"[{nameof(SessionManager)}] Successfully deleted session meta data.\");\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(SessionManager)}] Failed to delete session meta data: {ex.Message}\");\r\n                AnalyticsService.TrackEvent(\"SessionManager_FailedToDeleteSessionMetaData\", new Dictionary<string, string>() { { \"Exception\", ex.Message } });\r\n            }\r\n        }\r\n\r\n        private void BindEditorContentStateChangeEvent(object sender, ITextEditor textEditor)\r\n        {\r\n            // All text or file related events\r\n            textEditor.TextChanging += RemoveTextEditorSessionData;\r\n            textEditor.ChangeReverted += RemoveTextEditorSessionData;\r\n            textEditor.FileSaved += RemoveTextEditorSessionData;\r\n            textEditor.FileReloaded += RemoveTextEditorSessionData;\r\n        }\r\n\r\n        private void UnbindEditorContentStateChangeEvent(object sender, ITextEditor textEditor)\r\n        {\r\n            // All text or file related events\r\n            textEditor.TextChanging -= RemoveTextEditorSessionData;\r\n            textEditor.ChangeReverted -= RemoveTextEditorSessionData;\r\n            textEditor.FileSaved -= RemoveTextEditorSessionData;\r\n            textEditor.FileReloaded -= RemoveTextEditorSessionData;\r\n        }\r\n\r\n        private async Task<ITextEditor> RecoverTextEditorAsync(TextEditorSessionDataV1 editorSessionData)\r\n        {\r\n            StorageFile editingFile = null;\r\n\r\n            if (editorSessionData.EditingFileFutureAccessToken != null)\r\n            {\r\n                editingFile = await FutureAccessListUtility.GetFileFromFutureAccessListAsync(editorSessionData.EditingFileFutureAccessToken);\r\n            }\r\n\r\n            string lastSavedFile = editorSessionData.LastSavedBackupFilePath;\r\n            string pendingFile = editorSessionData.PendingBackupFilePath;\r\n\r\n            ITextEditor textEditor;\r\n\r\n            if (editingFile == null && lastSavedFile == null && pendingFile == null)\r\n            {\r\n                textEditor = null;\r\n            }\r\n            else if (editingFile != null && lastSavedFile == null && pendingFile == null) // File without pending changes\r\n            {\r\n                var encoding = EncodingUtility.GetEncodingByName(editorSessionData.StateMetaData.LastSavedEncoding);\r\n                textEditor = await _notepadsCore.CreateTextEditorAsync(editorSessionData.Id, editingFile, encoding: encoding, ignoreFileSizeLimit: true);\r\n                textEditor.ResetEditorState(editorSessionData.StateMetaData);\r\n            }\r\n            else // File with pending changes\r\n            {\r\n                string lastSavedText = string.Empty;\r\n                string pendingText = null;\r\n\r\n                if (lastSavedFile != null)\r\n                {\r\n                    TextFile lastSavedTextFile = await FileSystemUtility.ReadFileAsync(lastSavedFile, ignoreFileSizeLimit: true,\r\n                    EncodingUtility.GetEncodingByName(editorSessionData.StateMetaData.LastSavedEncoding));\r\n                    lastSavedText = lastSavedTextFile.Content;\r\n                }\r\n\r\n                var textFile = new TextFile(lastSavedText,\r\n                    EncodingUtility.GetEncodingByName(editorSessionData.StateMetaData.LastSavedEncoding),\r\n                    LineEndingUtility.GetLineEndingByName(editorSessionData.StateMetaData.LastSavedLineEnding),\r\n                    editorSessionData.StateMetaData.DateModifiedFileTime);\r\n\r\n                textEditor = _notepadsCore.CreateTextEditor(\r\n                    editorSessionData.Id,\r\n                    textFile,\r\n                    editingFile,\r\n                    editorSessionData.StateMetaData.FileNamePlaceholder,\r\n                    editorSessionData.StateMetaData.IsModified);\r\n\r\n                if (pendingFile != null)\r\n                {\r\n                    TextFile pendingTextFile = await FileSystemUtility.ReadFileAsync(pendingFile,\r\n                        ignoreFileSizeLimit: true,\r\n                        EncodingUtility.GetEncodingByName(editorSessionData.StateMetaData.LastSavedEncoding));\r\n                    pendingText = pendingTextFile.Content;\r\n                }\r\n\r\n                textEditor.ResetEditorState(editorSessionData.StateMetaData, pendingText);\r\n            }\r\n\r\n            return textEditor;\r\n        }\r\n\r\n        private static async Task<bool> BackupTextAsync(string text, Encoding encoding, LineEnding lineEnding, StorageFile file)\r\n        {\r\n            try\r\n            {\r\n                await FileSystemUtility.WriteTextToFileAsync(file, LineEndingUtility.ApplyLineEnding(text, lineEnding), encoding);\r\n                return true;\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(SessionManager)}] Failed to save backup file: {ex.Message}\");\r\n                AnalyticsService.TrackEvent(\"SessionManager_FailedToSaveBackupFile\", new Dictionary<string, string>() { { \"Exception\", ex.Message } });\r\n                return false;\r\n            }\r\n        }\r\n\r\n        // Cleanup orphaned/dangling backup files\r\n        private async Task DeleteOrphanedBackupFilesAsync(NotepadsSessionDataV1 sessionData)\r\n        {\r\n            HashSet<string> backupPaths = sessionData.TextEditors\r\n                .SelectMany(editor => new[] { editor.LastSavedBackupFilePath, editor.PendingBackupFilePath })\r\n                .Where(path => path != null)\r\n                .ToHashSet(StringComparer.OrdinalIgnoreCase);\r\n\r\n            foreach (StorageFile backupFile in await SessionUtility.GetAllFilesInBackupFolderAsync(_backupFolderName))\r\n            {\r\n                if (backupPaths.Contains(backupFile.Path)) continue; // Skip files that are known to be used\r\n\r\n                // Only delete files with no extension (by contract, all backup files have no extension)\r\n                if (backupFile.Name.Contains(\".\")) continue;\r\n\r\n                try\r\n                {\r\n                    await backupFile.DeleteAsync();\r\n                }\r\n                catch (Exception ex)\r\n                {\r\n                    LoggingService.LogError($\"[{nameof(SessionManager)}] Failed to delete orphaned backup file: {ex.Message}\");\r\n                }\r\n            }\r\n        }\r\n\r\n        // Cleanup orphaned/dangling entries in FutureAccessList\r\n        private void DeleteOrphanedTokensInFutureAccessList(NotepadsSessionDataV1 sessionData)\r\n        {\r\n            HashSet<string> tokens = sessionData.TextEditors\r\n                .SelectMany(editor => new[] { editor.EditingFileFutureAccessToken })\r\n                .Where(token => token != null)\r\n                .ToHashSet(StringComparer.OrdinalIgnoreCase);\r\n\r\n            var tokensToBeDeleted = new List<string>();\r\n\r\n            foreach (var entry in StorageApplicationPermissions.FutureAccessList.Entries)\r\n            {\r\n                if (!tokens.Contains(entry.Token))\r\n                {\r\n                    tokensToBeDeleted.Add(entry.Token);\r\n                }\r\n            }\r\n\r\n            foreach (var tokenToBeDel in tokensToBeDeleted)\r\n            {\r\n                try\r\n                {\r\n                    StorageApplicationPermissions.FutureAccessList.Remove(tokenToBeDel);\r\n                }\r\n                catch (Exception ex)\r\n                {\r\n                    LoggingService.LogError($\"[{nameof(SessionManager)}] Failed to delete orphaned token in FutureAccessList: {ex.Message}\");\r\n                    AnalyticsService.TrackEvent(\"SessionManager_FailedToDeleteOrphanedTokenInFutureAccessList\", new Dictionary<string, string>() { { \"Exception\", ex.Message } });\r\n                }\r\n            }\r\n        }\r\n\r\n        private static string ToToken(Guid textEditorId)\r\n        {\r\n            return textEditorId.ToString(\"N\");\r\n        }\r\n\r\n        private void RemoveTextEditorSessionData(object sender, EventArgs e)\r\n        {\r\n            if (sender is ITextEditor textEditor)\r\n            {\r\n                _sessionDataCache.TryRemove(textEditor.Id, out _);\r\n            }\r\n        }\r\n\r\n        public void Dispose()\r\n        {\r\n            if (_notepadsCore != null)\r\n            {\r\n                _notepadsCore.TextEditorLoaded -= BindEditorContentStateChangeEvent;\r\n                _notepadsCore.TextEditorUnloaded -= UnbindEditorContentStateChangeEvent;\r\n            }\r\n\r\n            _semaphoreSlim?.Dispose();\r\n            _timer?.Dispose();\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Core/TabContextFlyout.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Core\r\n{\r\n    using System;\r\n    using System.IO;\r\n    using System.Threading.Tasks;\r\n    using Notepads.Controls.Dialog;\r\n    using Notepads.Controls.TextEditor;\r\n    using Notepads.Services;\r\n    using Notepads.Utilities;\r\n    using Windows.ApplicationModel.DataTransfer;\r\n    using Windows.ApplicationModel.Resources;\r\n    using Windows.System;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Input;\r\n\r\n    public sealed class TabContextFlyout : MenuFlyout\r\n    {\r\n        private MenuFlyoutItem _close;\r\n        private MenuFlyoutItem _closeOthers;\r\n        private MenuFlyoutItem _closeRight;\r\n        private MenuFlyoutItem _closeSaved;\r\n        private MenuFlyoutItem _copyFullPath;\r\n        private MenuFlyoutItem _openContainingFolder;\r\n        private MenuFlyoutItem _rename;\r\n\r\n        private string _filePath;\r\n        private string _containingFolderPath;\r\n\r\n        private readonly INotepadsCore _notepadsCore;\r\n        private readonly ITextEditor _textEditor;\r\n\r\n        private readonly ResourceLoader _resourceLoader = ResourceLoader.GetForCurrentView();\r\n\r\n        public TabContextFlyout(INotepadsCore notepadsCore, ITextEditor textEditor)\r\n        {\r\n            _notepadsCore = notepadsCore;\r\n            _textEditor = textEditor;\r\n\r\n            Items.Add(Close);\r\n            Items.Add(CloseOthers);\r\n            Items.Add(CloseRight);\r\n            Items.Add(CloseSaved);\r\n            Items.Add(new MenuFlyoutSeparator());\r\n            Items.Add(CopyFullPath);\r\n            Items.Add(OpenContainingFolder);\r\n            Items.Add(new MenuFlyoutSeparator());\r\n            Items.Add(Rename);\r\n\r\n            var style = new Style(typeof(MenuFlyoutPresenter));\r\n            style.Setters.Add(new Setter(Control.BorderThicknessProperty, 0));\r\n            MenuFlyoutPresenterStyle = style;\r\n\r\n            Opening += TabContextFlyout_Opening;\r\n            Closed += TabContextFlyout_Closed;\r\n        }\r\n\r\n        public void Dispose()\r\n        {\r\n            Opening -= TabContextFlyout_Opening;\r\n            Closed -= TabContextFlyout_Closed;\r\n        }\r\n\r\n        private void TabContextFlyout_Opening(object sender, object e)\r\n        {\r\n            var isFileReadonly = false;\r\n            if (_textEditor.EditingFile != null)\r\n            {\r\n                _filePath = _textEditor.EditingFile.Path;\r\n                _containingFolderPath = Path.GetDirectoryName(_filePath);\r\n                isFileReadonly = FileSystemUtility.IsFileReadOnly(_textEditor.EditingFile);\r\n            }\r\n\r\n            CloseOthers.IsEnabled = CloseRight.IsEnabled = _notepadsCore.GetNumberOfOpenedTextEditors() > 1;\r\n            CopyFullPath.IsEnabled = !string.IsNullOrEmpty(_filePath);\r\n            OpenContainingFolder.IsEnabled = !string.IsNullOrEmpty(_containingFolderPath);\r\n            Rename.IsEnabled = _textEditor.FileModificationState != FileModificationState.RenamedMovedOrDeleted && !isFileReadonly;\r\n\r\n            if (App.IsGameBarWidget)\r\n            {\r\n                OpenContainingFolder.Visibility = Visibility.Collapsed;\r\n            }\r\n        }\r\n\r\n        private void TabContextFlyout_Closed(object sender, object e)\r\n        {\r\n            _notepadsCore.FocusOnSelectedTextEditor();\r\n        }\r\n\r\n        private MenuFlyoutItem Close\r\n        {\r\n            get\r\n            {\r\n                if (_close != null) return _close;\r\n\r\n                _close = new MenuFlyoutItem { Text = _resourceLoader.GetString(\"Tab_ContextFlyout_CloseButtonDisplayText\") };\r\n                _close.Click += (sender, args) => { _notepadsCore.CloseTextEditor(_textEditor); };\r\n                _close.KeyboardAccelerators.Add(new KeyboardAccelerator()\r\n                {\r\n                    Modifiers = VirtualKeyModifiers.Control,\r\n                    Key = VirtualKey.W,\r\n                    IsEnabled = false,\r\n                });\r\n                return _close;\r\n            }\r\n        }\r\n\r\n        private MenuFlyoutItem CloseOthers\r\n        {\r\n            get\r\n            {\r\n                if (_closeOthers != null) return _closeOthers;\r\n\r\n                _closeOthers = new MenuFlyoutItem { Text = _resourceLoader.GetString(\"Tab_ContextFlyout_CloseOthersButtonDisplayText\") };\r\n                _closeOthers.Click += (sender, args) =>\r\n                {\r\n                    ExecuteOnAllTextEditors(\r\n                        (textEditor) =>\r\n                        {\r\n                            if (textEditor != _textEditor)\r\n                            {\r\n                                _notepadsCore.CloseTextEditor(textEditor);\r\n                            }\r\n                        });\r\n                };\r\n                return _closeOthers;\r\n            }\r\n        }\r\n\r\n        private MenuFlyoutItem CloseRight\r\n        {\r\n            get\r\n            {\r\n                if (_closeRight != null) return _closeRight;\r\n\r\n                _closeRight = new MenuFlyoutItem { Text = _resourceLoader.GetString(\"Tab_ContextFlyout_CloseRightButtonDisplayText\") };\r\n                _closeRight.Click += (sender, args) =>\r\n                {\r\n                    bool close = false;\r\n\r\n                    ExecuteOnAllTextEditors(\r\n                        (textEditor) =>\r\n                        {\r\n                            if (textEditor == _textEditor)\r\n                            {\r\n                                close = true;\r\n                            }\r\n                            else if (close)\r\n                            {\r\n                                _notepadsCore.CloseTextEditor(textEditor);\r\n                            }\r\n                        });\r\n                };\r\n                return _closeRight;\r\n            }\r\n        }\r\n\r\n        private MenuFlyoutItem CloseSaved\r\n        {\r\n            get\r\n            {\r\n                if (_closeSaved != null) return _closeSaved;\r\n\r\n                _closeSaved = new MenuFlyoutItem { Text = _resourceLoader.GetString(\"Tab_ContextFlyout_CloseSavedButtonDisplayText\") };\r\n                _closeSaved.Click += (sender, args) =>\r\n                {\r\n                    ExecuteOnAllTextEditors(\r\n                        (textEditor) =>\r\n                        {\r\n                            if (!textEditor.IsModified)\r\n                            {\r\n                                _notepadsCore.CloseTextEditor(textEditor);\r\n                            }\r\n                        });\r\n                };\r\n                return _closeSaved;\r\n            }\r\n        }\r\n\r\n        private MenuFlyoutItem CopyFullPath\r\n        {\r\n            get\r\n            {\r\n                if (_copyFullPath != null) return _copyFullPath;\r\n\r\n                _copyFullPath = new MenuFlyoutItem { Text = _resourceLoader.GetString(\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\") };\r\n                _copyFullPath.Click += (sender, args) =>\r\n                {\r\n                    try\r\n                    {\r\n                        DataPackage dataPackage = new DataPackage { RequestedOperation = DataPackageOperation.Copy };\r\n                        dataPackage.SetText(_filePath);\r\n                        Clipboard.SetContentWithOptions(dataPackage, new ClipboardContentOptions() { IsAllowedInHistory = true, IsRoamable = true });\r\n                        Clipboard.Flush(); // This method allows the content to remain available after the application shuts down.\r\n                        NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"TextEditor_NotificationMsg_FileNameOrPathCopied\"), 1500);\r\n                    }\r\n                    catch (Exception ex)\r\n                    {\r\n                        LoggingService.LogError($\"[{nameof(TabContextFlyout)}] Failed to copy full path: {ex.Message}\");\r\n                    }\r\n                };\r\n                return _copyFullPath;\r\n            }\r\n        }\r\n\r\n        private MenuFlyoutItem OpenContainingFolder\r\n        {\r\n            get\r\n            {\r\n                if (_openContainingFolder != null) return _openContainingFolder;\r\n\r\n                _openContainingFolder = new MenuFlyoutItem { Text = _resourceLoader.GetString(\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\") };\r\n                _openContainingFolder.Click += async (sender, args) =>\r\n                {\r\n                    try\r\n                    {\r\n                        await Launcher.LaunchFolderPathAsync(_containingFolderPath);\r\n                    }\r\n                    catch (Exception ex)\r\n                    {\r\n                        LoggingService.LogError($\"[{nameof(TabContextFlyout)}] Failed to open containing folder: {ex.Message}\");\r\n                    }\r\n                };\r\n                return _openContainingFolder;\r\n            }\r\n        }\r\n\r\n        private MenuFlyoutItem Rename\r\n        {\r\n            get\r\n            {\r\n                if (_rename != null) return _rename;\r\n\r\n                _rename = new MenuFlyoutItem() { Text = _resourceLoader.GetString(\"Tab_ContextFlyout_RenameButtonDisplayText\") };\r\n                _rename.KeyboardAccelerators.Add(new KeyboardAccelerator()\r\n                {\r\n                    Key = VirtualKey.F2,\r\n                    IsEnabled = false,\r\n                });\r\n                _rename.Click += async (sender, args) =>\r\n                {\r\n                    _notepadsCore.SwitchTo(_textEditor);\r\n\r\n                    await Task.Delay(10); // Give notepads core enough time to switch to the selected editor\r\n\r\n                    var fileRenameDialog = new FileRenameDialog(_textEditor.EditingFileName ?? _textEditor.FileNamePlaceholder,\r\n                        fileExists: _textEditor.EditingFile != null,\r\n                        confirmedAction: async (newFilename) =>\r\n                        {\r\n                            try\r\n                            {\r\n                                await _textEditor.RenameAsync(newFilename);\r\n                                _notepadsCore.FocusOnSelectedTextEditor();\r\n                                NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"TextEditor_NotificationMsg_FileRenamed\"), 1500);\r\n                            }\r\n                            catch (Exception ex)\r\n                            {\r\n                                var errorMessage = ex.Message?.TrimEnd('\\r', '\\n');\r\n                                NotificationCenter.Instance.PostNotification(errorMessage, 3500); // TODO: Use Content Dialog to display error message\r\n                            }\r\n                        });\r\n                    await DialogManager.OpenDialogAsync(fileRenameDialog, awaitPreviousDialog: false);\r\n                };\r\n                return _rename;\r\n            }\r\n        }\r\n\r\n        private void ExecuteOnAllTextEditors(Action<ITextEditor> action)\r\n        {\r\n            foreach (ITextEditor textEditor in _notepadsCore.GetAllTextEditors())\r\n            {\r\n                action(textEditor);\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Extensions/DispatcherExtensions.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Extensions\r\n{\r\n    using System;\r\n    using System.Threading.Tasks;\r\n    using Windows.UI.Core;\r\n\r\n    public static class DispatcherExtensions\r\n    {\r\n        public static async Task CallOnUIThreadAsync(this CoreDispatcher dispatcher, DispatchedHandler handler)\r\n        {\r\n            await dispatcher.RunAsync(CoreDispatcherPriority.Normal, handler);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Extensions/IContentPreviewExtension.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Extensions\r\n{\r\n    using System;\r\n    using Controls.TextEditor;\r\n\r\n    public interface IContentPreviewExtension : IDisposable\r\n    {\r\n        void Bind(TextEditorCore editor);\r\n\r\n        bool IsExtensionEnabled { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Extensions/INotepadsExtensionProvider.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Extensions\r\n{\r\n    using Utilities;\r\n\r\n    public interface INotepadsExtensionProvider\r\n    {\r\n        IContentPreviewExtension GetContentPreviewExtension(FileType fileType);\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Extensions/NotepadsExtensionProvider.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Extensions\r\n{\r\n    using Notepads.Controls.Markdown;\r\n    using Notepads.Utilities;\r\n\r\n    public class NotepadsExtensionProvider : INotepadsExtensionProvider\r\n    {\r\n        public IContentPreviewExtension GetContentPreviewExtension(FileType fileType)\r\n        {\r\n            switch (fileType)\r\n            {\r\n                case FileType.MarkdownFile:\r\n                    return new MarkdownExtensionView();\r\n                default:\r\n                    return null;\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Extensions/ScrollViewerExtensions.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n// Source taken from: https://github.com/windows-toolkit/WindowsCommunityToolkit/pull/3220\r\n\r\nnamespace Notepads.Extensions\r\n{\r\n    using Windows.UI.Composition;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Hosting;\r\n\r\n    /// <summary>\r\n    /// Indicates an axis in the 2D space\r\n    /// </summary>\r\n    public enum Axis\r\n    {\r\n        /// <summary>\r\n        /// The X axis (horizontal)\r\n        /// </summary>\r\n        X,\r\n\r\n        /// <summary>\r\n        /// The Y axis (vertical)\r\n        /// </summary>\r\n        Y\r\n    }\r\n\r\n    public static class ScrollViewerExtensions\r\n    {\r\n        public static ExpressionAnimation StartExpressionAnimation(\r\n            this ScrollViewer scrollViewer,\r\n            UIElement target,\r\n            Axis axis)\r\n        {\r\n            return scrollViewer.StartExpressionAnimation(target, sourceAxis: axis, targetAxis: axis);\r\n        }\r\n\r\n        public static ExpressionAnimation StartExpressionAnimation(\r\n            this ScrollViewer scrollViewer,\r\n            UIElement target,\r\n            Axis sourceAxis,\r\n            Axis targetAxis)\r\n        {\r\n            CompositionPropertySet scrollSet = ElementCompositionPreview.GetScrollViewerManipulationPropertySet(scrollViewer);\r\n\r\n            ExpressionAnimation animation = scrollSet.Compositor.CreateExpressionAnimation($\"{nameof(scrollViewer)}.{nameof(UIElement.Translation)}.{sourceAxis}\");\r\n            animation.SetReferenceParameter(nameof(scrollViewer), scrollSet);\r\n\r\n            Visual visual = ElementCompositionPreview.GetElementVisual(target);\r\n            visual.StartAnimation($\"{nameof(Visual.Offset)}.{targetAxis}\", animation);\r\n\r\n            return animation;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Extensions/StringExtensions.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Extensions\r\n{\r\n    using System;\r\n    using System.Linq;\r\n\r\n    public static class StringExtensions\r\n    {\r\n        public static string LeadingSpacesAndTabs(this string str)\r\n        {\r\n            int i = 0;\r\n            for (; i < str.Length; i++)\r\n            {\r\n                var ch = str[i];\r\n                if (ch != ' ' && ch != '\\t')\r\n                {\r\n                    break;\r\n                }\r\n            }\r\n            return str.Substring(0, i);\r\n        }\r\n\r\n        public static int IndexOfWholeWord(this string str, string value, int startIndex, StringComparison comparison)\r\n        {\r\n            int pos = startIndex;\r\n\r\n            while (pos < str.Length && (pos = str.IndexOf(value, pos, comparison)) != -1)\r\n            {\r\n                bool startBoundary = true;\r\n                if (pos > 0)\r\n                    startBoundary = !char.IsLetterOrDigit(str[pos - 1]);\r\n\r\n                bool endBoundary = true;\r\n                if (pos + value.Length < str.Length)\r\n                    endBoundary = !char.IsLetterOrDigit(str[pos + value.Length]);\r\n\r\n                if (startBoundary && endBoundary)\r\n                    return pos;\r\n\r\n                pos++;\r\n            }\r\n            return -1;\r\n        }\r\n\r\n        public static int LastIndexOfWholeWord(this string str, string value, int startIndex, StringComparison comparison)\r\n        {\r\n            int pos = startIndex;\r\n\r\n            while (pos >= 0 && (pos = str.LastIndexOf(value, pos, comparison)) != -1)\r\n            {\r\n                bool startBoundary = true;\r\n                if (pos > 0)\r\n                    startBoundary = !char.IsLetterOrDigit(str[pos - 1]);\r\n\r\n                bool endBoundary = true;\r\n                if (pos + value.Length < str.Length)\r\n                    endBoundary = !char.IsLetterOrDigit(str[pos + value.Length]);\r\n\r\n                if (startBoundary && endBoundary)\r\n                    return pos;\r\n\r\n                pos--;\r\n            }\r\n            return -1;\r\n        }\r\n\r\n        public static Uri ToAppxUri(this string path)\r\n        {\r\n            string prefix = $\"ms-appx://{(path.StartsWith('/') ? string.Empty : \"/\")}\";\r\n            return new Uri($\"{prefix}{path}\");\r\n        }\r\n\r\n        public static bool ContainsAllowableCharactersOnly(this string str, params char[] allowableCharacters)\r\n        {\r\n            return str.All(allowableCharacters.Contains);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Models/TextFile.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Models\r\n{\r\n    using System.Text;\r\n    using Notepads.Utilities;\r\n\r\n    public class TextFile\r\n    {\r\n        public TextFile(string content, Encoding encoding, LineEnding lineEnding, long dateModifiedFileTime = -1)\r\n        {\r\n            Content = content;\r\n            Encoding = encoding;\r\n            LineEnding = lineEnding;\r\n            DateModifiedFileTime = dateModifiedFileTime;\r\n        }\r\n\r\n        public string Content { get; set; }\r\n\r\n        public Encoding Encoding { get; set; }\r\n\r\n        public LineEnding LineEnding { get; set; }\r\n\r\n        public long DateModifiedFileTime { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Notepads.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"15.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\n  <Import Project=\"$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props\" Condition=\"Exists('$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props')\" />\r\n  <PropertyGroup>\r\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\r\n    <Platform Condition=\" '$(Platform)' == '' \">x86</Platform>\r\n    <ProjectGuid>{99274932-9E86-480C-8142-38525F80007D}</ProjectGuid>\r\n    <OutputType>AppContainerExe</OutputType>\r\n    <AppDesignerFolder>Properties</AppDesignerFolder>\r\n    <RootNamespace>Notepads</RootNamespace>\r\n    <AssemblyName>Notepads</AssemblyName>\r\n    <DefaultLanguage>en-US</DefaultLanguage>\r\n    <TargetPlatformIdentifier>UAP</TargetPlatformIdentifier>\r\n    <TargetPlatformVersion Condition=\" '$(TargetPlatformVersion)' == '' \">10.0.22621.0</TargetPlatformVersion>\r\n    <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>\r\n    <MinimumVisualStudioVersion>14</MinimumVisualStudioVersion>\r\n    <FileAlignment>512</FileAlignment>\r\n    <ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\r\n    <WindowsXamlEnableOverview>true</WindowsXamlEnableOverview>\r\n    <GenerateAppInstallerFile>False</GenerateAppInstallerFile>\r\n    <AppxBundle>Always</AppxBundle>\r\n    <AppInstallerUpdateFrequency>1</AppInstallerUpdateFrequency>\r\n    <AppInstallerCheckForUpdateFrequency>OnApplicationRun</AppInstallerCheckForUpdateFrequency>\r\n    <AppxAutoIncrementPackageRevision>False</AppxAutoIncrementPackageRevision>\r\n    <AppxSymbolPackageEnabled>True</AppxSymbolPackageEnabled>\r\n    <AppxBundlePlatforms>x86|x64|arm64</AppxBundlePlatforms>\r\n    <Win32Resource>Resource\\MiddleClickScrolling-CursorType.res</Win32Resource>\r\n    <DevLabel>-dev</DevLabel>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Debug|x86'\">\r\n    <DebugSymbols>true</DebugSymbols>\r\n    <OutputPath>bin\\x86\\Debug\\</OutputPath>\r\n    <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP;DISABLE_XAML_GENERATED_MAIN</DefineConstants>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>full</DebugType>\r\n    <PlatformTarget>x86</PlatformTarget>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n    <Prefer32Bit>true</Prefer32Bit>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Release|x86'\">\r\n    <OutputPath>bin\\x86\\Release\\</OutputPath>\r\n    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP;DISABLE_XAML_GENERATED_MAIN</DefineConstants>\r\n    <Optimize>true</Optimize>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>pdbonly</DebugType>\r\n    <PlatformTarget>x86</PlatformTarget>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n    <Prefer32Bit>true</Prefer32Bit>\r\n    <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Production|x86'\">\r\n    <OutputPath>bin\\x86\\Production\\</OutputPath>\r\n    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP;DISABLE_XAML_GENERATED_MAIN</DefineConstants>\r\n    <Optimize>true</Optimize>\r\n    <NoWarn>;2008</NoWarn>\r\n    <NoStdLib>true</NoStdLib>\r\n    <DebugType>pdbonly</DebugType>\r\n    <PlatformTarget>x86</PlatformTarget>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n    <Prefer32Bit>true</Prefer32Bit>\r\n    <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Debug|ARM64'\">\r\n    <DebugSymbols>true</DebugSymbols>\r\n    <OutputPath>bin\\ARM64\\Debug\\</OutputPath>\r\n    <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP;DISABLE_XAML_GENERATED_MAIN</DefineConstants>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>full</DebugType>\r\n    <PlatformTarget>ARM64</PlatformTarget>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n    <Prefer32Bit>true</Prefer32Bit>\r\n    <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Release|ARM64'\">\r\n    <OutputPath>bin\\ARM64\\Release\\</OutputPath>\r\n    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP;DISABLE_XAML_GENERATED_MAIN</DefineConstants>\r\n    <Optimize>true</Optimize>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>pdbonly</DebugType>\r\n    <PlatformTarget>ARM64</PlatformTarget>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n    <Prefer32Bit>true</Prefer32Bit>\r\n    <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Production|ARM64'\">\r\n    <OutputPath>bin\\ARM64\\Production\\</OutputPath>\r\n    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP;DISABLE_XAML_GENERATED_MAIN</DefineConstants>\r\n    <Optimize>true</Optimize>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>pdbonly</DebugType>\r\n    <PlatformTarget>ARM64</PlatformTarget>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n    <Prefer32Bit>true</Prefer32Bit>\r\n    <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Debug|x64'\">\r\n    <DebugSymbols>true</DebugSymbols>\r\n    <OutputPath>bin\\x64\\Debug\\</OutputPath>\r\n    <DefineConstants>TRACE;DEBUG;NETFX_CORE;WINDOWS_UWP;CODE_ANALYSIS;DISABLE_XAML_GENERATED_MAIN</DefineConstants>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>full</DebugType>\r\n    <PlatformTarget>x64</PlatformTarget>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n    <Prefer32Bit>true</Prefer32Bit>\r\n    <Optimize>false</Optimize>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Release|x64'\">\r\n    <OutputPath>bin\\x64\\Release\\</OutputPath>\r\n    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP;DISABLE_XAML_GENERATED_MAIN</DefineConstants>\r\n    <Optimize>true</Optimize>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>pdbonly</DebugType>\r\n    <PlatformTarget>x64</PlatformTarget>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n    <Prefer32Bit>true</Prefer32Bit>\r\n    <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Production|x64'\">\r\n    <OutputPath>bin\\x64\\Production\\</OutputPath>\r\n    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP;DISABLE_XAML_GENERATED_MAIN</DefineConstants>\r\n    <Optimize>true</Optimize>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>pdbonly</DebugType>\r\n    <PlatformTarget>x64</PlatformTarget>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n    <Prefer32Bit>true</Prefer32Bit>\r\n    <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>\r\n  </PropertyGroup>\r\n  <PropertyGroup>\r\n    <RestoreProjectStyle>PackageReference</RestoreProjectStyle>\r\n  </PropertyGroup>\r\n  <ItemGroup>\r\n    <Compile Include=\"Commands\\IMouseCommand.cs\" />\r\n    <Compile Include=\"Commands\\IKeyboardCommand.cs\" />\r\n    <Compile Include=\"Commands\\ICommandHandler.cs\" />\r\n    <Compile Include=\"Commands\\CommandHandlerResult.cs\" />\r\n    <Compile Include=\"Commands\\MouseCommand.cs\" />\r\n    <Compile Include=\"Commands\\MouseCommandHandler.cs\" />\r\n    <Compile Include=\"Commands\\KeyboardCommand.cs\" />\r\n    <Compile Include=\"Commands\\KeyboardCommandHandler.cs\" />\r\n    <Compile Include=\"Controls\\Dialog\\AppCloseSaveReminderDialog.cs\" />\r\n    <Compile Include=\"Controls\\Dialog\\SessionCorruptionErrorDialog.cs\" />\r\n    <Compile Include=\"Controls\\Dialog\\FileRenameDialog.cs\" />\r\n    <Compile Include=\"Controls\\Dialog\\FileOpenErrorDialog.cs\" />\r\n    <Compile Include=\"Controls\\Dialog\\FileSaveErrorDialog.cs\" />\r\n    <Compile Include=\"Controls\\Dialog\\RevertAllChangesConfirmationDialog.cs\" />\r\n    <Compile Include=\"Controls\\Dialog\\SetCloseSaveReminderDialog.cs\" />\r\n    <Compile Include=\"Controls\\FindAndReplace\\FindAndReplaceControl.xaml.cs\">\r\n      <DependentUpon>FindAndReplaceControl.xaml</DependentUpon>\r\n    </Compile>\r\n    <Compile Include=\"Controls\\FindAndReplace\\FindAndReplaceTextBox.cs\" />\r\n    <Compile Include=\"Controls\\FindAndReplace\\SearchContext.cs\" />\r\n    <Compile Include=\"Controls\\GoTo\\GoToControl.xaml.cs\">\r\n      <DependentUpon>GoToControl.xaml</DependentUpon>\r\n    </Compile>\r\n    <Compile Include=\"Controls\\GoTo\\GoToEventArgs.cs\" />\r\n    <Compile Include=\"Controls\\Print\\ContinuationPageFormat.xaml.cs\">\r\n      <DependentUpon>ContinuationPageFormat.xaml</DependentUpon>\r\n    </Compile>\r\n    <Compile Include=\"Controls\\Print\\PrintArgs.cs\" />\r\n    <Compile Include=\"Controls\\Print\\PrintPageFormat.xaml.cs\">\r\n      <DependentUpon>PrintPageFormat.xaml</DependentUpon>\r\n    </Compile>\r\n    <Compile Include=\"Controls\\TextEditor\\TextEditorCore.JoinText.cs\" />\r\n    <Compile Include=\"Controls\\TextEditor\\TextEditorCore.ExternalEventListener.cs\" />\r\n    <Compile Include=\"Controls\\TextEditor\\TextEditorCore.LineHighlighter.cs\" />\r\n    <Compile Include=\"Controls\\TextEditor\\TextEditorCore.LineNumbers.cs\" />\r\n    <Compile Include=\"Controls\\TextEditor\\TextEditorCore.MoveText.cs\" />\r\n    <Compile Include=\"Extensions\\DispatcherExtensions.cs\" />\r\n    <Compile Include=\"Extensions\\ScrollViewerExtensions.cs\" />\r\n    <Compile Include=\"Services\\AnalyticsService.cs\" />\r\n    <Compile Include=\"Utilities\\FutureAccessListUtility.cs\" />\r\n    <Compile Include=\"Utilities\\LanguageUtility.cs\" />\r\n    <Compile Include=\"Views\\Settings\\AboutPage.xaml.cs\">\r\n      <DependentUpon>AboutPage.xaml</DependentUpon>\r\n    </Compile>\r\n    <Compile Include=\"Views\\Settings\\AdvancedSettingsPage.xaml.cs\">\r\n      <DependentUpon>AdvancedSettingsPage.xaml</DependentUpon>\r\n    </Compile>\r\n    <Compile Include=\"Views\\Settings\\SettingsPage.xaml.cs\">\r\n      <DependentUpon>SettingsPage.xaml</DependentUpon>\r\n    </Compile>\r\n    <Compile Include=\"Views\\Settings\\SettingsPanel.xaml.cs\">\r\n      <DependentUpon>SettingsPanel.xaml</DependentUpon>\r\n    </Compile>\r\n    <Compile Include=\"Views\\Settings\\PersonalizationSettingsPage.xaml.cs\">\r\n      <DependentUpon>PersonalizationSettingsPage.xaml</DependentUpon>\r\n    </Compile>\r\n    <Compile Include=\"Views\\Settings\\TextAndEditorSettingsPage.xaml.cs\">\r\n      <DependentUpon>TextAndEditorSettingsPage.xaml</DependentUpon>\r\n    </Compile>\r\n    <Compile Include=\"Controls\\TextEditor\\ITextEditor.cs\" />\r\n    <Compile Include=\"Controls\\TextEditor\\TextEditor.xaml.cs\">\r\n      <DependentUpon>TextEditor.xaml</DependentUpon>\r\n    </Compile>\r\n    <Compile Include=\"Controls\\TextEditor\\TextEditorCore.cs\" />\r\n    <Compile Include=\"Controls\\TextEditor\\TextEditorContextFlyout.cs\" />\r\n    <Compile Include=\"Controls\\TextEditor\\TextEditorCore.DateTime.cs\" />\r\n    <Compile Include=\"Controls\\TextEditor\\TextEditorCore.DuplicateText.cs\" />\r\n    <Compile Include=\"Controls\\TextEditor\\TextEditorCore.FindAndReplace.cs\" />\r\n    <Compile Include=\"Controls\\TextEditor\\TextEditorCore.FontSize.cs\" />\r\n    <Compile Include=\"Controls\\TextEditor\\TextEditorCore.Indentation.cs\" />\r\n    <Compile Include=\"Controls\\TextEditor\\TextEditorCore.WebSearch.cs\" />\r\n    <Compile Include=\"Controls\\TextEditor\\TextEditorStateMetaData.cs\" />\r\n    <Compile Include=\"Core\\INotepadsCore.cs\" />\r\n    <Compile Include=\"Core\\ISessionManager.cs\" />\r\n    <Compile Include=\"Core\\NotepadsCore.cs\" />\r\n    <Compile Include=\"Core\\SessionDataModels\\NotepadsSessionData.cs\" />\r\n    <Compile Include=\"Core\\SessionManager.cs\" />\r\n    <Compile Include=\"Core\\TabContextFlyout.cs\" />\r\n    <Compile Include=\"Controls\\FindAndReplace\\FindAndReplaceEventArgs.cs\" />\r\n    <Compile Include=\"Core\\SessionDataModels\\TextEditorSessionData.cs\" />\r\n    <Compile Include=\"Controls\\DiffViewer\\BrushFactory.cs\" />\r\n    <Compile Include=\"Controls\\DiffViewer\\RichTextBlockDiffContext.cs\" />\r\n    <Compile Include=\"Controls\\DiffViewer\\SideBySideDiffViewer.xaml.cs\">\r\n      <DependentUpon>SideBySideDiffViewer.xaml</DependentUpon>\r\n    </Compile>\r\n    <Compile Include=\"Controls\\DiffViewer\\ISideBySideDiffViewer.cs\" />\r\n    <Compile Include=\"Controls\\DiffViewer\\ScrollViewerSynchronizer.cs\" />\r\n    <Compile Include=\"Controls\\DiffViewer\\RichTextBlockDiffRenderer.cs\" />\r\n    <Compile Include=\"Views\\MainPage\\NotepadsMainPage.MainMenu.cs\" />\r\n    <Compile Include=\"Views\\MainPage\\NotepadsMainPage.Notification.cs\" />\r\n    <Compile Include=\"Views\\MainPage\\NotepadsMainPage.Theme.cs\" />\r\n    <Compile Include=\"Services\\FileExtensionProvider.cs\" />\r\n    <Compile Include=\"Services\\JumpListService.cs\" />\r\n    <Compile Include=\"Views\\MainPage\\NotepadsMainPage.IO.cs\" />\r\n    <Compile Include=\"Views\\MainPage\\NotepadsMainPage.StatusBar.cs\" />\r\n    <Compile Include=\"Views\\MainPage\\NotepadsMainPage.ViewModes.cs\" />\r\n    <Compile Include=\"Services\\MRUService.cs\" />\r\n    <Compile Include=\"Utilities\\BrushUtility.cs\" />\r\n    <Compile Include=\"Utilities\\Downloader.cs\" />\r\n    <Compile Include=\"Services\\LoggingService.cs\" />\r\n    <Compile Include=\"Services\\NotepadsProtocolService.cs\" />\r\n    <Compile Include=\"Services\\NotificationCenter.cs\" />\r\n    <Compile Include=\"Utilities\\DialogManager.cs\" />\r\n    <Compile Include=\"Utilities\\FileTypeUtility.cs\" />\r\n    <Compile Include=\"Extensions\\INotepadsExtensionProvider.cs\" />\r\n    <Compile Include=\"Extensions\\IContentPreviewExtension.cs\" />\r\n    <Compile Include=\"Controls\\Markdown\\MarkdownExtensionView.xaml.cs\">\r\n      <DependentUpon>MarkdownExtensionView.xaml</DependentUpon>\r\n    </Compile>\r\n    <Compile Include=\"Extensions\\NotepadsExtensionProvider.cs\" />\r\n    <Compile Include=\"Services\\ActivationService.cs\" />\r\n    <Compile Include=\"Controls\\FilePicker\\FilePickerFactory.cs\" />\r\n    <Compile Include=\"Settings\\ApplicationSettings.cs\" />\r\n    <Compile Include=\"Settings\\SettingsKey.cs\" />\r\n    <Compile Include=\"Utilities\\FileSystemUtility.cs\" />\r\n    <Compile Include=\"Utilities\\FontUtility.cs\" />\r\n    <Compile Include=\"Utilities\\EncodingUtility.cs\" />\r\n    <Compile Include=\"Brushes\\HostBackdropAcrylicBrush.cs\" />\r\n    <Compile Include=\"Utilities\\LineEndingUtility.cs\" />\r\n    <Compile Include=\"Services\\AppSettingsService.cs\" />\r\n    <Compile Include=\"Services\\ThemeSettingsService.cs\" />\r\n    <Compile Include=\"Controls\\Dialog\\NotepadsDialog.cs\" />\r\n    <Compile Include=\"Utilities\\SearchEngineUtility.cs\" />\r\n    <Compile Include=\"Utilities\\SessionUtility.cs\" />\r\n    <Compile Include=\"Models\\TextFile.cs\" />\r\n    <Compile Include=\"Extensions\\StringExtensions.cs\" />\r\n    <Compile Include=\"Utilities\\ThreadUtility.cs\" />\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <Compile Include=\"App.xaml.cs\">\r\n      <DependentUpon>App.xaml</DependentUpon>\r\n    </Compile>\r\n    <Compile Include=\"Views\\MainPage\\NotepadsMainPage.xaml.cs\">\r\n      <DependentUpon>NotepadsMainPage.xaml</DependentUpon>\r\n    </Compile>\r\n    <Compile Include=\"Program.cs\" />\r\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <AppxManifest Include=\"Package.appxmanifest\">\r\n      <SubType>Designer</SubType>\r\n    </AppxManifest>\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <None Include=\"Package.StoreAssociation.xml\" />\r\n    <Content Include=\"Properties\\Default.rd.xml\" />\r\n    <Content Include=\"Resource\\MiddleClickScrolling-CursorType.res\" />\r\n    <Content Include=\"Resource\\Text Document.txt\" />\r\n  </ItemGroup>\r\n  <ItemGroup Condition=\"'$(Configuration)' == 'Debug' Or '$(Configuration)' == 'Release'\">\r\n    <Content Include=\"Assets\\**\\*$(DevLabel).png\">\r\n      <Link>$([System.String]::new('%(Identity)').Replace('$(DevLabel)',''))</Link>\r\n    </Content>\r\n    <Content Include=\"Assets\\LockScreenLogo.scale-200.png\" />\r\n    <Content Include=\"Assets\\*noise*.png\" />\r\n    <Content Include=\"Assets\\search_*.png\" />\r\n    <Content Include=\"Assets\\FileIcons\\*.png\" />\r\n  </ItemGroup>\r\n  <ItemGroup Condition=\"'$(Configuration)' == 'Production'\">\r\n    <Content Include=\"Assets\\**\\*.png\" Exclude=\"Assets\\**\\*$(DevLabel).png\" />\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <ApplicationDefinition Include=\"App.xaml\">\r\n      <Generator>MSBuild:Compile</Generator>\r\n      <SubType>Designer</SubType>\r\n    </ApplicationDefinition>\r\n    <Page Include=\"Controls\\FindAndReplace\\FindAndReplaceControl.xaml\">\r\n      <SubType>Designer</SubType>\r\n      <Generator>MSBuild:Compile</Generator>\r\n    </Page>\r\n    <Page Include=\"Controls\\GoTo\\GoToControl.xaml\">\r\n      <Generator>MSBuild:Compile</Generator>\r\n      <SubType>Designer</SubType>\r\n    </Page>\r\n    <Page Include=\"Controls\\Print\\ContinuationPageFormat.xaml\">\r\n      <SubType>Designer</SubType>\r\n      <Generator>MSBuild:Compile</Generator>\r\n    </Page>\r\n    <Page Include=\"Controls\\Print\\PrintPageFormat.xaml\">\r\n      <SubType>Designer</SubType>\r\n      <Generator>MSBuild:Compile</Generator>\r\n    </Page>\r\n    <Page Include=\"Views\\Settings\\AboutPage.xaml\">\r\n      <SubType>Designer</SubType>\r\n      <Generator>MSBuild:Compile</Generator>\r\n    </Page>\r\n    <Page Include=\"Views\\Settings\\AdvancedSettingsPage.xaml\">\r\n      <SubType>Designer</SubType>\r\n      <Generator>MSBuild:Compile</Generator>\r\n    </Page>\r\n    <Page Include=\"Views\\Settings\\SettingsPage.xaml\">\r\n      <SubType>Designer</SubType>\r\n      <Generator>MSBuild:Compile</Generator>\r\n    </Page>\r\n    <Page Include=\"Views\\Settings\\SettingsPanel.xaml\">\r\n      <SubType>Designer</SubType>\r\n      <Generator>MSBuild:Compile</Generator>\r\n    </Page>\r\n    <Page Include=\"Views\\Settings\\PersonalizationSettingsPage.xaml\">\r\n      <Generator>MSBuild:Compile</Generator>\r\n      <SubType>Designer</SubType>\r\n    </Page>\r\n    <Page Include=\"Views\\Settings\\TextAndEditorSettingsPage.xaml\">\r\n      <SubType>Designer</SubType>\r\n      <Generator>MSBuild:Compile</Generator>\r\n    </Page>\r\n    <Page Include=\"Controls\\TextEditor\\TextEditor.xaml\">\r\n      <SubType>Designer</SubType>\r\n      <Generator>MSBuild:Compile</Generator>\r\n    </Page>\r\n    <Page Include=\"Controls\\TextEditor\\TextEditorCore.xaml\">\r\n      <Generator>MSBuild:Compile</Generator>\r\n      <SubType>Designer</SubType>\r\n    </Page>\r\n    <Page Include=\"Controls\\DiffViewer\\SideBySideDiffViewer.xaml\">\r\n      <Generator>MSBuild:Compile</Generator>\r\n      <SubType>Designer</SubType>\r\n    </Page>\r\n    <Page Include=\"Controls\\Markdown\\MarkdownExtensionView.xaml\">\r\n      <SubType>Designer</SubType>\r\n      <Generator>MSBuild:Compile</Generator>\r\n    </Page>\r\n    <Page Include=\"Views\\MainPage\\NotepadsMainPage.xaml\">\r\n      <Generator>MSBuild:Compile</Generator>\r\n      <SubType>Designer</SubType>\r\n    </Page>\r\n    <Page Include=\"Controls\\FindAndReplace\\FindAndReplacePlaceholder.xaml\">\r\n      <Generator>MSBuild:Compile</Generator>\r\n      <SubType>Designer</SubType>\r\n    </Page>\r\n    <Page Include=\"Resource\\CustomAppBarButtonStyle.xaml\">\r\n      <Generator>MSBuild:Compile</Generator>\r\n      <SubType>Designer</SubType>\r\n    </Page>\r\n    <Page Include=\"Resource\\CustomCheckBoxStyle.xaml\">\r\n      <Generator>MSBuild:Compile</Generator>\r\n      <SubType>Designer</SubType>\r\n    </Page>\r\n    <Page Include=\"Resource\\CustomNavigationViewItemStyle.xaml\">\r\n      <SubType>Designer</SubType>\r\n      <Generator>MSBuild:Compile</Generator>\r\n    </Page>\r\n    <Page Include=\"Resource\\CustomRadioButtonStyle.xaml\">\r\n      <SubType>Designer</SubType>\r\n      <Generator>MSBuild:Compile</Generator>\r\n    </Page>\r\n    <Page Include=\"Resource\\CustomSliderStyle.xaml\">\r\n      <Generator>MSBuild:Compile</Generator>\r\n      <SubType>Designer</SubType>\r\n    </Page>\r\n    <Page Include=\"Resource\\CustomToggleSwitchStyle.xaml\">\r\n      <SubType>Designer</SubType>\r\n      <Generator>MSBuild:Compile</Generator>\r\n    </Page>\r\n    <Page Include=\"Resource\\InAppNotificationNoDismissButton.xaml\">\r\n      <SubType>Designer</SubType>\r\n      <Generator>MSBuild:Compile</Generator>\r\n    </Page>\r\n    <Page Include=\"Resource\\CustomSplitViewStyle.xaml\">\r\n      <SubType>Designer</SubType>\r\n      <Generator>MSBuild:Compile</Generator>\r\n    </Page>\r\n    <Page Include=\"Resource\\DismissButtonStyle.xaml\">\r\n      <SubType>Designer</SubType>\r\n      <Generator>MSBuild:Compile</Generator>\r\n    </Page>\r\n    <Page Include=\"Resource\\TransparentTextBoxStyle.xaml\">\r\n      <SubType>Designer</SubType>\r\n      <Generator>MSBuild:Compile</Generator>\r\n    </Page>\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <PackageReference Include=\"DiffPlex\">\r\n      <Version>1.7.2</Version>\r\n    </PackageReference>\r\n    <PackageReference Include=\"Microsoft.NETCore.UniversalWindowsPlatform\">\r\n      <Version>6.2.14</Version>\r\n    </PackageReference>\r\n    <PackageReference Include=\"Microsoft.Services.Store.Engagement\">\r\n      <Version>10.2307.3001</Version>\r\n    </PackageReference>\r\n    <PackageReference Include=\"Microsoft.Toolkit.Uwp.UI\">\r\n      <Version>7.1.3</Version>\r\n    </PackageReference>\r\n    <PackageReference Include=\"Microsoft.Win32.Registry\">\r\n      <Version>5.0.0</Version>\r\n    </PackageReference>\r\n    <PackageReference Include=\"Microsoft.Xaml.Behaviors.Uwp.Managed\">\r\n      <Version>2.0.1</Version>\r\n    </PackageReference>\r\n    <PackageReference Include=\"Newtonsoft.Json\">\r\n      <Version>13.0.3</Version>\r\n    </PackageReference>\r\n    <PackageReference Include=\"System.Text.Json\">\r\n      <Version>9.0.2</Version>\r\n    </PackageReference>\r\n    <PackageReference Include=\"UTF.Unknown\">\r\n      <Version>2.5.1</Version>\r\n    </PackageReference>\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\Notepads.Controls\\Notepads.Controls.csproj\">\r\n      <Project>{7aa5e631-b663-420e-a08f-002cd81df855}</Project>\r\n      <Name>Notepads.Controls</Name>\r\n    </ProjectReference>\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <PRIResource Include=\"Strings\\**\\*.resw\" />\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <None Include=\"Package.targets\" />\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <SDKReference Include=\"Microsoft.Services.Store.Engagement, Version=10.0\">\r\n      <Name>Microsoft Engagement Framework</Name>\r\n    </SDKReference>\r\n    <SDKReference Include=\"Microsoft.VCLibs, Version=14.0\">\r\n      <Name>Visual C++ 2015-2019 Runtime for Universal Windows Platform Apps</Name>\r\n    </SDKReference>\r\n  </ItemGroup>\r\n  <PropertyGroup Condition=\" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '14.0' \">\r\n    <VisualStudioVersion>14.0</VisualStudioVersion>\r\n  </PropertyGroup>\r\n  <Import Project=\"$(MSBuildExtensionsPath)\\Microsoft\\WindowsXaml\\v$(VisualStudioVersion)\\Microsoft.Windows.UI.Xaml.CSharp.targets\" />\r\n  <Import Project=\"Package.targets\" />\r\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.\r\n       Other similar extension points exist, see Microsoft.Common.targets.\r\n  <Target Name=\"BeforeBuild\">\r\n  </Target>\r\n  <Target Name=\"AfterBuild\">\r\n  </Target>\r\n  -->\r\n</Project>"
  },
  {
    "path": "src/Notepads/Package.StoreAssociation.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<StoreAssociation xmlns=\"http://schemas.microsoft.com/appx/2010/storeassociation\">\n  <Publisher>CN=40E66D07-5A3A-4954-9CA3-A1EB15ED0804</Publisher>\n  <PublisherDisplayName>Jackie Liu</PublisherDisplayName>\n  <DeveloperAccountType>MSA</DeveloperAccountType>\n  <GeneratePackageHash>http://www.w3.org/2001/04/xmlenc#sha256</GeneratePackageHash>\n  <SupportedLocales>\n    <Language Code=\"af\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"af-za\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"am\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"am-et\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ar\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ar-ae\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ar-bh\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ar-dz\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ar-eg\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ar-iq\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ar-jo\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ar-kw\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ar-lb\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ar-ly\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ar-ma\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ar-om\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ar-qa\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ar-sa\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ar-sy\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ar-tn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ar-ye\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"as\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"as-in\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"az\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"az-arab\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"az-arab-az\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"az-cyrl\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"az-cyrl-az\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"az-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"az-latn-az\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"be\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"be-by\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"bg\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"bg-bg\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"bn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"bn-bd\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"bn-in\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"bs\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"bs-cyrl\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"bs-cyrl-ba\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"bs-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"bs-latn-ba\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ca\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ca-es\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ca-es-valencia\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"chr-cher\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"chr-cher-us\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"chr-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"cs\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"cs-cz\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"cy\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"cy-gb\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"da\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"da-dk\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"de\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"de-at\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"de-ch\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"de-de\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"de-li\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"de-lu\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"el\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"el-gr\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-011\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-014\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-018\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-021\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-029\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-053\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-au\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-bz\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-ca\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-gb\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-hk\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-id\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-ie\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-in\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-jm\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-kz\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-mt\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-my\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-nz\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-ph\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-pk\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-sg\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-tt\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-us\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-vn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-za\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"en-zw\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-019\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-419\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-ar\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-bo\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-cl\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-co\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-cr\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-do\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-ec\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-es\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-gt\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-hn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-mx\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-ni\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-pa\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-pe\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-pr\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-py\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-sv\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-us\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-uy\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"es-ve\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"et\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"et-ee\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"eu\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"eu-es\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fa\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fa-ir\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fi\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fi-fi\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fil\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fil-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fil-ph\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr-011\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr-015\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr-021\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr-029\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr-155\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr-be\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr-ca\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr-cd\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr-ch\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr-ci\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr-cm\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr-fr\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr-ht\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr-lu\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr-ma\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr-mc\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr-ml\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"fr-re\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"frc-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"frp-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ga\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ga-ie\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"gd-gb\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"gd-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"gl\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"gl-es\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"gu\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"gu-in\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ha\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ha-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ha-latn-ng\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"he\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"he-il\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"hi\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"hi-in\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"hr\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"hr-ba\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"hr-hr\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"hu\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"hu-hu\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"hy\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"hy-am\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"id\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"id-id\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ig-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ig-ng\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"is\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"is-is\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"it\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"it-ch\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"it-it\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"iu-cans\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"iu-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"iu-latn-ca\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ja\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ja-jp\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ka\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ka-ge\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"kk\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"kk-kz\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"km\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"km-kh\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"kn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"kn-in\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ko\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ko-kr\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"kok\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"kok-in\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ku-arab\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ku-arab-iq\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ky-cyrl\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ky-kg\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"lb\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"lb-lu\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"lo\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"lo-la\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"lt\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"lt-lt\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"lv\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"lv-lv\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"mi\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"mi-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"mi-nz\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"mk\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"mk-mk\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ml\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ml-in\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"mn-cyrl\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"mn-mn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"mn-mong\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"mn-phag\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"mr\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"mr-in\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ms\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ms-bn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ms-my\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"mt\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"mt-mt\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"nb\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"nb-no\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ne\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ne-np\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"nl\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"nl-be\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"nl-nl\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"nn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"nn-no\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"no\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"no-no\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"nso\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"nso-za\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"om\" InMinimumRequirementSet=\"false\" />\n    <Language Code=\"om-et\" InMinimumRequirementSet=\"false\" />\n    <Language Code=\"or\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"or-in\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"pa\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"pa-arab\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"pa-arab-pk\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"pa-deva\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"pa-in\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"pl\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"pl-pl\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"prs\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"prs-af\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"prs-arab\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"pt\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"pt-br\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"pt-pt\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"quc-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"qut-gt\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"qut-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"quz\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"quz-bo\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"quz-ec\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"quz-pe\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ro\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ro-ro\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ru\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ru-ru\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"rw\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"rw-rw\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sd-arab\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sd-arab-pk\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sd-deva\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"si\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"si-lk\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sk\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sk-sk\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sl\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sl-si\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sq\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sq-al\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sr\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sr-cyrl\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sr-cyrl-ba\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sr-cyrl-cs\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sr-cyrl-me\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sr-cyrl-rs\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sr-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sr-latn-ba\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sr-latn-cs\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sr-latn-me\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sr-latn-rs\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sv\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sv-fi\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sv-se\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sw\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"sw-ke\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ta\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ta-in\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"te\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"te-in\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"tg-arab\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"tg-cyrl\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"tg-cyrl-tj\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"tg-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"th\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"th-th\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ti\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ti-et\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"tk-cyrl\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"tk-cyrl-tr\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"tk-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"tk-latn-tr\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"tk-tm\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"tn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"tn-bw\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"tn-za\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"tr\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"tr-tr\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"tt-arab\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"tt-cyrl\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"tt-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"tt-ru\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ug-arab\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ug-cn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ug-cyrl\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ug-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"uk\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"uk-ua\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ur\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"ur-pk\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"uz\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"uz-cyrl\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"uz-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"uz-latn-uz\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"vi\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"vi-vn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"wo\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"wo-sn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"xh\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"xh-za\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"yo-latn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"yo-ng\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"zh\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"zh-cn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"zh-hans\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"zh-hans-cn\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"zh-hans-sg\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"zh-hant\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"zh-hant-hk\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"zh-hant-mo\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"zh-hant-tw\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"zh-hk\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"zh-mo\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"zh-sg\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"zh-tw\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"zu\" InMinimumRequirementSet=\"true\" />\n    <Language Code=\"zu-za\" InMinimumRequirementSet=\"true\" />\n  </SupportedLocales>\n  <ProductReservedInfo>\n    <MainPackageIdentityName>19282JackieLiu.Notepads-Beta</MainPackageIdentityName>\n    <ReservedNames>\n      <ReservedName>Notepads - Beta</ReservedName>\n      <ReservedName>Notepads App</ReservedName>\n      <ReservedName>NotepadsApp</ReservedName>\n      <ReservedName>Notepads Pro</ReservedName>\n      <ReservedName>Notepads Editor</ReservedName>\n      <ReservedName>Windows Notepads</ReservedName>\n      <ReservedName>Notepads Text Editor</ReservedName>\n      <ReservedName>Notepads - Text Editor</ReservedName>\n      <ReservedName>Notepads Widget</ReservedName>\n    </ReservedNames>\n  </ProductReservedInfo>\n  <AccountPackageIdentityNames />\n  <PackageInfoList LandingUrl=\"https://developer.microsoft.com/dashboard/Application?appId=9NHL4NSC67WM\" />\n</StoreAssociation>"
  },
  {
    "path": "src/Notepads/Package.appxmanifest",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<Package xmlns=\"http://schemas.microsoft.com/appx/manifest/foundation/windows10\"\n         xmlns:mp=\"http://schemas.microsoft.com/appx/2014/phone/manifest\"\n         xmlns:uap=\"http://schemas.microsoft.com/appx/manifest/uap/windows10\"\n         xmlns:uap4=\"http://schemas.microsoft.com/appx/manifest/uap/windows10/4\"\n         xmlns:uap5=\"http://schemas.microsoft.com/appx/manifest/uap/windows10/5\"\n         xmlns:uap10=\"http://schemas.microsoft.com/appx/manifest/uap/windows10/10\"\n         xmlns:desktop4=\"http://schemas.microsoft.com/appx/manifest/desktop/windows10/4\"\n         xmlns:iot2=\"http://schemas.microsoft.com/appx/manifest/iot/windows10/2\"\n         xmlns:rescap=\"http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities\"\n         IgnorableNamespaces=\"mp uap uap5 uap10 desktop4 iot2 rescap\">\n  \n  <Identity Name=\"19282JackieLiu.Notepads-Beta\" Publisher=\"CN=40E66D07-5A3A-4954-9CA3-A1EB15ED0804\" Version=\"1.5.6.0\" />\n  <mp:PhoneIdentity PhoneProductId=\"df234254-de03-48f0-80a0-11b5082ec740\" PhonePublisherId=\"00000000-0000-0000-0000-000000000000\" />\n  \n  <Properties>\n    <DisplayName>Notepads App</DisplayName>\n    <PublisherDisplayName>Jackie Liu</PublisherDisplayName>\n    <Logo>Assets\\StoreLogo.png</Logo>\n  </Properties>\n  \n  <Dependencies>\n    <TargetDeviceFamily Name=\"Windows.Universal\" MinVersion=\"10.0.0.0\" MaxVersionTested=\"10.0.0.0\" />\n  </Dependencies>\n  \n  <Resources>\n    <Resource Language=\"x-generate\" />\n  </Resources>\n  \n  <Applications>\n    <Application Id=\"App\"\n                 Executable=\"$targetnametoken$.exe\"\n                 EntryPoint=\"Notepads.App\"\n                 desktop4:SupportsMultipleInstances=\"true\"\n                 iot2:SupportsMultipleInstances=\"true\">\n      <uap:VisualElements DisplayName=\"Notepads\"\n                          Square150x150Logo=\"Assets\\Square150x150Logo.png\"\n                          Square44x44Logo=\"Assets\\Square44x44Logo.png\"\n                          Description=\"A modern, lightweight text editor with a minimalist design.\"\n                          BackgroundColor=\"transparent\">\n        <uap:DefaultTile Wide310x150Logo=\"Assets\\Wide310x150Logo.png\"\n                         Square71x71Logo=\"Assets\\SmallTile.png\"\n                         Square310x310Logo=\"Assets\\LargeTile.png\"\n                         ShortName=\"Notepads\">\n          <uap:ShowNameOnTiles>\n            <uap:ShowOn Tile=\"square150x150Logo\" />\n            <uap:ShowOn Tile=\"wide310x150Logo\" />\n            <uap:ShowOn Tile=\"square310x310Logo\" />\n          </uap:ShowNameOnTiles>\n        </uap:DefaultTile>\n        <uap:SplashScreen Image=\"Assets\\SplashScreen.png\" uap5:Optional=\"true\" BackgroundColor=\"#2f2f2f\" />\n      </uap:VisualElements>\n      \n      <Extensions>\n        <uap:Extension Category=\"windows.protocol\">\n          <uap:Protocol Name=\"notepads\">\n            <uap:Logo>Assets\\appicon_w.png</uap:Logo>\n            <uap:DisplayName>Notepads URI Scheme</uap:DisplayName>\n          </uap:Protocol>\n        </uap:Extension>\n        <uap5:Extension Category=\"windows.appExecutionAlias\" Executable=\"Notepads.exe\" EntryPoint=\"Notepads.App\">\n          <uap5:AppExecutionAlias>\n            <uap5:ExecutionAlias Alias=\"Notepads.exe\" />\n          </uap5:AppExecutionAlias>\n        </uap5:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"text\">\n            <uap:SupportedFileTypes>\n              <uap:FileType ContentType=\"text/plain\"\n                            uap4:ShellNewDisplayName=\"ms-resource:Manifest/NewTextDocumentDisplayName\"\n                            uap4:ShellNewFileName=\"Resource\\Text Document.txt\">.txt</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/TextFileDisplayName</uap:DisplayName>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n            <uap:Logo>Assets\\FileIcons\\txt.png</uap:Logo>\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"config\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.cfg</uap:FileType>\n              <uap:FileType>.config</uap:FileType>\n              <uap:FileType>.cnf</uap:FileType>\n              <uap:FileType>.conf</uap:FileType>\n              <uap:FileType>.properties</uap:FileType>\n              <uap:FileType>.directory</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/ConfigFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\cfg.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"initialization\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.ini</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/InitializationFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\ini.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"markdown\">\n            <uap:SupportedFileTypes>\n              <uap:FileType ContentType=\"text/plain\">.md</uap:FileType>\n              <uap:FileType ContentType=\"text/plain\">.markdown</uap:FileType>\n              <uap:FileType ContentType=\"text/plain\">.mkd</uap:FileType>\n              <uap:FileType ContentType=\"text/plain\">.mdwn</uap:FileType>\n              <uap:FileType ContentType=\"text/plain\">.mdown</uap:FileType>\n              <uap:FileType ContentType=\"text/plain\">.markdn</uap:FileType>\n              <uap:FileType ContentType=\"text/plain\">.mdtxt</uap:FileType>\n              <uap:FileType ContentType=\"text/plain\">.workbook</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/MarkdownFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\md.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"log\">\n            <uap:SupportedFileTypes>\n              <uap:FileType ContentType=\"text/plain\">.log</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/LogFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\log.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"bib\">\n            <uap:SupportedFileTypes>\n              <uap:FileType ContentType=\"text/plain\">.bib</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/BibTeXFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\bib.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"json\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.json</uap:FileType>\n              <uap:FileType>.jsonc</uap:FileType>\n              <uap:FileType>.jsonld</uap:FileType>\n              <uap:FileType>.hintrc</uap:FileType>\n              <uap:FileType>.babelrc</uap:FileType>\n              <uap:FileType>.eslintrc</uap:FileType>\n              <uap:FileType>.jslintrc</uap:FileType>\n              <uap:FileType>.bowerrc</uap:FileType>\n              <uap:FileType>.jscsrc</uap:FileType>\n              <uap:FileType>.webmanifest</uap:FileType>\n              <uap:FileType>.har</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/JsonFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\json.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"yml\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.yml</uap:FileType>\n              <uap:FileType>.yaml</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/YamlFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\yml.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"xml\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.xml</uap:FileType>\n              <uap:FileType>.xsd</uap:FileType>\n              <uap:FileType>.ascx</uap:FileType>\n              <uap:FileType>.atom</uap:FileType>\n              <uap:FileType>.axml</uap:FileType>\n              <uap:FileType>.bpmn</uap:FileType>\n              <uap:FileType>.cpt</uap:FileType>\n              <uap:FileType>.csl</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/XmlFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\xml.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"html\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.html</uap:FileType>\n              <uap:FileType>.htm</uap:FileType>\n              <uap:FileType>.shtml</uap:FileType>\n              <uap:FileType>.xhtml</uap:FileType>\n              <uap:FileType>.mdoc</uap:FileType>\n              <uap:FileType>.jshtm</uap:FileType>\n              <uap:FileType>.volt</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/HtmlFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\html.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"asp\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.asp</uap:FileType>\n              <uap:FileType>.aspx</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/AspFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\asp.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"jsp\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.jsp</uap:FileType>\n              <uap:FileType>.jspx</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/JspFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\jsp.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"css\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.css</uap:FileType>\n              <uap:FileType>.scss</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/CssFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\css.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"sh\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.sh</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/ShellScriptFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\sh.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"runcom\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.bashrc</uap:FileType>\n              <uap:FileType>.vimrc</uap:FileType>\n              <uap:FileType>.rc</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/RunCommandsFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\rc.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"bash\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.bash</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/BashScriptFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\bash.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"javascript\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.js</uap:FileType>\n              <uap:FileType>.jsx</uap:FileType>\n              <uap:FileType>.es6</uap:FileType>\n              <uap:FileType>.mjs</uap:FileType>\n              <uap:FileType>.cjs</uap:FileType>\n              <uap:FileType>.pac</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/JavascriptFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\js.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"typescript\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.ts</uap:FileType>\n              <uap:FileType>.tsx</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/TypeScriptFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"lua\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.lua</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/LuaFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"c\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.c</uap:FileType>\n              <uap:FileType>.m</uap:FileType>\n              <uap:FileType>.i</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/CFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\c.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"cpp\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.cc</uap:FileType>\n              <uap:FileType>.mm</uap:FileType>\n              <uap:FileType>.cpp</uap:FileType>\n              <uap:FileType>.cxx</uap:FileType>\n              <uap:FileType>.ii</uap:FileType>\n              <uap:FileType>.ino</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/CppFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\cpp.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"h\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.h</uap:FileType>\n              <uap:FileType>.hh</uap:FileType>\n              <uap:FileType>.hpp</uap:FileType>\n              <uap:FileType>.hxx</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/HeaderFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\h.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"cmake\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.cmake</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/CmakeFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"csharp\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.cs</uap:FileType>\n              <uap:FileType>.csx</uap:FileType>\n              <uap:FileType>.cake</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/CSharpFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\cs.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"php\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.php</uap:FileType>\n              <uap:FileType>.php4</uap:FileType>\n              <uap:FileType>.php5</uap:FileType>\n              <uap:FileType>.phtml</uap:FileType>\n              <uap:FileType>.ctp</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/PhpFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\php.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"python\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.py</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/PythonFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\py.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"rb\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.rb</uap:FileType>\n              <uap:FileType>.rbx</uap:FileType>\n              <uap:FileType>.rjs</uap:FileType>\n              <uap:FileType>.gemspec</uap:FileType>\n              <uap:FileType>.rake</uap:FileType>\n              <uap:FileType>.ru</uap:FileType>\n              <uap:FileType>.erb</uap:FileType>\n              <uap:FileType>.rbi</uap:FileType>\n              <uap:FileType>.arb</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/RubyFileDisplayName</uap:DisplayName>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n            <uap:Logo>Assets\\FileIcons\\rb.png</uap:Logo>\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"java\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.java</uap:FileType>\n              <uap:FileType>.jav</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/JavaFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\java.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"vb\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.vb</uap:FileType>\n              <uap:FileType>.vbs</uap:FileType>\n              <uap:FileType>.brs</uap:FileType>\n              <uap:FileType>.bas</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/VisualBasicFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\vb.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"go\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.go</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/GoFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"srt\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.srt</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/SubtitleFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\srt.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"ass\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.ass</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/AegisubAdvancedSubtitleFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\ass.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"ssa\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.ssa</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/SubStationAlphaSubtitleFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\ssa.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"vue\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.vue</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/VueFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\vue.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"vuerc\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.vuerc</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/VueConfigFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\vue.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"gitconfig\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.gitconfig</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/GitConfigFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"gitignore\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.gitignore</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/GitIgnoreFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"gitattributes\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.gitattributes</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/GitAttributesFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"project\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.project</uap:FileType>\n              <uap:FileType>.prj</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/ProjectFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"npmrc\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.npmrc</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/NpmConfigFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"bash_history\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.bash_history</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/BashHistoryFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"bash_aliases\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.bash_aliases</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/BashAliasesFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"bash_profile\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.bash_profile</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/BashProfileFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"bash_login\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.bash_login</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/BashLoginFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"bash_logout\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.bash_logout</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/BashLogoutFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"cgi\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.cgi</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/CgiFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"perl\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.pl</uap:FileType>\n              <uap:FileType>.pm</uap:FileType>\n              <uap:FileType>.psgi</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/PerlFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\perl.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"buildpath\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.buildpath</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/BuildPathFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"sql\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.sql</uap:FileType>\n              <uap:FileType>.dsql</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/SqlFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\sql.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"nfo\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.nfo</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/NfoFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"ahk\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.ahk</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/AutoHotkeyScriptFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"zshrc\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.zshrc</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/ZshellConfigFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"zsh_history\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.zsh_history</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/ZshellHistoryFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"lrc\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.lrc</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/LrcFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"verilog\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.v</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/VerilogFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"dat\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.dat</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/DatFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"glsp\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.glsp</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/GlspFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"asm\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.asm</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/AsmFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"clojure\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.clj</uap:FileType>\n              <uap:FileType>.cljs</uap:FileType>\n              <uap:FileType>.cljc</uap:FileType>\n              <uap:FileType>.cljx</uap:FileType>\n              <uap:FileType>.clojure</uap:FileType>\n              <uap:FileType>.edn</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/ClojureFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"coffeescript\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.coffee</uap:FileType>\n              <uap:FileType>.cson</uap:FileType>\n              <uap:FileType>.iced</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/CoffeeScriptFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"dockerfile\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.dockerfile</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/DockerFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"fsharp\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.fs</uap:FileType>\n              <uap:FileType>.fsi</uap:FileType>\n              <uap:FileType>.fsx</uap:FileType>\n              <uap:FileType>.fsscript</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/FSharpFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"diff\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.patch</uap:FileType>\n              <uap:FileType>.diff</uap:FileType>\n              <uap:FileType>.rej</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/DiffFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"groovy\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.groovy</uap:FileType>\n              <uap:FileType>.gvy</uap:FileType>\n              <uap:FileType>.gradle</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/GroovyFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"handlebars\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.handlebars</uap:FileType>\n              <uap:FileType>.hbs</uap:FileType>\n              <uap:FileType>.hjs</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/HandlebarsFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"hlsl\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.hlsl</uap:FileType>\n              <uap:FileType>.hlsli</uap:FileType>\n              <uap:FileType>.fx</uap:FileType>\n              <uap:FileType>.fxh</uap:FileType>\n              <uap:FileType>.vsh</uap:FileType>\n              <uap:FileType>.psh</uap:FileType>\n              <uap:FileType>.cginc</uap:FileType>\n              <uap:FileType>.compute</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/HlslFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"map\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.map</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/MapFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"less\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.less</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/LessFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"t\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.t</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/TFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"pod\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.pod</uap:FileType>\n              <uap:FileType>.podspec</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/PodFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"perl6\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.p6</uap:FileType>\n              <uap:FileType>.pl6</uap:FileType>\n              <uap:FileType>.pm6</uap:FileType>\n              <uap:FileType>.nqp</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/Perl6FileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\perl.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"razor\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.cshtml</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/RazorFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"rust\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.rs</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/RustFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"shader\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.shader</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/ShaderFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"pug\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.jade</uap:FileType>\n              <uap:FileType>.pug</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/PugFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"r\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.r</uap:FileType>\n              <uap:FileType>.rhistory</uap:FileType>\n              <uap:FileType>.rprofile</uap:FileType>\n              <uap:FileType>.rt</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/RFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"install\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.install</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/InstallFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"profile\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.profile</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/ProfileFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"ebuild\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.ebuild</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/EBuildFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"swift\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.swift</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/SwiftFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"powershell\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.ps1</uap:FileType>\n              <uap:FileType>.psm1</uap:FileType>\n              <uap:FileType>.psd1</uap:FileType>\n              <uap:FileType>.pssc</uap:FileType>\n              <uap:FileType>.psrc</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/PowerShellFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"xaml\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.xaml</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/XamlFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"user\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.user</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/UserFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"bond\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.bond</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/BondFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"htaccess\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.htaccess</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/HypertextAccessFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"csv\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.csv</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/CommaSeparatedValuesFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"m3u\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.m3u</uap:FileType>\n              <uap:FileType>.m3u8</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/M3uFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"glslp\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.glslp</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/GlslFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"cht\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.cht</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/CheatFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"opt\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.opt</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/OptFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"env\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.env</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/EnvironmentFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"toml\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.toml</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/TomlFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"pvd\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.pvd</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/PvdFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"xsl\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.xsl</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/XslFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"lic\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.lic</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/LicenseFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"csproj\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.csproj</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/CSharpeProjectFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"resx\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.resx</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/ResourceFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"plist\">\n            <uap:SupportedFileTypes>\n              <uap:FileType>.plist</uap:FileType>\n            </uap:SupportedFileTypes>\n            <uap:DisplayName>ms-resource:Manifest/PropertyListFileDisplayName</uap:DisplayName>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n        <uap:Extension Category=\"windows.fileTypeAssociation\">\n          <uap:FileTypeAssociation Name=\"anyfile\">\n            <uap:SupportedFileTypes>\n              <!--Need one uap:FileType to pass manifest validation-->\n              <uap:FileType>.randomextension</uap:FileType>\n              <uap10:FileType>*</uap10:FileType>\n            </uap:SupportedFileTypes>\n            <uap:Logo>Assets\\FileIcons\\file.png</uap:Logo>\n            <uap:EditFlags OpenIsSafe=\"true\" />\n          </uap:FileTypeAssociation>\n        </uap:Extension>\n      </Extensions>\n    </Application>\n  </Applications>\n  \n  <Capabilities>\n    <Capability Name=\"internetClient\" />\n    <rescap:Capability Name=\"confirmAppClose\" />\n  </Capabilities>\n</Package>"
  },
  {
    "path": "src/Notepads/Package.targets",
    "content": "<Project ToolsVersion=\"15.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <PropertyGroup>\n    <!-- Remove `Language` identifier to embed all languages in package by default -->\n    <!-- https://docs.microsoft.com/en-us/windows/uwp/app-resources/build-resources-into-app-package -->\n    <AppxBundleAutoResourcePackageQualifiers>Scale|DXFeatureLevel</AppxBundleAutoResourcePackageQualifiers>\n  </PropertyGroup>\n  \n  <UsingTask TaskName=\"UpdateNotepadsPackageManifest\" TaskFactory=\"CodeTaskFactory\" AssemblyFile=\"$(MSBuildToolsPath)\\Microsoft.Build.Tasks.Core.dll\">\n    <ParameterGroup>\n      <ManifestPath ParameterType=\"System.String\" Required=\"true\" Output=\"true\" />\n      <OutDir ParameterType=\"System.String\" />\n      <Configuration ParameterType=\"System.String\" />\n    </ParameterGroup>\n    <Task>\n      <Reference Include=\"System.IO\" />\n      <Reference Include=\"System.Xml\" />\n      <Using Namespace=\"System.IO\" />\n      <Using Namespace=\"System.Xml\" />\n      <Code Type=\"Fragment\" Language=\"cs\">\n        <![CDATA[\n          Directory.CreateDirectory(OutDir);\n          var appName = \"Notepads\" + (Configuration.Equals(\"Production\") ? \"\" : \"-Dev\");\n          var manifest = new XmlDocument();\n          manifest.Load(ManifestPath);\n          ManifestPath = OutDir.TrimEnd('\\\\') + @\"\\Package.appxmanifest\";\n          manifest[\"Package\"][\"Identity\"].SetAttribute(\"Name\", appName);\n          manifest[\"Package\"][\"Applications\"][\"Application\"][\"uap:VisualElements\"].SetAttribute(\"DisplayName\", appName);\n          manifest[\"Package\"][\"Applications\"][\"Application\"][\"Extensions\"]\n            [\"uap5:Extension\"][\"uap5:AppExecutionAlias\"][\"uap5:ExecutionAlias\"].SetAttribute(\"Alias\", appName + \".exe\");\n          manifest.Save(ManifestPath);\n        ]]>\n      </Code>\n    </Task>\n  </UsingTask>\n  \n  <UsingTask TaskName=\"GenerateAppxDefaultResourceQualifiers\" TaskFactory=\"CodeTaskFactory\" AssemblyFile=\"$(MSBuildToolsPath)\\Microsoft.Build.Tasks.Core.dll\">\n    <ParameterGroup>\n      <ResourceGroupPath ParameterType=\"System.String\" Required=\"true\" />\n      <AppxDefaultResourceQualifiers ParameterType=\"System.String\" Output=\"true\" />\n    </ParameterGroup>\n    <Task>\n      <Reference Include=\"System\" />\n      <Reference Include=\"System.IO\" />\n      <Using Namespace=\"System\" />\n      <Using Namespace=\"System.IO\" />\n      <Code Type=\"Fragment\" Language=\"cs\">\n        <![CDATA[\n          ResourceGroupPath = Path.GetFullPath(ResourceGroupPath);\n          AppxDefaultResourceQualifiers = \"Language=\" +\n                string.Join(\n                    \";\",\n                    Array.ConvertAll<DirectoryInfo, string>(\n                        new DirectoryInfo(ResourceGroupPath).GetDirectories(),\n                        dir => dir.Name));\n        ]]>\n      </Code>\n    </Task>\n  </UsingTask>\n\n  <Target Name=\"UpdateAppxManifest\" BeforeTargets=\"BeforeBuild\" Condition=\"'$(Configuration)' != 'Production'\">\n    <UpdateNotepadsPackageManifest ManifestPath=\"%(AppxManifest.FullPath)\"\n                            OutDir=\"$(ProjectDir)$(BaseIntermediateOutputPath)\"\n                            Configuration=\"$(Configuration)\">\n      <Output TaskParameter=\"ManifestPath\" PropertyName=\"GeneratedAppxManifest\" />\n    </UpdateNotepadsPackageManifest>\n    <ItemGroup>\n      <AppxManifest Remove=\"%(AppxManifest.Identity)\" />\n      <AppxManifest Include=\"$(GeneratedAppxManifest)\" />\n    </ItemGroup>\n  </Target>\n\n  <!-- Manually set resource qualifiers after removing `Language` qualifier from Resource Package Qualifiers-->\n  <!-- https://docs.microsoft.com/en-us/windows/uwp/app-resources/build-resources-into-app-package -->\n  <Target Name=\"SetAppxDefaultResourceQualifiers\" BeforeTargets=\"BeforeBuild\">\n    <GenerateAppxDefaultResourceQualifiers ResourceGroupPath=\"$(ProjectDir)..\\Notepads\\Strings\">\n      <Output TaskParameter=\"AppxDefaultResourceQualifiers\" PropertyName=\"AppxDefaultResourceQualifiers\" />\n    </GenerateAppxDefaultResourceQualifiers>\n  </Target>\n</Project>"
  },
  {
    "path": "src/Notepads/Program.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads\r\n{\r\n    using System;\r\n    using System.Linq;\r\n    using System.Threading.Tasks;\r\n    using Notepads.Services;\r\n    using Notepads.Settings;\r\n    using Windows.ApplicationModel;\r\n    using Windows.ApplicationModel.Activation;\r\n\r\n    public static class Program\r\n    {\r\n        static void Main(string[] args)\r\n        {\r\n#if DEBUG\r\n            Task.Run(LoggingService.InitializeFileSystemLoggingAsync);\r\n#endif\r\n\r\n            IActivatedEventArgs activatedArgs = AppInstance.GetActivatedEventArgs();\r\n\r\n            //if (activatedArgs == null)\r\n            //{\r\n            //    // No activated event args, so this is not an activation via the multi-instance ID\r\n            //    // Just create a new instance and let App OnActivated resolve the launch\r\n            //    App.IsGameBarWidget = true;\r\n            //    App.IsPrimaryInstance = true;\r\n            //    Windows.UI.Xaml.Application.Start(p => new App());\r\n            //}\r\n\r\n            if (activatedArgs is FileActivatedEventArgs)\r\n            {\r\n                RedirectOrCreateNewInstance();\r\n            }\r\n            else if (activatedArgs is CommandLineActivatedEventArgs)\r\n            {\r\n                RedirectOrCreateNewInstance();\r\n            }\r\n            else if (activatedArgs is ProtocolActivatedEventArgs protocolActivatedEventArgs)\r\n            {\r\n                LoggingService.LogInfo($\"[{nameof(Main)}] [ProtocolActivated] Protocol: {protocolActivatedEventArgs.Uri}\");\r\n                var protocol = NotepadsProtocolService.GetOperationProtocol(protocolActivatedEventArgs.Uri, out _);\r\n                if (protocol == NotepadsOperationProtocol.OpenNewInstance)\r\n                {\r\n                    OpenNewInstance();\r\n                }\r\n                else\r\n                {\r\n                    RedirectOrCreateNewInstance();\r\n                }\r\n            }\r\n            else if (activatedArgs is LaunchActivatedEventArgs launchActivatedEventArgs)\r\n            {\r\n                bool handled = false;\r\n\r\n                if (!string.IsNullOrEmpty(launchActivatedEventArgs.Arguments))\r\n                {\r\n                    var protocol = NotepadsProtocolService.GetOperationProtocol(new Uri(launchActivatedEventArgs.Arguments), out _);\r\n                    if (protocol == NotepadsOperationProtocol.OpenNewInstance)\r\n                    {\r\n                        handled = true;\r\n                        OpenNewInstance();\r\n                    }\r\n                }\r\n\r\n                if (!handled)\r\n                {\r\n                    RedirectOrCreateNewInstance();\r\n                }\r\n            }\r\n            else\r\n            {\r\n                RedirectOrCreateNewInstance();\r\n            }\r\n        }\r\n\r\n        private static void OpenNewInstance()\r\n        {\r\n            AppInstance.FindOrRegisterInstanceForKey(App.InstanceId.ToString());\r\n            Windows.UI.Xaml.Application.Start(p => new App());\r\n        }\r\n\r\n        private static void RedirectOrCreateNewInstance()\r\n        {\r\n            var instance = (GetLastActiveInstance() ?? AppInstance.FindOrRegisterInstanceForKey(App.InstanceId.ToString()));\r\n\r\n            if (instance.IsCurrentInstance)\r\n            {\r\n                Windows.UI.Xaml.Application.Start(p => new App());\r\n            }\r\n            else\r\n            {\r\n                // open new instance if user prefers to\r\n                if (ApplicationSettingsStore.Read(SettingsKey.AlwaysOpenNewWindowBool) is bool alwaysOpenNewWindowBool && alwaysOpenNewWindowBool)\r\n                {\r\n                    OpenNewInstance();\r\n                }\r\n                else\r\n                {\r\n                    instance.RedirectActivationTo();\r\n                }\r\n            }\r\n        }\r\n\r\n        private static AppInstance GetLastActiveInstance()\r\n        {\r\n            var instances = AppInstance.GetInstances();\r\n\r\n            if (instances.Count == 0)\r\n            {\r\n                return null;\r\n            }\r\n            else if (instances.Count == 1)\r\n            {\r\n                return instances.FirstOrDefault();\r\n            }\r\n\r\n            if (!(ApplicationSettingsStore.Read(SettingsKey.ActiveInstanceIdStr) is string activeInstance))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            foreach (var appInstance in instances)\r\n            {\r\n                if (appInstance.Key == activeInstance)\r\n                {\r\n                    return appInstance;\r\n                }\r\n            }\r\n\r\n            // activeInstance might be closed already, let's return the first instance in this case\r\n            return instances.FirstOrDefault();\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Properties/AssemblyInfo.cs",
    "content": "﻿using System.Reflection;\r\nusing System.Runtime.InteropServices;\r\n\r\n// General Information about an assembly is controlled through the following \r\n// set of attributes. Change these attribute values to modify the information\r\n// associated with an assembly.\r\n[assembly: AssemblyTitle(\"Notepads\")]\r\n[assembly: AssemblyDescription(\"A modern, lightweight text editor with a minimalist design.\")]\r\n[assembly: AssemblyConfiguration(\"\")]\r\n[assembly: AssemblyCompany(\"\")]\r\n[assembly: AssemblyProduct(\"Notepads\")]\r\n[assembly: AssemblyCopyright(\"Copyright © 2019-2024 Jackie (Jiaqi) Liu\")]\r\n[assembly: AssemblyTrademark(\"\")]\r\n[assembly: AssemblyCulture(\"\")]\r\n\r\n// Version information for an assembly consists of the following four values:\r\n//\r\n//      Major Version\r\n//      Minor Version \r\n//      Build Number\r\n//      Revision\r\n//\r\n// You can specify all the values or you can default the Build and Revision Numbers \r\n// by using the '*' as shown below:\r\n// [assembly: AssemblyVersion(\"1.0.*\")]\r\n[assembly: AssemblyVersion(\"1.0.0.0\")]\r\n[assembly: AssemblyFileVersion(\"1.0.0.0\")]\r\n[assembly: ComVisible(false)]"
  },
  {
    "path": "src/Notepads/Properties/Default.rd.xml",
    "content": "<!--\n    This file contains Runtime Directives used by .NET Native. The defaults here are suitable for most\n    developers. However, you can modify these parameters to modify the behavior of the .NET Native\n    optimizer.\n\n    Runtime Directives are documented at https://go.microsoft.com/fwlink/?LinkID=391919\n\n    To fully enable reflection for App1.MyClass and all of its public/private members\n    <Type Name=\"App1.MyClass\" Dynamic=\"Required All\"/>\n\n    To enable dynamic creation of the specific instantiation of AppClass<T> over System.Int32\n    <TypeInstantiation Name=\"App1.AppClass\" Arguments=\"System.Int32\" Activate=\"Required Public\" />\n\n    Using the Namespace directive to apply reflection policy to all the types in a particular namespace\n    <Namespace Name=\"DataClasses.ViewModels\" Serialize=\"All\" />\n-->\n\n<Directives xmlns=\"http://schemas.microsoft.com/netfx/2013/01/metadata\">\n  <Application>\n    <!--\n      An Assembly element with Name=\"*Application*\" applies to all assemblies in\n      the application package. The asterisks are not wildcards.\n    -->\n    <Assembly Name=\"*Application*\" Dynamic=\"Required All\" />\n    \n    \n    <!-- Add your application specific runtime directives here. -->\n\n\n  </Application>\n</Directives>"
  },
  {
    "path": "src/Notepads/Resource/CustomAppBarButtonStyle.xaml",
    "content": "﻿<ResourceDictionary\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" \r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:local=\"using:Notepads\">\r\n    <Style x:Key=\"CustomAppBarButtonLabelToRightStyle\" TargetType=\"AppBarButton\">\r\n        <Setter Property=\"Background\" Value=\"{ThemeResource AppBarButtonRevealBackground}\"/>\r\n        <Setter Property=\"Foreground\" Value=\"{ThemeResource AppBarButtonForeground}\"/>\r\n        <Setter Property=\"BorderBrush\" Value=\"{ThemeResource AppBarButtonRevealBorderBrush}\"/>\r\n        <Setter Property=\"HorizontalAlignment\" Value=\"Left\"/>\r\n        <Setter Property=\"VerticalAlignment\" Value=\"Top\"/>\r\n        <Setter Property=\"FontFamily\" Value=\"{ThemeResource ContentControlThemeFontFamily}\"/>\r\n        <Setter Property=\"FontWeight\" Value=\"Normal\"/>\r\n        <Setter Property=\"Width\" Value=\"Auto\"/>\r\n        <Setter Property=\"UseSystemFocusVisuals\" Value=\"{StaticResource UseSystemFocusVisuals}\"/>\r\n        <Setter Property=\"AllowFocusOnInteraction\" Value=\"False\"/>\r\n        <Setter Property=\"KeyboardAcceleratorPlacementMode\" Value=\"Hidden\"/>\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"AppBarButton\">\r\n                    <Grid x:Name=\"Root\" Background=\"{TemplateBinding Background}\" BorderThickness=\"{TemplateBinding BorderThickness}\" BorderBrush=\"{TemplateBinding BorderBrush}\" CornerRadius=\"{TemplateBinding CornerRadius}\" MinWidth=\"{TemplateBinding MinWidth}\" MaxWidth=\"{TemplateBinding MaxWidth}\">\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"ApplicationViewStates\">\r\n                                <VisualState x:Name=\"FullSize\"/>\r\n                                <VisualState x:Name=\"Compact\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"TextLabel\" Storyboard.TargetProperty=\"Visibility\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"Collapsed\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"LabelOnRight\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentViewbox\" Storyboard.TargetProperty=\"Margin\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource AppBarButtonContentViewboxMargin}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"MinHeight\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource AppBarThemeCompactHeight}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"TextLabel\" Storyboard.TargetProperty=\"(Grid.Row)\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"0\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"TextLabel\" Storyboard.TargetProperty=\"(Grid.Column)\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"1\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"TextLabel\" Storyboard.TargetProperty=\"TextAlignment\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"Left\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"TextLabel\" Storyboard.TargetProperty=\"Margin\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{StaticResource AppBarButtonTextLabelOnRightMargin}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"LabelCollapsed\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"MinHeight\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource AppBarThemeCompactHeight}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"TextLabel\" Storyboard.TargetProperty=\"Visibility\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"Collapsed\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Overflow\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"ContentRoot.MinHeight\" Value=\"0\"/>\r\n                                        <Setter Target=\"ContentViewbox.Visibility\" Value=\"Collapsed\"/>\r\n                                        <Setter Target=\"TextLabel.Visibility\" Value=\"Collapsed\"/>\r\n                                        <Setter Target=\"OverflowTextLabel.Visibility\" Value=\"Visible\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"OverflowWithToggleButtons\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"ContentRoot.MinHeight\" Value=\"0\"/>\r\n                                        <Setter Target=\"ContentViewbox.Visibility\" Value=\"Collapsed\"/>\r\n                                        <Setter Target=\"TextLabel.Visibility\" Value=\"Collapsed\"/>\r\n                                        <Setter Target=\"OverflowTextLabel.Visibility\" Value=\"Visible\"/>\r\n                                        <Setter Target=\"OverflowTextLabel.Margin\" Value=\"38,0,12,0\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"OverflowWithMenuIcons\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"ContentRoot.MinHeight\" Value=\"0\"/>\r\n                                        <Setter Target=\"ContentViewbox.HorizontalAlignment\" Value=\"Left\"/>\r\n                                        <Setter Target=\"ContentViewbox.VerticalAlignment\" Value=\"Center\"/>\r\n                                        <Setter Target=\"ContentViewbox.Width\" Value=\"16\"/>\r\n                                        <Setter Target=\"ContentViewbox.Height\" Value=\"16\"/>\r\n                                        <Setter Target=\"ContentViewbox.Margin\" Value=\"12,0,12,0\"/>\r\n                                        <Setter Target=\"TextLabel.Visibility\" Value=\"Collapsed\"/>\r\n                                        <Setter Target=\"OverflowTextLabel.Visibility\" Value=\"Visible\"/>\r\n                                        <Setter Target=\"OverflowTextLabel.Margin\" Value=\"38,0,12,0\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"OverflowWithToggleButtonsAndMenuIcons\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"ContentRoot.MinHeight\" Value=\"0\"/>\r\n                                        <Setter Target=\"ContentViewbox.HorizontalAlignment\" Value=\"Left\"/>\r\n                                        <Setter Target=\"ContentViewbox.VerticalAlignment\" Value=\"Center\"/>\r\n                                        <Setter Target=\"ContentViewbox.Width\" Value=\"16\"/>\r\n                                        <Setter Target=\"ContentViewbox.Height\" Value=\"16\"/>\r\n                                        <Setter Target=\"ContentViewbox.Margin\" Value=\"38,0,12,0\"/>\r\n                                        <Setter Target=\"TextLabel.Visibility\" Value=\"Collapsed\"/>\r\n                                        <Setter Target=\"OverflowTextLabel.Visibility\" Value=\"Visible\"/>\r\n                                        <Setter Target=\"OverflowTextLabel.Margin\" Value=\"76,0,12,0\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                            <VisualStateGroup x:Name=\"CommonStates\">\r\n                                <VisualState x:Name=\"Normal\">\r\n                                    <Storyboard>\r\n                                        <PointerUpThemeAnimation Storyboard.TargetName=\"OverflowTextLabel\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"PointerOver\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"Root.Background\" Value=\"{ThemeResource AppBarButtonBackgroundPointerOver}\"/>\r\n                                        <Setter Target=\"Root.BorderBrush\" Value=\"{ThemeResource AppBarButtonBorderBrushPointerOver}\"/>\r\n                                        <Setter Target=\"AppBarButtonInnerBorder.Stroke\" Value=\"{ThemeResource AppBarButtonBorderBrushPointerOver}\"/>\r\n                                        <Setter Target=\"Content.Foreground\" Value=\"{ThemeResource AppBarButtonForegroundPointerOver}\"/>\r\n                                        <Setter Target=\"TextLabel.Foreground\" Value=\"{ThemeResource AppBarButtonForegroundPointerOver}\"/>\r\n                                        <Setter Target=\"OverflowTextLabel.Foreground\" Value=\"{ThemeResource AppBarButtonForegroundPointerOver}\"/>\r\n                                        <Setter Target=\"KeyboardAcceleratorTextLabel.Foreground\" Value=\"{ThemeResource AppBarButtonKeyboardAcceleratorTextForegroundPointerOver}\"/>\r\n                                    </VisualState.Setters>\r\n                                    <Storyboard>\r\n                                        <PointerUpThemeAnimation Storyboard.TargetName=\"OverflowTextLabel\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Pressed\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"Root.Background\" Value=\"{ThemeResource AppBarButtonBackgroundPressed}\"/>\r\n                                        <Setter Target=\"Root.BorderBrush\" Value=\"{ThemeResource AppBarButtonBorderBrushPressed}\"/>\r\n                                        <Setter Target=\"AppBarButtonInnerBorder.Stroke\" Value=\"{ThemeResource AppBarButtonBorderBrushPressed}\"/>\r\n                                        <Setter Target=\"Content.Foreground\" Value=\"{ThemeResource AppBarButtonForegroundPressed}\"/>\r\n                                        <Setter Target=\"TextLabel.Foreground\" Value=\"{ThemeResource AppBarButtonForegroundPressed}\"/>\r\n                                        <Setter Target=\"OverflowTextLabel.Foreground\" Value=\"{ThemeResource AppBarButtonForegroundPressed}\"/>\r\n                                        <Setter Target=\"KeyboardAcceleratorTextLabel.Foreground\" Value=\"{ThemeResource AppBarButtonKeyboardAcceleratorTextForegroundPressed}\"/>\r\n                                    </VisualState.Setters>\r\n                                    <Storyboard>\r\n                                        <PointerDownThemeAnimation Storyboard.TargetName=\"OverflowTextLabel\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Disabled\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"Root.Background\" Value=\"{ThemeResource AppBarButtonBackgroundDisabled}\"/>\r\n                                        <Setter Target=\"Root.BorderBrush\" Value=\"{ThemeResource AppBarButtonBorderBrushDisabled}\"/>\r\n                                        <Setter Target=\"AppBarButtonInnerBorder.Stroke\" Value=\"{ThemeResource AppBarButtonBorderBrushDisabled}\"/>\r\n                                        <Setter Target=\"Content.Foreground\" Value=\"{ThemeResource AppBarButtonForegroundDisabled}\"/>\r\n                                        <Setter Target=\"TextLabel.Foreground\" Value=\"{ThemeResource AppBarButtonForegroundDisabled}\"/>\r\n                                        <Setter Target=\"OverflowTextLabel.Foreground\" Value=\"{ThemeResource AppBarButtonForegroundDisabled}\"/>\r\n                                        <Setter Target=\"KeyboardAcceleratorTextLabel.Foreground\" Value=\"{ThemeResource AppBarButtonKeyboardAcceleratorTextForegroundDisabled}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"OverflowNormal\">\r\n                                    <Storyboard>\r\n                                        <PointerUpThemeAnimation Storyboard.TargetName=\"ContentRoot\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"OverflowPointerOver\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"Root.Background\" Value=\"{ThemeResource AppBarButtonBackgroundPointerOver}\"/>\r\n                                        <Setter Target=\"Root.BorderBrush\" Value=\"{ThemeResource AppBarButtonBorderBrushPointerOver}\"/>\r\n                                        <Setter Target=\"AppBarButtonInnerBorder.Stroke\" Value=\"{ThemeResource AppBarButtonBorderBrushPointerOver}\"/>\r\n                                        <Setter Target=\"Content.Foreground\" Value=\"{ThemeResource AppBarButtonForegroundPointerOver}\"/>\r\n                                        <Setter Target=\"TextLabel.Foreground\" Value=\"{ThemeResource AppBarButtonForegroundPointerOver}\"/>\r\n                                        <Setter Target=\"OverflowTextLabel.Foreground\" Value=\"{ThemeResource AppBarButtonForegroundPointerOver}\"/>\r\n                                        <Setter Target=\"KeyboardAcceleratorTextLabel.Foreground\" Value=\"{ThemeResource AppBarButtonKeyboardAcceleratorTextForegroundPointerOver}\"/>\r\n                                        <Setter Target=\"SubItemChevron.Foreground\" Value=\"{ThemeResource AppBarButtonSubItemChevronForegroundPointerOver}\"/>\r\n                                    </VisualState.Setters>\r\n                                    <Storyboard>\r\n                                        <PointerUpThemeAnimation Storyboard.TargetName=\"ContentRoot\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"OverflowPressed\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"Root.Background\" Value=\"{ThemeResource AppBarButtonBackgroundPressed}\"/>\r\n                                        <Setter Target=\"Root.BorderBrush\" Value=\"{ThemeResource AppBarButtonBorderBrushPressed}\"/>\r\n                                        <Setter Target=\"AppBarButtonInnerBorder.Stroke\" Value=\"{ThemeResource AppBarButtonBorderBrushPressed}\"/>\r\n                                        <Setter Target=\"Content.Foreground\" Value=\"{ThemeResource AppBarButtonForegroundPressed}\"/>\r\n                                        <Setter Target=\"TextLabel.Foreground\" Value=\"{ThemeResource AppBarButtonForegroundPressed}\"/>\r\n                                        <Setter Target=\"OverflowTextLabel.Foreground\" Value=\"{ThemeResource AppBarButtonForegroundPressed}\"/>\r\n                                        <Setter Target=\"KeyboardAcceleratorTextLabel.Foreground\" Value=\"{ThemeResource AppBarButtonKeyboardAcceleratorTextForegroundPressed}\"/>\r\n                                        <Setter Target=\"SubItemChevron.Foreground\" Value=\"{ThemeResource AppBarButtonSubItemChevronForegroundPressed}\"/>\r\n                                    </VisualState.Setters>\r\n                                    <Storyboard>\r\n                                        <PointerDownThemeAnimation Storyboard.TargetName=\"ContentRoot\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"OverflowSubMenuOpened\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"Root.Background\" Value=\"{ThemeResource AppBarButtonBackgroundSubMenuOpened}\"/>\r\n                                        <Setter Target=\"Root.BorderBrush\" Value=\"{ThemeResource AppBarButtonBorderBrushSubMenuOpened}\"/>\r\n                                        <Setter Target=\"AppBarButtonInnerBorder.Stroke\" Value=\"{ThemeResource AppBarButtonBorderBrushSubMenuOpened}\"/>\r\n                                        <Setter Target=\"Content.Foreground\" Value=\"{ThemeResource AppBarButtonForegroundSubMenuOpened}\"/>\r\n                                        <Setter Target=\"TextLabel.Foreground\" Value=\"{ThemeResource AppBarButtonForegroundSubMenuOpened}\"/>\r\n                                        <Setter Target=\"OverflowTextLabel.Foreground\" Value=\"{ThemeResource AppBarButtonForegroundSubMenuOpened}\"/>\r\n                                        <Setter Target=\"KeyboardAcceleratorTextLabel.Foreground\" Value=\"{ThemeResource AppBarButtonKeyboardAcceleratorTextForegroundSubMenuOpened}\"/>\r\n                                        <Setter Target=\"SubItemChevron.Foreground\" Value=\"{ThemeResource AppBarButtonSubItemChevronForegroundSubMenuOpened}\"/>\r\n                                    </VisualState.Setters>\r\n                                    <Storyboard>\r\n                                        <PointerUpThemeAnimation Storyboard.TargetName=\"ContentRoot\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                            <VisualStateGroup x:Name=\"InputModeStates\">\r\n                                <VisualState x:Name=\"InputModeDefault\"/>\r\n                                <VisualState x:Name=\"TouchInputMode\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"OverflowTextLabel.Padding\" Value=\"{ThemeResource AppBarButtonOverflowTextTouchMargin}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"GameControllerInputMode\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"OverflowTextLabel.Padding\" Value=\"{ThemeResource AppBarButtonOverflowTextTouchMargin}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                            <VisualStateGroup x:Name=\"KeyboardAcceleratorTextVisibility\">\r\n                                <VisualState x:Name=\"KeyboardAcceleratorTextCollapsed\"/>\r\n                                <VisualState x:Name=\"KeyboardAcceleratorTextVisible\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"KeyboardAcceleratorTextLabel.Visibility\" Value=\"Visible\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                            <VisualStateGroup x:Name=\"FlyoutStates\">\r\n                                <VisualState x:Name=\"NoFlyout\"/>\r\n                                <VisualState x:Name=\"HasFlyout\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"SubItemChevron.Visibility\" Value=\"Visible\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n                        <Rectangle x:Name=\"AppBarButtonInnerBorder\" StrokeThickness=\"1\" Stroke=\"{TemplateBinding BorderBrush}\"/>\r\n                        <Grid x:Name=\"ContentRoot\" MinHeight=\"{ThemeResource AppBarThemeCompactHeight}\">\r\n                            <Grid.ColumnDefinitions>\r\n                                <ColumnDefinition Width=\"Auto\"/>\r\n                                <ColumnDefinition Width=\"*\"/>\r\n                                <ColumnDefinition Width=\"Auto\"/>\r\n                            </Grid.ColumnDefinitions>\r\n                            <Grid.RowDefinitions>\r\n                                <RowDefinition Height=\"Auto\"/>\r\n                                <RowDefinition Height=\"Auto\"/>\r\n                            </Grid.RowDefinitions>\r\n                            <Viewbox x:Name=\"ContentViewbox\" AutomationProperties.AccessibilityView=\"Raw\" HorizontalAlignment=\"Left\" Margin=\"{ThemeResource AppBarButtonContentViewboxMargin}\">\r\n                                <ContentPresenter x:Name=\"Content\" Content=\"{TemplateBinding Icon}\" Foreground=\"{TemplateBinding Foreground}\"/>\r\n                            </Viewbox>\r\n                            <TextBlock x:Name=\"TextLabel\" AutomationProperties.AccessibilityView=\"Raw\" FontFamily=\"{TemplateBinding FontFamily}\" Foreground=\"{TemplateBinding Foreground}\" FontSize=\"12\" Text=\"{TemplateBinding Label}\" TextWrapping=\"Wrap\" Grid.Column=\"1\" VerticalAlignment=\"Center\" HorizontalAlignment=\"Left\" Margin=\"{StaticResource AppBarButtonTextLabelOnRightMargin}\"/>\r\n                            <TextBlock x:Name=\"OverflowTextLabel\" AutomationProperties.AccessibilityView=\"Raw\" FontFamily=\"{TemplateBinding FontFamily}\" Foreground=\"{TemplateBinding Foreground}\" HorizontalAlignment=\"Stretch\" Margin=\"12,0,12,0\" Padding=\"{ThemeResource AppBarButtonOverflowTextLabelPadding}\" Text=\"{TemplateBinding Label}\" TextTrimming=\"Clip\" TextWrapping=\"NoWrap\" TextAlignment=\"Left\" VerticalAlignment=\"Center\" Visibility=\"Collapsed\"/>\r\n                            <TextBlock x:Name=\"KeyboardAcceleratorTextLabel\" AutomationProperties.AccessibilityView=\"Raw\" Grid.Column=\"2\" Foreground=\"{ThemeResource AppBarButtonKeyboardAcceleratorTextForeground}\" HorizontalAlignment=\"Right\"  Margin=\"0,0,10,5\" MinWidth=\"{Binding TemplateSettings.KeyboardAcceleratorTextMinWidth, RelativeSource={RelativeSource Mode=TemplatedParent}}\" Style=\"{ThemeResource CaptionTextBlockStyle}\" Text=\"{TemplateBinding KeyboardAcceleratorTextOverride}\" VerticalAlignment=\"Center\" Visibility=\"Visible\"/>\r\n                            <FontIcon x:Name=\"SubItemChevron\" AutomationProperties.AccessibilityView=\"Raw\" Grid.Column=\"2\" FontFamily=\"{ThemeResource SymbolThemeFontFamily}\" Foreground=\"{ThemeResource MenuFlyoutSubItemChevron}\" FontSize=\"12\" Glyph=\"&#xE0E3;\" MirroredWhenRightToLeft=\"True\" Margin=\"12,0,12,0\" Visibility=\"Collapsed\"/>\r\n                        </Grid>\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n\r\n</ResourceDictionary>\r\n"
  },
  {
    "path": "src/Notepads/Resource/CustomCheckBoxStyle.xaml",
    "content": "﻿<ResourceDictionary\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" \r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:local=\"using:Notepads\">\r\n\r\n    <Style x:Key=\"CustomCheckBoxContentToLeftStyle\" TargetType=\"CheckBox\">\r\n        <Setter Property=\"Background\" Value=\"{ThemeResource CheckBoxBackgroundUnchecked}\"/>\r\n        <Setter Property=\"Foreground\" Value=\"{ThemeResource CheckBoxForegroundUnchecked}\"/>\r\n        <Setter Property=\"BorderBrush\" Value=\"{ThemeResource CheckBoxBorderBrushUnchecked}\"/>\r\n        <Setter Property=\"Padding\" Value=\"0,0,0,0\"/>\r\n        <Setter Property=\"HorizontalAlignment\" Value=\"Stretch\"/>\r\n        <Setter Property=\"VerticalAlignment\" Value=\"Center\"/>\r\n        <Setter Property=\"HorizontalContentAlignment\" Value=\"Stretch\"/>\r\n        <Setter Property=\"VerticalContentAlignment\" Value=\"Center\"/>\r\n        <Setter Property=\"FontFamily\" Value=\"{ThemeResource ContentControlThemeFontFamily}\"/>\r\n        <Setter Property=\"FontSize\" Value=\"{ThemeResource ControlContentThemeFontSize}\"/>\r\n        <Setter Property=\"MinWidth\" Value=\"120\"/>\r\n        <Setter Property=\"MinHeight\" Value=\"32\"/>\r\n        <Setter Property=\"UseSystemFocusVisuals\" Value=\"{StaticResource UseSystemFocusVisuals}\"/>\r\n        <Setter Property=\"FocusVisualMargin\" Value=\"-7,-3,-7,-3\"/>\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"CheckBox\">\r\n                    <Grid x:Name=\"RootGrid\" Background=\"{TemplateBinding Background}\" BorderThickness=\"{TemplateBinding BorderThickness}\" BorderBrush=\"{TemplateBinding BorderBrush}\" CornerRadius=\"{TemplateBinding CornerRadius}\"  HorizontalAlignment=\"{TemplateBinding HorizontalAlignment}\" Margin=\"{TemplateBinding Margin}\" VerticalAlignment=\"{TemplateBinding VerticalAlignment}\" Width=\"{TemplateBinding Width}\" Height=\"{TemplateBinding Height}\">\r\n                        <Grid.ColumnDefinitions>\r\n                            <ColumnDefinition Width=\"*\"/>\r\n                            <ColumnDefinition Width=\"20\"/>\r\n                        </Grid.ColumnDefinitions>\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"CombinedStates\">\r\n                                <VisualState x:Name=\"UncheckedNormal\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxForegroundUnchecked}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBackgroundUnchecked}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBorderBrushUnchecked}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundStrokeUnchecked}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundFillUnchecked}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckGlyphForegroundUnchecked}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"UncheckedPointerOver\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxForegroundUncheckedPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBackgroundUncheckedPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBorderBrushUncheckedPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundStrokeUncheckedPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundFillUncheckedPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckGlyphForegroundUncheckedPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"UncheckedPressed\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxForegroundUncheckedPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBackgroundUncheckedPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBorderBrushUncheckedPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundStrokeUncheckedPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundFillUncheckedPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckGlyphForegroundUncheckedPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <DoubleAnimation Duration=\"0\" Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"StrokeThickness\" To=\"{ThemeResource CheckBoxCheckedStrokeThickness}\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"UncheckedDisabled\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxForegroundUncheckedDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBackgroundUncheckedDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBorderBrushUncheckedDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundStrokeUncheckedDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundFillUncheckedDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckGlyphForegroundUncheckedDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"CheckedNormal\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxForegroundChecked}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBackgroundChecked}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBorderBrushChecked}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundStrokeChecked}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundFillChecked}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckGlyphForegroundChecked}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <DoubleAnimation Duration=\"0\" Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"StrokeThickness\" To=\"{ThemeResource CheckBoxCheckedStrokeThickness}\"/>\r\n                                        <DoubleAnimation Duration=\"0\" Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Opacity\" To=\"1\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"CheckedPointerOver\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxForegroundCheckedPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBackgroundCheckedPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBorderBrushCheckedPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundStrokeCheckedPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundFillCheckedPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckGlyphForegroundCheckedPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <DoubleAnimation Duration=\"0\" Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Opacity\" To=\"1\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"CheckedPressed\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxForegroundCheckedPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBackgroundCheckedPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBorderBrushCheckedPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundStrokeCheckedPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundFillCheckedPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckGlyphForegroundCheckedPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <DoubleAnimation Duration=\"0\" Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"StrokeThickness\" To=\"{ThemeResource CheckBoxCheckedStrokeThickness}\"/>\r\n                                        <DoubleAnimation Duration=\"0\" Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Opacity\" To=\"1\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"CheckedDisabled\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxForegroundCheckedDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBackgroundCheckedDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBorderBrushCheckedDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundStrokeCheckedDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundFillCheckedDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckGlyphForegroundCheckedDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <DoubleAnimation Duration=\"0\" Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Opacity\" To=\"1\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"IndeterminateNormal\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxForegroundIndeterminate}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBackgroundIndeterminate}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBorderBrushIndeterminate}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundStrokeIndeterminate}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundFillIndeterminate}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckGlyphForegroundIndeterminate}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Glyph\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"&#xE73C;\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <DoubleAnimation Duration=\"0\" Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Opacity\" To=\"1\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"IndeterminatePointerOver\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxForegroundIndeterminatePointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBackgroundIndeterminatePointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBorderBrushIndeterminatePointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundStrokeIndeterminatePointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundFillIndeterminatePointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckGlyphForegroundIndeterminatePointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Glyph\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"&#xE73C;\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <DoubleAnimation Duration=\"0\" Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Opacity\" To=\"1\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"IndeterminatePressed\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxForegroundIndeterminatePressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBackgroundIndeterminatePressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBorderBrushIndeterminatePressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundStrokeIndeterminatePressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundFillIndeterminatePressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckGlyphForegroundIndeterminatePressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Glyph\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"&#xE73C;\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <DoubleAnimation Duration=\"0\" Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Opacity\" To=\"1\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"IndeterminateDisabled\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxForegroundIndeterminateDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBackgroundIndeterminateDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxBorderBrushIndeterminateDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundStrokeIndeterminateDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"NormalRectangle\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckBackgroundFillIndeterminateDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource CheckBoxCheckGlyphForegroundIndeterminateDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Glyph\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"&#xE73C;\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <DoubleAnimation Duration=\"0\" Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Opacity\" To=\"1\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n                        <Grid Height=\"32\" VerticalAlignment=\"Center\" Grid.Column=\"1\" Margin=\"{TemplateBinding Padding}\" HorizontalAlignment=\"Right\">\r\n                            <Rectangle x:Name=\"NormalRectangle\" Fill=\"{ThemeResource CheckBoxCheckBackgroundFillUnchecked}\" Height=\"20\" StrokeThickness=\"{ThemeResource CheckBoxBorderThemeThickness}\" Stroke=\"{ThemeResource CheckBoxCheckBackgroundStrokeUnchecked}\" UseLayoutRounding=\"False\" Width=\"20\"/>\r\n                            <FontIcon x:Name=\"CheckGlyph\" FontFamily=\"{ThemeResource SymbolThemeFontFamily}\" Foreground=\"{ThemeResource CheckBoxCheckGlyphForegroundUnchecked}\" FontSize=\"20\" Glyph=\"&#xE001;\" Opacity=\"0\"/>\r\n                        </Grid>\r\n                        <ContentPresenter x:Name=\"ContentPresenter\" AutomationProperties.AccessibilityView=\"Raw\" ContentTemplate=\"{TemplateBinding ContentTemplate}\" Content=\"{TemplateBinding Content}\" ContentTransitions=\"{TemplateBinding ContentTransitions}\" TextWrapping=\"Wrap\" HorizontalAlignment=\"{TemplateBinding HorizontalContentAlignment}\" VerticalAlignment=\"{TemplateBinding VerticalContentAlignment}\"/>\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n</ResourceDictionary>\r\n"
  },
  {
    "path": "src/Notepads/Resource/CustomNavigationViewItemStyle.xaml",
    "content": "﻿<ResourceDictionary\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" \r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:local=\"using:Notepads\">\r\n\r\n    <Style x:Name=\"NavigationViewItemPresenterStyleWhenOnLeftPane\" TargetType=\"NavigationViewItemPresenter\">\r\n        <Setter Property=\"Foreground\" Value=\"{ThemeResource NavigationViewItemForeground}\"/>\r\n        <Setter Property=\"Background\" Value=\"{ThemeResource NavigationViewItemBackground}\"/>\r\n        <Setter Property=\"BorderBrush\" Value=\"{ThemeResource NavigationViewItemBorderBrush}\"/>\r\n        <Setter Property=\"BorderThickness\" Value=\"{StaticResource NavigationViewItemBorderThickness}\"/>\r\n        <Setter Property=\"UseSystemFocusVisuals\" Value=\"True\"/>\r\n        <Setter Property=\"HorizontalContentAlignment\" Value=\"Stretch\"/>\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"NavigationViewItemPresenter\">\r\n                    <Grid x:Name=\"LayoutRoot\" Background=\"{TemplateBinding Background}\" Height=\"40\" Control.IsTemplateFocusTarget=\"True\">\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"PointerStates\">\r\n                                <VisualState x:Name=\"Normal\"/>\r\n                                <VisualState x:Name=\"PointerOver\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"LayoutRoot.(RevealBrush.State)\" Value=\"PointerOver\"/>\r\n                                        <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource NavigationViewItemBackgroundPointerOver}\"/>\r\n                                        <Setter Target=\"RevealBorder.BorderBrush\" Value=\"{ThemeResource NavigationViewItemBorderBrushPointerOver}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource NavigationViewItemForegroundPointerOver}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Pressed\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"LayoutRoot.(RevealBrush.State)\" Value=\"Pressed\"/>\r\n                                        <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource NavigationViewItemBackgroundPressed}\"/>\r\n                                        <Setter Target=\"RevealBorder.BorderBrush\" Value=\"{ThemeResource NavigationViewItemBorderBrushPressed}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource NavigationViewItemForegroundPressed}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Selected\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource NavigationViewItemBackgroundSelected}\"/>\r\n                                        <Setter Target=\"RevealBorder.BorderBrush\" Value=\"{ThemeResource NavigationViewItemBorderBrushSelected}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource NavigationViewItemForegroundSelected}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"PointerOverSelected\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"LayoutRoot.(RevealBrush.State)\" Value=\"PointerOver\"/>\r\n                                        <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource NavigationViewItemBackgroundSelectedPointerOver}\"/>\r\n                                        <Setter Target=\"RevealBorder.BorderBrush\" Value=\"{ThemeResource NavigationViewItemBorderBrushSelectedPointerOver}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource NavigationViewItemForegroundSelectedPointerOver}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"PressedSelected\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"LayoutRoot.(RevealBrush.State)\" Value=\"Pressed\"/>\r\n                                        <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource NavigationViewItemBackgroundSelectedPressed}\"/>\r\n                                        <Setter Target=\"RevealBorder.BorderBrush\" Value=\"{ThemeResource NavigationViewItemBorderBrushSelectedPressed}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource NavigationViewItemForegroundSelectedPressed}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                            <VisualStateGroup x:Name=\"DisabledStates\">\r\n                                <VisualState x:Name=\"Enabled\"/>\r\n                                <VisualState x:Name=\"Disabled\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"RevealBorder.BorderBrush\" Value=\"{ThemeResource NavigationViewItemBorderBrushCheckedDisabled}\"/>\r\n                                        <Setter Target=\"LayoutRoot.Opacity\" Value=\"{ThemeResource ListViewItemDisabledThemeOpacity}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                            <VisualStateGroup x:Name=\"IconStates\">\r\n                                <VisualState x:Name=\"IconVisible\"/>\r\n                                <VisualState x:Name=\"IconCollapsed\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"IconBox.Visibility\" Value=\"Collapsed\"/>\r\n                                        <Setter Target=\"IconColumn.Width\" Value=\"16\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n                        <Grid HorizontalAlignment=\"Left\" VerticalAlignment=\"Center\">\r\n                            <Rectangle x:Name=\"SelectionIndicator\" Fill=\"{StaticResource SystemControlForegroundAccentBrush}\" Height=\"24\" Opacity=\"0.0\" Width=\"6\"/>\r\n                        </Grid>\r\n                        <Border x:Name=\"RevealBorder\" BorderThickness=\"{TemplateBinding BorderThickness}\" BorderBrush=\"{TemplateBinding BorderBrush}\"/>\r\n                        <Grid x:Name=\"ContentGrid\" HorizontalAlignment=\"Left\" Height=\"40\">\r\n                            <Grid.ColumnDefinitions>\r\n                                <ColumnDefinition x:Name=\"IconColumn\" Width=\"48\"/>\r\n                                <ColumnDefinition Width=\"*\"/>\r\n                            </Grid.ColumnDefinitions>\r\n                            <Viewbox x:Name=\"IconBox\" Margin=\"{ThemeResource NavigationViewItemIconBoxMargin}\">\r\n                                <ContentPresenter x:Name=\"Icon\" Content=\"{TemplateBinding Icon}\"/>\r\n                            </Viewbox>\r\n                            <ContentPresenter x:Name=\"ContentPresenter\" AutomationProperties.AccessibilityView=\"Raw\" ContentTemplate=\"{TemplateBinding ContentTemplate}\" Content=\"{TemplateBinding Content}\" ContentTransitions=\"{TemplateBinding ContentTransitions}\" ContentTemplateSelector=\"{TemplateBinding ContentTemplateSelector}\" Grid.Column=\"1\" HorizontalAlignment=\"{TemplateBinding HorizontalContentAlignment}\" Margin=\"{TemplateBinding Padding}\" VerticalAlignment=\"{TemplateBinding VerticalContentAlignment}\"/>\r\n                        </Grid>\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n    <Style x:Name=\"NavigationViewItemPresenterStyleWhenOnTopPane\" TargetType=\"NavigationViewItemPresenter\">\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"NavigationViewItemPresenter\">\r\n                    <Grid x:Name=\"LayoutRoot\" Background=\"{TemplateBinding Background}\" Control.IsTemplateFocusTarget=\"True\">\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"PointerStates\">\r\n                                <VisualState x:Name=\"Normal\"/>\r\n                                <VisualState x:Name=\"PointerOver\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource TopNavigationViewItemBackgroundPointerOver}\"/>\r\n                                        <Setter Target=\"PointerRectangle.Fill\" Value=\"{ThemeResource NavigationViewItemBackgroundPointerOver}\"/>\r\n                                        <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource TopNavigationViewItemForegroundPointerOver}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource TopNavigationViewItemForegroundPointerOver}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Pressed\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource TopNavigationViewItemBackgroundPressed}\"/>\r\n                                        <Setter Target=\"PointerRectangle.Fill\" Value=\"{ThemeResource NavigationViewItemBackgroundPressed}\"/>\r\n                                        <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource TopNavigationViewItemForegroundPressed}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource TopNavigationViewItemForegroundPressed}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Selected\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource TopNavigationViewItemBackgroundSelected}\"/>\r\n                                        <Setter Target=\"PointerRectangle.Fill\" Value=\"{ThemeResource NavigationViewItemBackgroundSelected}\"/>\r\n                                        <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource TopNavigationViewItemForegroundSelected}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource TopNavigationViewItemForegroundSelected}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"PointerOverSelected\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource TopNavigationViewItemBackgroundPointerOver}\"/>\r\n                                        <Setter Target=\"PointerRectangle.Fill\" Value=\"{ThemeResource NavigationViewItemBackgroundSelectedPointerOver}\"/>\r\n                                        <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource TopNavigationViewItemForegroundPointerOver}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource TopNavigationViewItemForegroundPointerOver}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"PressedSelected\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource TopNavigationViewItemBackgroundPressed}\"/>\r\n                                        <Setter Target=\"PointerRectangle.Fill\" Value=\"{ThemeResource NavigationViewItemBackgroundSelectedPressed}\"/>\r\n                                        <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource TopNavigationViewItemForegroundPressed}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource TopNavigationViewItemForegroundPressed}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                            <VisualStateGroup x:Name=\"DisabledStates\">\r\n                                <VisualState x:Name=\"Enabled\"/>\r\n                                <VisualState x:Name=\"Disabled\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource TopNavigationViewItemForegroundDisabled}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource TopNavigationViewItemForegroundDisabled}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                            <VisualStateGroup x:Name=\"NavigationViewIconPositionStates\">\r\n                                <VisualState x:Name=\"IconOnLeft\"/>\r\n                                <VisualState x:Name=\"IconOnly\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"PointerRectangle.Visibility\" Value=\"Visible\"/>\r\n                                        <Setter Target=\"LayoutRoot.Width\" Value=\"48\"/>\r\n                                        <Setter Target=\"ContentPresenter.Visibility\" Value=\"Collapsed\"/>\r\n                                        <Setter Target=\"SelectionIndicatorGrid.Margin\" Value=\"4,0,4,4\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"ContentOnly\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"IconBox.Visibility\" Value=\"Collapsed\"/>\r\n                                        <Setter Target=\"ContentPresenter.Margin\" Value=\"12,0\"/>\r\n                                        <Setter Target=\"SelectionIndicatorGrid.Margin\" Value=\"12,0,12,4\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n                        <Rectangle x:Name=\"PointerRectangle\" Fill=\"Transparent\" Visibility=\"Collapsed\"/>\r\n                        <Grid x:Name=\"ContentGrid\">\r\n                            <Grid.ColumnDefinitions>\r\n                                <ColumnDefinition Width=\"Auto\"/>\r\n                                <ColumnDefinition Width=\"*\"/>\r\n                            </Grid.ColumnDefinitions>\r\n                            <Viewbox x:Name=\"IconBox\" HorizontalAlignment=\"Center\" Height=\"16\" Margin=\"16,0,0,0\" VerticalAlignment=\"Center\" Width=\"16\">\r\n                                <ContentPresenter x:Name=\"Icon\" Content=\"{TemplateBinding Icon}\" Foreground=\"{ThemeResource TopNavigationViewItemForeground}\"/>\r\n                            </Viewbox>\r\n                            <ContentPresenter x:Name=\"ContentPresenter\" AutomationProperties.AccessibilityView=\"Raw\" ContentTemplate=\"{TemplateBinding ContentTemplate}\" Content=\"{TemplateBinding Content}\" ContentTransitions=\"{TemplateBinding ContentTransitions}\" ContentTemplateSelector=\"{TemplateBinding ContentTemplateSelector}\" Grid.Column=\"1\" Foreground=\"{ThemeResource TopNavigationViewItemForeground}\" HorizontalAlignment=\"{TemplateBinding HorizontalContentAlignment}\" Margin=\"8,0,16,0\" TextWrapping=\"NoWrap\" VerticalAlignment=\"Center\"/>\r\n                        </Grid>\r\n                        <Grid x:Name=\"SelectionIndicatorGrid\" Margin=\"16,0,16,4\" VerticalAlignment=\"Bottom\">\r\n                            <Rectangle x:Name=\"SelectionIndicator\" Fill=\"{ThemeResource NavigationViewSelectionIndicatorForeground}\" Height=\"2\" Opacity=\"0\"/>\r\n                        </Grid>\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n    <Style x:Name=\"NavigationViewItemPresenterStyleWhenOnTopPaneWithRevealFocus\" TargetType=\"NavigationViewItemPresenter\">\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"NavigationViewItemPresenter\">\r\n                    <Grid x:Name=\"LayoutRoot\" Background=\"{TemplateBinding Background}\" Control.IsTemplateFocusTarget=\"True\">\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"DisabledStates\">\r\n                                <VisualState x:Name=\"Enabled\"/>\r\n                                <VisualState x:Name=\"Disabled\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource TopNavigationViewItemForegroundDisabled}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource TopNavigationViewItemForegroundDisabled}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                            <VisualStateGroup x:Name=\"FocusStates\">\r\n                                <VisualState x:Name=\"Focused\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource TopNavigationViewItemRevealBackgroundFocused}\"/>\r\n                                        <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource TopNavigationViewItemRevealIconForegroundFocused}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource TopNavigationViewItemRevealContentForegroundFocused}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Unfocused\"/>\r\n                                <VisualState x:Name=\"PointerFocused\"/>\r\n                            </VisualStateGroup>\r\n                            <VisualStateGroup x:Name=\"NavigationViewIconPositionStates\">\r\n                                <VisualState x:Name=\"IconOnLeft\"/>\r\n                                <VisualState x:Name=\"IconOnly\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"PointerRectangle.Visibility\" Value=\"Visible\"/>\r\n                                        <Setter Target=\"LayoutRoot.Width\" Value=\"48\"/>\r\n                                        <Setter Target=\"ContentPresenter.Visibility\" Value=\"Collapsed\"/>\r\n                                        <Setter Target=\"SelectionIndicatorGrid.Margin\" Value=\"4,0\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"ContentOnly\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"IconBox.Visibility\" Value=\"Collapsed\"/>\r\n                                        <Setter Target=\"ContentPresenter.Margin\" Value=\"12,0\"/>\r\n                                        <Setter Target=\"SelectionIndicatorGrid.Margin\" Value=\"12,0\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n                        <Rectangle x:Name=\"PointerRectangle\" Fill=\"Transparent\" Visibility=\"Collapsed\"/>\r\n                        <Grid x:Name=\"ContentGrid\">\r\n                            <Grid.ColumnDefinitions>\r\n                                <ColumnDefinition Width=\"Auto\"/>\r\n                                <ColumnDefinition Width=\"*\"/>\r\n                            </Grid.ColumnDefinitions>\r\n                            <Viewbox x:Name=\"IconBox\" HorizontalAlignment=\"Center\" Height=\"16\" Margin=\"16,0,0,0\" VerticalAlignment=\"Center\" Width=\"16\">\r\n                                <ContentPresenter x:Name=\"Icon\" Content=\"{TemplateBinding Icon}\" Foreground=\"{ThemeResource DefaultTextForegroundThemeBrush}\"/>\r\n                            </Viewbox>\r\n                            <ContentPresenter x:Name=\"ContentPresenter\" AutomationProperties.AccessibilityView=\"Raw\" ContentTemplate=\"{TemplateBinding ContentTemplate}\" Content=\"{TemplateBinding Content}\" ContentTransitions=\"{TemplateBinding ContentTransitions}\" Grid.Column=\"1\" Foreground=\"{ThemeResource DefaultTextForegroundThemeBrush}\" Margin=\"8,0,16,0\" TextWrapping=\"NoWrap\" VerticalAlignment=\"Center\"/>\r\n                        </Grid>\r\n                        <Grid x:Name=\"SelectionIndicatorGrid\" Margin=\"16,0,16,4\" VerticalAlignment=\"Bottom\">\r\n                            <Rectangle x:Name=\"SelectionIndicator\" Fill=\"{ThemeResource NavigationViewSelectionIndicatorForeground}\" Height=\"2\" Opacity=\"0\"/>\r\n                        </Grid>\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n    <Style x:Name=\"NavigationViewItemPresenterStyleWhenOnTopPaneOverflow\" TargetType=\"NavigationViewItemPresenter\">\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"NavigationViewItemPresenter\">\r\n                    <Grid x:Name=\"LayoutRoot\" Background=\"{TemplateBinding Background}\" Height=\"40\" Control.IsTemplateFocusTarget=\"True\">\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"PointerStates\">\r\n                                <VisualState x:Name=\"Normal\"/>\r\n                                <VisualState x:Name=\"PointerOver\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource NavigationViewItemBackgroundPointerOver}\"/>\r\n                                        <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource NavigationViewItemForegroundPointerOver}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource NavigationViewItemForegroundPointerOver}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Pressed\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource NavigationViewItemBackgroundPressed}\"/>\r\n                                        <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource NavigationViewItemForegroundPressed}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource NavigationViewItemForegroundPressed}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Selected\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource NavigationViewItemBackgroundSelected}\"/>\r\n                                        <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource NavigationViewItemForegroundSelected}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource NavigationViewItemForegroundSelected}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"PointerOverSelected\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource NavigationViewItemBackgroundSelectedPointerOver}\"/>\r\n                                        <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource NavigationViewItemForegroundPointerOver}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource NavigationViewItemForegroundPointerOver}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"PressedSelected\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource NavigationViewItemBackgroundSelectedPressed}\"/>\r\n                                        <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource NavigationViewItemForegroundPressed}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource NavigationViewItemForegroundPressed}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                            <VisualStateGroup x:Name=\"DisabledStates\">\r\n                                <VisualState x:Name=\"Enabled\"/>\r\n                                <VisualState x:Name=\"Disabled\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource TopNavigationViewItemForegroundDisabled}\"/>\r\n                                        <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource TopNavigationViewItemForegroundDisabled}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                            <VisualStateGroup x:Name=\"NavigationViewIconPositionStates\">\r\n                                <VisualState x:Name=\"IconOnLeft\"/>\r\n                                <VisualState x:Name=\"IconOnly\"/>\r\n                                <VisualState x:Name=\"ContentOnly\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"IconBox.Visibility\" Value=\"Collapsed\"/>\r\n                                        <Setter Target=\"ContentPresenter.Margin\" Value=\"16,0\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n                        <Grid x:Name=\"ContentGrid\">\r\n                            <Grid.ColumnDefinitions>\r\n                                <ColumnDefinition Width=\"Auto\"/>\r\n                                <ColumnDefinition Width=\"*\"/>\r\n                            </Grid.ColumnDefinitions>\r\n                            <Viewbox x:Name=\"IconBox\" HorizontalAlignment=\"Center\" Height=\"16\" Margin=\"16,0,0,0\" VerticalAlignment=\"Center\" Width=\"16\">\r\n                                <ContentPresenter x:Name=\"Icon\" Content=\"{TemplateBinding Icon}\" Foreground=\"{TemplateBinding Foreground}\"/>\r\n                            </Viewbox>\r\n                            <ContentPresenter x:Name=\"ContentPresenter\" AutomationProperties.AccessibilityView=\"Raw\" ContentTemplate=\"{TemplateBinding ContentTemplate}\" Content=\"{TemplateBinding Content}\" ContentTransitions=\"{TemplateBinding ContentTransitions}\" ContentTemplateSelector=\"{TemplateBinding ContentTemplateSelector}\" Grid.Column=\"1\" Foreground=\"{TemplateBinding Foreground}\" HorizontalAlignment=\"{TemplateBinding HorizontalContentAlignment}\" Margin=\"12,0,16,0\" TextWrapping=\"NoWrap\" VerticalAlignment=\"Center\"/>\r\n                        </Grid>\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n    <Style x:Key=\"CustomNavigationViewItemStyle\" TargetType=\"NavigationViewItem\">\r\n        <Setter Property=\"Foreground\" Value=\"{ThemeResource NavigationViewItemForeground}\"/>\r\n        <Setter Property=\"Background\" Value=\"{ThemeResource NavigationViewItemBackground}\"/>\r\n        <Setter Property=\"BorderBrush\" Value=\"{ThemeResource NavigationViewItemBorderBrush}\"/>\r\n        <Setter Property=\"BorderThickness\" Value=\"{StaticResource NavigationViewItemBorderThickness}\"/>\r\n        <Setter Property=\"FontFamily\" Value=\"{ThemeResource ContentControlThemeFontFamily}\"/>\r\n        <Setter Property=\"FontWeight\" Value=\"Normal\"/>\r\n        <Setter Property=\"FontSize\" Value=\"{ThemeResource ControlContentThemeFontSize}\"/>\r\n        <Setter Property=\"UseSystemFocusVisuals\" Value=\"True\"/>\r\n        <Setter Property=\"HorizontalContentAlignment\" Value=\"Stretch\"/>\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"NavigationViewItem\">\r\n                    <NavigationViewItemPresenter x:Name=\"NavigationViewItemPresenter\" Background=\"{TemplateBinding Background}\" BorderThickness=\"{TemplateBinding BorderThickness}\" BorderBrush=\"{TemplateBinding BorderBrush}\" ContentTemplate=\"{TemplateBinding ContentTemplate}\" Content=\"{TemplateBinding Content}\" ContentTransitions=\"{TemplateBinding ContentTransitions}\" ContentTemplateSelector=\"{TemplateBinding ContentTemplateSelector}\" Foreground=\"{TemplateBinding Foreground}\" HorizontalAlignment=\"{TemplateBinding HorizontalAlignment}\" HorizontalContentAlignment=\"{TemplateBinding HorizontalContentAlignment}\" Icon=\"{TemplateBinding Icon}\" IsTabStop=\"False\" Margin=\"{TemplateBinding Margin}\" Padding=\"{TemplateBinding Padding}\" UseSystemFocusVisuals=\"{TemplateBinding UseSystemFocusVisuals}\" VerticalAlignment=\"{TemplateBinding VerticalAlignment}\" VerticalContentAlignment=\"{TemplateBinding VerticalContentAlignment}\">\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"ItemOnNavigationViewListPositionStates\">\r\n                                <VisualState x:Name=\"OnLeftNavigation\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"NavigationViewItemPresenter.Style\" Value=\"{StaticResource NavigationViewItemPresenterStyleWhenOnLeftPane}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"OnTopNavigationPrimary\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"NavigationViewItemPresenter.Style\" Value=\"{StaticResource NavigationViewItemPresenterStyleWhenOnTopPane}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"OnTopNavigationPrimaryReveal\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"NavigationViewItemPresenter.Style\" Value=\"{StaticResource NavigationViewItemPresenterStyleWhenOnTopPaneWithRevealFocus}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"OnTopNavigationOverflow\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"NavigationViewItemPresenter.Style\" Value=\"{StaticResource NavigationViewItemPresenterStyleWhenOnTopPaneOverflow}\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n                    </NavigationViewItemPresenter>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n</ResourceDictionary>\r\n"
  },
  {
    "path": "src/Notepads/Resource/CustomRadioButtonStyle.xaml",
    "content": "﻿<ResourceDictionary\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" \r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:local=\"using:Notepads\">\r\n\r\n    <Style x:Key=\"CustomRadioButtonStyle\" TargetType=\"RadioButton\">\r\n        <Setter Property=\"Background\" Value=\"{ThemeResource RadioButtonBackground}\"/>\r\n        <Setter Property=\"Foreground\" Value=\"{ThemeResource RadioButtonForeground}\"/>\r\n        <Setter Property=\"BorderBrush\" Value=\"{ThemeResource RadioButtonBorderBrush}\"/>\r\n        <Setter Property=\"Padding\" Value=\"8,6,0,0\"/>\r\n        <Setter Property=\"HorizontalAlignment\" Value=\"Left\"/>\r\n        <Setter Property=\"VerticalAlignment\" Value=\"Center\"/>\r\n        <Setter Property=\"HorizontalContentAlignment\" Value=\"Left\"/>\r\n        <Setter Property=\"VerticalContentAlignment\" Value=\"Top\"/>\r\n        <Setter Property=\"FontFamily\" Value=\"{ThemeResource ContentControlThemeFontFamily}\"/>\r\n        <Setter Property=\"FontSize\" Value=\"{ThemeResource ControlContentThemeFontSize}\"/>\r\n        <Setter Property=\"MinWidth\" Value=\"120\"/>\r\n        <Setter Property=\"UseSystemFocusVisuals\" Value=\"{StaticResource UseSystemFocusVisuals}\"/>\r\n        <Setter Property=\"FocusVisualMargin\" Value=\"-7,-3,-7,-3\"/>\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"RadioButton\">\r\n                    <Grid x:Name=\"RootGrid\" Background=\"{TemplateBinding Background}\" BorderThickness=\"{TemplateBinding BorderThickness}\" BorderBrush=\"{TemplateBinding BorderBrush}\" CornerRadius=\"{TemplateBinding CornerRadius}\">\r\n                        <Grid.ColumnDefinitions>\r\n                            <ColumnDefinition Width=\"20\"/>\r\n                            <ColumnDefinition Width=\"*\"/>\r\n                        </Grid.ColumnDefinitions>\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"CommonStates\">\r\n                                <VisualState x:Name=\"Normal\"/>\r\n                                <VisualState x:Name=\"PointerOver\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonForegroundPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonBackgroundPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonBorderBrushPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"OuterEllipse\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonOuterEllipseStrokePointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"OuterEllipse\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonOuterEllipseFillPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckOuterEllipse\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{StaticResource SystemControlBackgroundAccentBrush}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckOuterEllipse\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonOuterEllipseCheckedFillPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonCheckGlyphFillPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonCheckGlyphStrokePointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Pressed\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonForegroundPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonBackgroundPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonBorderBrushPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"OuterEllipse\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonOuterEllipseStrokePressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"OuterEllipse\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonOuterEllipseFillPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckOuterEllipse\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonOuterEllipseCheckedStrokePressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckOuterEllipse\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonOuterEllipseCheckedFillPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonCheckGlyphFillPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonCheckGlyphStrokePressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Disabled\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonForegroundDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonBackgroundDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonBorderBrushDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"OuterEllipse\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonOuterEllipseStrokeDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"OuterEllipse\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonOuterEllipseFillDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckOuterEllipse\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonOuterEllipseCheckedStrokeDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckOuterEllipse\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonOuterEllipseCheckedFillDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonCheckGlyphFillDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RadioButtonCheckGlyphStrokeDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                            <VisualStateGroup x:Name=\"CheckStates\">\r\n                                <VisualState x:Name=\"Checked\">\r\n                                    <Storyboard>\r\n                                        <DoubleAnimation Duration=\"0\" Storyboard.TargetName=\"CheckGlyph\" Storyboard.TargetProperty=\"Opacity\" To=\"1\"/>\r\n                                        <DoubleAnimation Duration=\"0\" Storyboard.TargetName=\"OuterEllipse\" Storyboard.TargetProperty=\"Opacity\" To=\"0\"/>\r\n                                        <DoubleAnimation Duration=\"0\" Storyboard.TargetName=\"CheckOuterEllipse\" Storyboard.TargetProperty=\"Opacity\" To=\"1\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Unchecked\"/>\r\n                                <VisualState x:Name=\"Indeterminate\"/>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n                        <Grid Height=\"32\" VerticalAlignment=\"Top\">\r\n                            <Ellipse x:Name=\"OuterEllipse\" Fill=\"{StaticResource RadioButtonOuterEllipseFill}\" Height=\"20\" StrokeThickness=\"{ThemeResource RadioButtonBorderThemeThickness}\" Stroke=\"{ThemeResource RadioButtonOuterEllipseStroke}\" UseLayoutRounding=\"False\" Width=\"20\"/>\r\n                            <Ellipse x:Name=\"CheckOuterEllipse\" Fill=\"{ThemeResource RadioButtonOuterEllipseCheckedFill}\" Height=\"20\" Opacity=\"0\" StrokeThickness=\"{ThemeResource RadioButtonBorderThemeThickness}\" Stroke=\"{StaticResource SystemControlBackgroundAccentBrush}\" UseLayoutRounding=\"False\" Width=\"20\"/>\r\n                            <Ellipse x:Name=\"CheckGlyph\" Fill=\"{ThemeResource RadioButtonCheckGlyphFill}\" Height=\"10\" Opacity=\"0\" Stroke=\"{ThemeResource RadioButtonCheckGlyphStroke}\" UseLayoutRounding=\"False\" Width=\"10\"/>\r\n                        </Grid>\r\n                        <ContentPresenter x:Name=\"ContentPresenter\" AutomationProperties.AccessibilityView=\"Raw\" ContentTemplate=\"{TemplateBinding ContentTemplate}\" Content=\"{TemplateBinding Content}\" ContentTransitions=\"{TemplateBinding ContentTransitions}\" Grid.Column=\"1\" Foreground=\"{TemplateBinding Foreground}\" HorizontalAlignment=\"{TemplateBinding HorizontalContentAlignment}\" Margin=\"{TemplateBinding Padding}\" TextWrapping=\"Wrap\" VerticalAlignment=\"{TemplateBinding VerticalContentAlignment}\"/>\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n\r\n</ResourceDictionary>\r\n"
  },
  {
    "path": "src/Notepads/Resource/CustomSliderStyle.xaml",
    "content": "﻿<ResourceDictionary\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" \r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:local=\"using:Notepads\">\r\n\r\n    <Style x:Key=\"CustomSliderStyle\" TargetType=\"Slider\">\r\n        <Setter Property=\"Background\" Value=\"{ThemeResource SliderTrackFill}\"/>\r\n        <Setter Property=\"BorderThickness\" Value=\"{ThemeResource SliderBorderThemeThickness}\"/>\r\n        <Setter Property=\"Foreground\" Value=\"{StaticResource SystemControlForegroundAccentBrush}\"/>\r\n        <Setter Property=\"FontFamily\" Value=\"{ThemeResource ContentControlThemeFontFamily}\"/>\r\n        <Setter Property=\"FontSize\" Value=\"{ThemeResource ControlContentThemeFontSize}\"/>\r\n        <Setter Property=\"ManipulationMode\" Value=\"None\"/>\r\n        <Setter Property=\"UseSystemFocusVisuals\" Value=\"{StaticResource UseSystemFocusVisuals}\"/>\r\n        <Setter Property=\"FocusVisualMargin\" Value=\"-7,0,-7,0\"/>\r\n        <Setter Property=\"IsFocusEngagementEnabled\" Value=\"True\"/>\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"Slider\">\r\n                    <Grid Margin=\"{TemplateBinding Padding}\">\r\n                        <Grid.Resources>\r\n                            <Style x:Key=\"SliderThumbStyle\" TargetType=\"Thumb\">\r\n                                <Setter Property=\"BorderThickness\" Value=\"0\"/>\r\n                                <Setter Property=\"Background\" Value=\"{StaticResource SystemControlForegroundAccentBrush}\"/>\r\n                                <Setter Property=\"Template\">\r\n                                    <Setter.Value>\r\n                                        <ControlTemplate TargetType=\"Thumb\">\r\n                                            <Border Background=\"{TemplateBinding Background}\" BorderThickness=\"{TemplateBinding BorderThickness}\" BorderBrush=\"{TemplateBinding BorderBrush}\" CornerRadius=\"4\"/>\r\n                                        </ControlTemplate>\r\n                                    </Setter.Value>\r\n                                </Setter>\r\n                            </Style>\r\n                        </Grid.Resources>\r\n                        <Grid.RowDefinitions>\r\n                            <RowDefinition Height=\"Auto\"/>\r\n                            <RowDefinition Height=\"*\"/>\r\n                        </Grid.RowDefinitions>\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"CommonStates\">\r\n                                <VisualState x:Name=\"Normal\"/>\r\n                                <VisualState x:Name=\"Pressed\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HorizontalTrackRect\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderTrackFillPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"VerticalTrackRect\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderTrackFillPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HorizontalThumb\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderThumbBackgroundPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"VerticalThumb\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderThumbBackgroundPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SliderContainer\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderContainerBackgroundPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HorizontalDecreaseRect\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{StaticResource SystemControlForegroundAccentBrush}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"VerticalDecreaseRect\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{StaticResource SystemControlForegroundAccentBrush}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Disabled\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HeaderContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderHeaderForegroundDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HorizontalDecreaseRect\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{StaticResource SystemControlForegroundAccentBrush}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HorizontalTrackRect\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderTrackFillDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"VerticalDecreaseRect\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{StaticResource SystemControlForegroundAccentBrush}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"VerticalTrackRect\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderTrackFillDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HorizontalThumb\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderThumbBackgroundDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"VerticalThumb\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderThumbBackgroundDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"TopTickBar\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderTickBarFillDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"BottomTickBar\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderTickBarFillDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"LeftTickBar\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderTickBarFillDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RightTickBar\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderTickBarFillDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SliderContainer\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderContainerBackgroundDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"PointerOver\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HorizontalTrackRect\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderTrackFillPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"VerticalTrackRect\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderTrackFillPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HorizontalThumb\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderThumbBackgroundPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"VerticalThumb\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderThumbBackgroundPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SliderContainer\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SliderContainerBackgroundPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HorizontalDecreaseRect\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{StaticResource SystemControlForegroundAccentBrush}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"VerticalDecreaseRect\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{StaticResource SystemControlForegroundAccentBrush}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                            <VisualStateGroup x:Name=\"FocusEngagementStates\">\r\n                                <VisualState x:Name=\"FocusDisengaged\"/>\r\n                                <VisualState x:Name=\"FocusEngagedHorizontal\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SliderContainer\" Storyboard.TargetProperty=\"(Control.IsTemplateFocusTarget)\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"False\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HorizontalThumb\" Storyboard.TargetProperty=\"(Control.IsTemplateFocusTarget)\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"True\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"FocusEngagedVertical\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SliderContainer\" Storyboard.TargetProperty=\"(Control.IsTemplateFocusTarget)\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"False\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"VerticalThumb\" Storyboard.TargetProperty=\"(Control.IsTemplateFocusTarget)\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"True\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n                        <ContentPresenter x:Name=\"HeaderContentPresenter\" ContentTemplate=\"{TemplateBinding HeaderTemplate}\" Content=\"{TemplateBinding Header}\" FontWeight=\"{ThemeResource SliderHeaderThemeFontWeight}\" Foreground=\"{ThemeResource SliderHeaderForeground}\" Margin=\"{StaticResource SliderTopHeaderMargin}\" Grid.Row=\"0\" TextWrapping=\"Wrap\" Visibility=\"Collapsed\" x:DeferLoadStrategy=\"Lazy\"/>\r\n                        <Grid x:Name=\"SliderContainer\" Background=\"{ThemeResource SliderContainerBackground}\" Control.IsTemplateFocusTarget=\"True\" Grid.Row=\"1\">\r\n                            <Grid x:Name=\"HorizontalTemplate\" MinHeight=\"{ThemeResource SliderHorizontalHeight}\">\r\n                                <Grid.ColumnDefinitions>\r\n                                    <ColumnDefinition Width=\"Auto\"/>\r\n                                    <ColumnDefinition Width=\"Auto\"/>\r\n                                    <ColumnDefinition Width=\"*\"/>\r\n                                </Grid.ColumnDefinitions>\r\n                                <Grid.RowDefinitions>\r\n                                    <RowDefinition Height=\"{ThemeResource SliderPreContentMargin}\"/>\r\n                                    <RowDefinition Height=\"Auto\"/>\r\n                                    <RowDefinition Height=\"{ThemeResource SliderPostContentMargin}\"/>\r\n                                </Grid.RowDefinitions>\r\n                                <Rectangle x:Name=\"HorizontalTrackRect\" Grid.ColumnSpan=\"3\" Fill=\"{TemplateBinding Background}\" Height=\"{ThemeResource SliderTrackThemeHeight}\" Grid.Row=\"1\"/>\r\n                                <Rectangle x:Name=\"HorizontalDecreaseRect\" Fill=\"{TemplateBinding Foreground}\" Grid.Row=\"1\"/>\r\n                                <TickBar x:Name=\"TopTickBar\" Grid.ColumnSpan=\"3\" Fill=\"{ThemeResource SliderTickBarFill}\" Height=\"{ThemeResource SliderOutsideTickBarThemeHeight}\" Margin=\"0,0,0,4\" VerticalAlignment=\"Bottom\" Visibility=\"Collapsed\"/>\r\n                                <TickBar x:Name=\"HorizontalInlineTickBar\" Grid.ColumnSpan=\"3\" Fill=\"{ThemeResource SliderInlineTickBarFill}\" Height=\"{ThemeResource SliderTrackThemeHeight}\" Grid.Row=\"1\" Visibility=\"Collapsed\"/>\r\n                                <TickBar x:Name=\"BottomTickBar\" Grid.ColumnSpan=\"3\" Fill=\"{ThemeResource SliderTickBarFill}\" Height=\"{ThemeResource SliderOutsideTickBarThemeHeight}\" Margin=\"0,4,0,0\" Grid.Row=\"2\" VerticalAlignment=\"Top\" Visibility=\"Collapsed\"/>\r\n                                <Thumb x:Name=\"HorizontalThumb\" AutomationProperties.AccessibilityView=\"Raw\" Grid.Column=\"1\" DataContext=\"{TemplateBinding Value}\" FocusVisualMargin=\"-14,-6,-14,-6\" Height=\"24\" Grid.RowSpan=\"3\" Grid.Row=\"0\" Style=\"{StaticResource SliderThumbStyle}\" Width=\"8\"/>\r\n                            </Grid>\r\n                            <Grid x:Name=\"VerticalTemplate\" MinWidth=\"{ThemeResource SliderVerticalWidth}\" Visibility=\"Collapsed\">\r\n                                <Grid.ColumnDefinitions>\r\n                                    <ColumnDefinition Width=\"{ThemeResource SliderPreContentMargin}\"/>\r\n                                    <ColumnDefinition Width=\"Auto\"/>\r\n                                    <ColumnDefinition Width=\"{ThemeResource SliderPostContentMargin}\"/>\r\n                                </Grid.ColumnDefinitions>\r\n                                <Grid.RowDefinitions>\r\n                                    <RowDefinition Height=\"*\"/>\r\n                                    <RowDefinition Height=\"Auto\"/>\r\n                                    <RowDefinition Height=\"Auto\"/>\r\n                                </Grid.RowDefinitions>\r\n                                <Rectangle x:Name=\"VerticalTrackRect\" Grid.Column=\"1\" Fill=\"{TemplateBinding Background}\" Grid.RowSpan=\"3\" Width=\"{ThemeResource SliderTrackThemeHeight}\"/>\r\n                                <Rectangle x:Name=\"VerticalDecreaseRect\" Grid.Column=\"1\" Fill=\"{TemplateBinding Foreground}\" Grid.Row=\"2\"/>\r\n                                <TickBar x:Name=\"LeftTickBar\" Fill=\"{ThemeResource SliderTickBarFill}\" HorizontalAlignment=\"Right\" Margin=\"0,0,4,0\" Grid.RowSpan=\"3\" Visibility=\"Collapsed\" Width=\"{ThemeResource SliderOutsideTickBarThemeHeight}\"/>\r\n                                <TickBar x:Name=\"VerticalInlineTickBar\" Grid.Column=\"1\" Fill=\"{ThemeResource SliderInlineTickBarFill}\" Grid.RowSpan=\"3\" Visibility=\"Collapsed\" Width=\"{ThemeResource SliderTrackThemeHeight}\"/>\r\n                                <TickBar x:Name=\"RightTickBar\" Grid.Column=\"2\" Fill=\"{ThemeResource SliderTickBarFill}\" HorizontalAlignment=\"Left\" Margin=\"4,0,0,0\" Grid.RowSpan=\"3\" Visibility=\"Collapsed\" Width=\"{ThemeResource SliderOutsideTickBarThemeHeight}\"/>\r\n                                <Thumb x:Name=\"VerticalThumb\" AutomationProperties.AccessibilityView=\"Raw\" Grid.ColumnSpan=\"3\" Grid.Column=\"0\" DataContext=\"{TemplateBinding Value}\" FocusVisualMargin=\"-6,-14,-6,-14\" Height=\"8\" Grid.Row=\"1\" Style=\"{StaticResource SliderThumbStyle}\" Width=\"24\"/>\r\n                            </Grid>\r\n                        </Grid>\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n\r\n</ResourceDictionary>\r\n"
  },
  {
    "path": "src/Notepads/Resource/CustomSplitViewStyle.xaml",
    "content": "﻿<ResourceDictionary\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" \r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\">\r\n\r\n    <Style x:Key=\"CustomSplitViewStyle\" TargetType=\"SplitView\">\r\n        <Setter Property=\"HorizontalContentAlignment\" Value=\"Stretch\"/>\r\n        <Setter Property=\"VerticalContentAlignment\" Value=\"Stretch\"/>\r\n        <Setter Property=\"OpenPaneLength\" Value=\"{ThemeResource SplitViewOpenPaneThemeLength}\"/>\r\n        <Setter Property=\"CompactPaneLength\" Value=\"{ThemeResource SplitViewCompactPaneThemeLength}\"/>\r\n        <Setter Property=\"PaneBackground\" Value=\"{ThemeResource SystemControlPageBackgroundChromeLowBrush}\"/>\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"SplitView\">\r\n                    <Grid Background=\"{TemplateBinding Background}\">\r\n                        <Grid.ColumnDefinitions>\r\n                            <ColumnDefinition x:Name=\"ColumnDefinition1\" Width=\"{Binding TemplateSettings.OpenPaneGridLength, FallbackValue=0, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                            <ColumnDefinition x:Name=\"ColumnDefinition2\" Width=\"*\"/>\r\n                        </Grid.ColumnDefinitions>\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"DisplayModeStates\">\r\n                                <VisualStateGroup.Transitions>\r\n                                    <VisualTransition From=\"Closed\" To=\"OpenOverlayLeft\">\r\n                                        <Storyboard>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"PaneTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.NegativeOpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.35\" Value=\"0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"PaneClipRectangleTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.OpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.35\" Value=\"0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Opacity\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"0.0\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.35\" Value=\"1.0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                        </Storyboard>\r\n                                    </VisualTransition>\r\n                                    <VisualTransition From=\"Closed\" To=\"OpenOverlayRight\">\r\n                                        <Storyboard>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"HorizontalAlignment\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Right\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"HorizontalAlignment\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Left\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"PaneTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.OpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.35\" Value=\"0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"PaneClipRectangleTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.NegativeOpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.35\" Value=\"0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Opacity\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"0.0\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.35\" Value=\"1.0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                        </Storyboard>\r\n                                    </VisualTransition>\r\n                                    <VisualTransition From=\"ClosedCompactLeft\" To=\"OpenCompactOverlayLeft\">\r\n                                        <Storyboard>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ColumnDefinition1\" Storyboard.TargetProperty=\"Width\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.CompactPaneGridLength, FallbackValue=0, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.Column)\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.ColumnSpan)\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"PaneClipRectangleTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.NegativeOpenPaneLengthMinusCompactLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.35\" Value=\"0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Opacity\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"0.0\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.35\" Value=\"1.0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                        </Storyboard>\r\n                                    </VisualTransition>\r\n                                    <VisualTransition From=\"ClosedCompactRight\" To=\"OpenCompactOverlayRight\">\r\n                                        <Storyboard>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ColumnDefinition1\" Storyboard.TargetProperty=\"Width\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"*\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ColumnDefinition2\" Storyboard.TargetProperty=\"Width\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.CompactPaneGridLength, FallbackValue=0, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.ColumnSpan)\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"HorizontalAlignment\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Right\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"HorizontalAlignment\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Left\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"PaneClipRectangleTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.OpenPaneLengthMinusCompactLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.35\" Value=\"0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Opacity\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"0.0\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.35\" Value=\"1.0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                        </Storyboard>\r\n                                    </VisualTransition>\r\n                                    <VisualTransition From=\"OpenOverlayLeft\" To=\"Closed\">\r\n                                        <Storyboard>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"PaneTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.12\" Value=\"{Binding TemplateSettings.NegativeOpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"PaneClipRectangleTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.12\" Value=\"{Binding TemplateSettings.OpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Opacity\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"1.0\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.12\" Value=\"0.0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                        </Storyboard>\r\n                                    </VisualTransition>\r\n                                    <VisualTransition From=\"OpenOverlayRight\" To=\"Closed\">\r\n                                        <Storyboard>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"HorizontalAlignment\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Right\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"HorizontalAlignment\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Left\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"PaneTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.12\" Value=\"{Binding TemplateSettings.OpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"PaneClipRectangleTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.12\" Value=\"{Binding TemplateSettings.NegativeOpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Opacity\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"1.0\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.12\" Value=\"0.0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                        </Storyboard>\r\n                                    </VisualTransition>\r\n                                    <VisualTransition From=\"OpenCompactOverlayLeft\" To=\"ClosedCompactLeft\">\r\n                                        <Storyboard>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ColumnDefinition1\" Storyboard.TargetProperty=\"Width\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.CompactPaneGridLength, FallbackValue=0, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.Column)\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.ColumnSpan)\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"PaneClipRectangleTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"0\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.12\" Value=\"{Binding TemplateSettings.NegativeOpenPaneLengthMinusCompactLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Opacity\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"1.0\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.12\" Value=\"0.0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                        </Storyboard>\r\n                                    </VisualTransition>\r\n                                    <VisualTransition From=\"OpenCompactOverlayRight\" To=\"ClosedCompactRight\">\r\n                                        <Storyboard>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ColumnDefinition1\" Storyboard.TargetProperty=\"Width\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"*\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ColumnDefinition2\" Storyboard.TargetProperty=\"Width\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.CompactPaneGridLength, FallbackValue=0, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.ColumnSpan)\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"HorizontalAlignment\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Right\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"HorizontalAlignment\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Left\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"PaneClipRectangleTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"0\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.12\" Value=\"{Binding TemplateSettings.OpenPaneLengthMinusCompactLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Opacity\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"1.0\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.1,0.9 0.2,1.0\" KeyTime=\"0:0:0.12\" Value=\"0.0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                        </Storyboard>\r\n                                    </VisualTransition>\r\n                                    <VisualTransition From=\"OpenInlineLeft\" To=\"Closed\">\r\n                                        <Storyboard>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"{StaticResource SplitViewPaneAnimationCloseDuration}\" Value=\"Collapsed\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"{StaticResource SplitViewPaneAnimationCloseDuration}\" Value=\"Collapsed\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.ColumnSpan)\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"2\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.Column)\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"0\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"(Grid.ColumnSpan)\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"{StaticResource SplitViewPaneAnimationCloseDuration}\" Value=\"2\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"PaneClipRectangleTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.0,0.35 0.15,1.0\" KeyTime=\"{StaticResource SplitViewPaneAnimationCloseDuration}\" Value=\"{Binding TemplateSettings.NegativeOpenPaneLengthMinusCompactLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"PaneTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.0,0.35 0.15,1.0\" KeyTime=\"{StaticResource SplitViewPaneAnimationCloseDuration}\" Value=\"{Binding TemplateSettings.NegativeOpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"ContentTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0\" Value=\"{Binding TemplateSettings.OpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.0,0.35 0.15,1.0\" KeyTime=\"{StaticResource SplitViewPaneAnimationCloseDuration}\" Value=\"0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                        </Storyboard>\r\n                                    </VisualTransition>\r\n                                    <VisualTransition From=\"Closed\" To=\"OpenInlineLeft\">\r\n                                        <Storyboard>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.ColumnSpan)\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.Column)\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"(Grid.ColumnSpan)\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"PaneTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.NegativeOpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.0,0.35 0.15,1.0\" KeyTime=\"{StaticResource SplitViewPaneAnimationOpenDuration}\" Value=\"0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames FillBehavior=\"Stop\" Storyboard.TargetName=\"ContentTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <LinearDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.NegativeOpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.0,0.35 0.15,1.0\" KeyTime=\"{StaticResource SplitViewPaneAnimationOpenPreDuration}\" Value=\"0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"PaneClipRectangleTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.NegativeOpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.0,0.35 0.15,1.0\" KeyTime=\"{StaticResource SplitViewPaneAnimationOpenDuration}\" Value=\"0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                        </Storyboard>\r\n                                    </VisualTransition>\r\n                                    <VisualTransition From=\"ClosedCompactLeft\" To=\"OpenInlineLeft\">\r\n                                        <Storyboard>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.ColumnSpan)\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.Column)\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"(Grid.ColumnSpan)\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames FillBehavior=\"Stop\" Storyboard.TargetName=\"ContentTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <LinearDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.NegativeOpenPaneLengthMinusCompactLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.0,0.35 0.15,1.0\" KeyTime=\"{StaticResource SplitViewPaneAnimationOpenPreDuration}\" Value=\"0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"PaneClipRectangleTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.NegativeOpenPaneLengthMinusCompactLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.0,0.35 0.15,1.0\" KeyTime=\"{StaticResource SplitViewPaneAnimationOpenDuration}\" Value=\"0\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                        </Storyboard>\r\n                                    </VisualTransition>\r\n                                    <VisualTransition From=\"OpenInlineLeft\" To=\"ClosedCompactLeft\">\r\n                                        <Storyboard>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ColumnDefinition1\" Storyboard.TargetProperty=\"Width\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.CompactPaneGridLength, FallbackValue=0, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.Column)\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.ColumnSpan)\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames FillBehavior=\"Stop\" Storyboard.TargetName=\"ContentTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <LinearDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.OpenPaneLengthMinusCompactLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.0,0.35 0.15,1.0\" KeyTime=\"{StaticResource SplitViewPaneAnimationOpenPreDuration}\" Value=\"\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"PaneClipRectangleTransform\" Storyboard.TargetProperty=\"TranslateX\">\r\n                                                <DiscreteDoubleKeyFrame KeyTime=\"0:0:0\" Value=\"0\"/>\r\n                                                <SplineDoubleKeyFrame KeySpline=\"0.0,0.35 0.15,1.0\" KeyTime=\"{StaticResource SplitViewPaneAnimationOpenDuration}\" Value=\"{Binding TemplateSettings.NegativeOpenPaneLengthMinusCompactLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                            </DoubleAnimationUsingKeyFrames>\r\n                                        </Storyboard>\r\n                                    </VisualTransition>\r\n                                </VisualStateGroup.Transitions>\r\n                                <VisualState x:Name=\"Closed\"/>\r\n                                <VisualState x:Name=\"ClosedCompactLeft\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ColumnDefinition1\" Storyboard.TargetProperty=\"Width\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.CompactPaneGridLength, FallbackValue=0, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.Column)\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.ColumnSpan)\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <DoubleAnimation Duration=\"0:0:0\" Storyboard.TargetName=\"PaneClipRectangleTransform\" Storyboard.TargetProperty=\"TranslateX\" To=\"{Binding TemplateSettings.NegativeOpenPaneLengthMinusCompactLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"ClosedCompactRight\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ColumnDefinition1\" Storyboard.TargetProperty=\"Width\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"*\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ColumnDefinition2\" Storyboard.TargetProperty=\"Width\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.CompactPaneGridLength, FallbackValue=0, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.ColumnSpan)\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"(Grid.ColumnSpan)\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"2\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"HorizontalAlignment\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Right\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <DoubleAnimation Duration=\"0:0:0\" Storyboard.TargetName=\"PaneClipRectangleTransform\" Storyboard.TargetProperty=\"TranslateX\" To=\"{Binding TemplateSettings.OpenPaneLengthMinusCompactLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"OpenOverlayLeft\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"Visibility\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Visibility\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"OpenOverlayRight\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"HorizontalAlignment\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Right\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"Visibility\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"HorizontalAlignment\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Left\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Visibility\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"OpenInlineLeft\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"PaneRoot.Visibility\" Value=\"Visible\"/>\r\n                                        <Setter Target=\"HCPaneBorder.Visibility\" Value=\"Visible\"/>\r\n                                        <Setter Target=\"ContentRoot.Grid.ColumnSpan\" Value=\"1\"/>\r\n                                        <Setter Target=\"ContentRoot.Grid.Column\" Value=\"1\"/>\r\n                                        <Setter Target=\"PaneRoot.Grid.ColumnSpan\" Value=\"1\"/>\r\n                                        <Setter Target=\"PaneTransform.TranslateX\" Value=\"0\"/>\r\n                                        <Setter Target=\"ContentTransform.TranslateX\" Value=\"0\"/>\r\n                                        <Setter Target=\"PaneClipRectangleTransform.TranslateX\" Value=\"0\"/>\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"OpenInlineRight\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ColumnDefinition1\" Storyboard.TargetProperty=\"Width\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"*\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ColumnDefinition2\" Storyboard.TargetProperty=\"Width\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.OpenPaneGridLength, FallbackValue=0, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.ColumnSpan)\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"(Grid.Column)\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"(Grid.ColumnSpan)\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"HorizontalAlignment\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Left\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"Visibility\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"OpenCompactOverlayLeft\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ColumnDefinition1\" Storyboard.TargetProperty=\"Width\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.CompactPaneGridLength, FallbackValue=0, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.Column)\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.ColumnSpan)\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"Visibility\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Visibility\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"OpenCompactOverlayRight\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ColumnDefinition1\" Storyboard.TargetProperty=\"Width\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"*\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ColumnDefinition2\" Storyboard.TargetProperty=\"Width\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"{Binding TemplateSettings.CompactPaneGridLength, FallbackValue=0, RelativeSource={RelativeSource Mode=TemplatedParent}}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentRoot\" Storyboard.TargetProperty=\"(Grid.ColumnSpan)\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"1\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"Visibility\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PaneRoot\" Storyboard.TargetProperty=\"HorizontalAlignment\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Right\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"HorizontalAlignment\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Left\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HCPaneBorder\" Storyboard.TargetProperty=\"Visibility\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Visibility\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"Visible\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                            <VisualStateGroup x:Name=\"OverlayVisibilityStates\">\r\n                                <VisualState x:Name=\"OverlayNotVisible\"/>\r\n                                <VisualState x:Name=\"OverlayVisible\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"LightDismissLayer\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0:0:0\" Value=\"{ThemeResource SplitViewLightDismissOverlayBackground}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n                        <Grid x:Name=\"PaneRoot\" Margin=\"0,32,0,1\" Background=\"{TemplateBinding PaneBackground}\" Grid.ColumnSpan=\"2\" HorizontalAlignment=\"Left\" Visibility=\"Collapsed\" Width=\"{Binding TemplateSettings.OpenPaneLength, RelativeSource={RelativeSource Mode=TemplatedParent}}\" Canvas.ZIndex=\"1\">\r\n                            <Grid.BackgroundTransition>\r\n                                <BrushTransition/>\r\n                            </Grid.BackgroundTransition>\r\n                            <Grid.Clip>\r\n                                <RectangleGeometry x:Name=\"PaneClipRectangle\">\r\n                                    <RectangleGeometry.Transform>\r\n                                        <CompositeTransform x:Name=\"PaneClipRectangleTransform\"/>\r\n                                    </RectangleGeometry.Transform>\r\n                                </RectangleGeometry>\r\n                            </Grid.Clip>\r\n                            <Grid.RenderTransform>\r\n                                <CompositeTransform x:Name=\"PaneTransform\"/>\r\n                            </Grid.RenderTransform>\r\n                            <Border Child=\"{TemplateBinding Pane}\"/>\r\n                            <Rectangle x:Name=\"HCPaneBorder\" Fill=\"{ThemeResource SystemControlForegroundTransparentBrush}\" HorizontalAlignment=\"Right\" Visibility=\"Collapsed\" Width=\"1\" x:DeferLoadStrategy=\"Lazy\"/>\r\n                        </Grid>\r\n                        <Grid x:Name=\"ContentRoot\" Grid.ColumnSpan=\"2\">\r\n                            <Grid.RenderTransform>\r\n                                <CompositeTransform x:Name=\"ContentTransform\"/>\r\n                            </Grid.RenderTransform>\r\n                            <Border Child=\"{TemplateBinding Content}\"/>\r\n                            <Rectangle x:Name=\"LightDismissLayer\" Fill=\"Transparent\" Visibility=\"Collapsed\"/>\r\n                        </Grid>\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n\r\n</ResourceDictionary>\r\n"
  },
  {
    "path": "src/Notepads/Resource/CustomToggleSwitchStyle.xaml",
    "content": "﻿<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" \r\n                    xmlns:local=\"using:Notepads\" \r\n                    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\">\r\n\r\n    <Style x:Key=\"CustomToggleSwitchStyle\" TargetType=\"ToggleSwitch\">\r\n        <Setter Property=\"Foreground\" Value=\"{ThemeResource ToggleSwitchContentForeground}\" />\r\n        <Setter Property=\"HorizontalAlignment\" Value=\"Left\" />\r\n        <Setter Property=\"VerticalAlignment\" Value=\"Center\" />\r\n        <Setter Property=\"HorizontalContentAlignment\" Value=\"Left\" />\r\n        <Setter Property=\"FontFamily\" Value=\"{ThemeResource ContentControlThemeFontFamily}\" />\r\n        <Setter Property=\"FontSize\" Value=\"{ThemeResource ControlContentThemeFontSize}\" />\r\n        <Setter Property=\"ManipulationMode\" Value=\"System,TranslateX\" />\r\n        <Setter Property=\"UseSystemFocusVisuals\" Value=\"{StaticResource UseSystemFocusVisuals}\" />\r\n        <Setter Property=\"FocusVisualMargin\" Value=\"-7,-3,-7,-3\" />\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"ToggleSwitch\">\r\n                    <Grid Background=\"{TemplateBinding Background}\" BorderBrush=\"{TemplateBinding BorderBrush}\" BorderThickness=\"{TemplateBinding BorderThickness}\" CornerRadius=\"{TemplateBinding CornerRadius}\">\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"CommonStates\">\r\n                                <VisualState x:Name=\"Normal\" />\r\n                                <VisualState x:Name=\"PointerOver\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"OuterBorder\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchStrokeOffPointerOver}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"OuterBorder\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchFillOffPointerOver}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobOff\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchKnobFillOffPointerOver}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobOn\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchKnobFillOnPointerOver}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobBounds\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchFillOnPointerOver}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobBounds\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchStrokeOnPointerOver}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchAreaGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchContainerBackgroundPointerOver}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Pressed\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"OuterBorder\" Storyboard.TargetProperty=\"StrokeThickness\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"0\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"OuterBorder\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchStrokeOffPressed}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"OuterBorder\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchFillOffPressed}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobBounds\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchFillOnPressed}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobBounds\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchStrokeOnPressed}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobOff\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchKnobFillOffPressed}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobOn\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchKnobFillOnPressed}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchAreaGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchContainerBackgroundPressed}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Disabled\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HeaderContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchHeaderForegroundDisabled}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"OffContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchContentForegroundDisabled}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"OnContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchContentForegroundDisabled}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"OuterBorder\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchStrokeOffDisabled}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"OuterBorder\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchFillOffDisabled}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobBounds\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchFillOnDisabled}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobBounds\" Storyboard.TargetProperty=\"Stroke\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchStrokeOnDisabled}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobOff\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchKnobFillOffDisabled}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobOn\" Storyboard.TargetProperty=\"Fill\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchKnobFillOnDisabled}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchAreaGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource ToggleSwitchContainerBackgroundDisabled}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                            <VisualStateGroup x:Name=\"ToggleStates\">\r\n                                <VisualStateGroup.Transitions>\r\n                                    <VisualTransition x:Name=\"DraggingToOnTransition\" From=\"Dragging\" To=\"On\" GeneratedDuration=\"0\">\r\n                                        <Storyboard>\r\n                                            <RepositionThemeAnimation TargetName=\"SwitchKnob\" FromHorizontalOffset=\"{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.KnobCurrentToOnOffset}\" />\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobBounds\" Storyboard.TargetProperty=\"Opacity\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"1\" />\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"OuterBorder\" Storyboard.TargetProperty=\"Opacity\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"0\" />\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobOn\" Storyboard.TargetProperty=\"Opacity\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"1\" />\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobOff\" Storyboard.TargetProperty=\"Opacity\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"0\" />\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                        </Storyboard>\r\n                                    </VisualTransition>\r\n                                    <VisualTransition x:Name=\"DraggingToOffTransition\" From=\"Dragging\" To=\"Off\" GeneratedDuration=\"0\">\r\n                                        <Storyboard>\r\n                                            <RepositionThemeAnimation TargetName=\"SwitchKnob\" FromHorizontalOffset=\"{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.KnobCurrentToOffOffset}\" />\r\n                                        </Storyboard>\r\n                                    </VisualTransition>\r\n                                    <VisualTransition x:Name=\"OnToOffTransition\" From=\"On\" To=\"Off\" GeneratedDuration=\"0\">\r\n                                        <Storyboard>\r\n                                            <RepositionThemeAnimation TargetName=\"SwitchKnob\" FromHorizontalOffset=\"{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.KnobOnToOffOffset}\" />\r\n                                        </Storyboard>\r\n                                    </VisualTransition>\r\n                                    <VisualTransition x:Name=\"OffToOnTransition\" From=\"Off\" To=\"On\" GeneratedDuration=\"0\">\r\n                                        <Storyboard>\r\n                                            <RepositionThemeAnimation TargetName=\"SwitchKnob\" FromHorizontalOffset=\"{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.KnobOffToOnOffset}\" />\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobBounds\" Storyboard.TargetProperty=\"Opacity\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"1\" />\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"OuterBorder\" Storyboard.TargetProperty=\"Opacity\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"0\" />\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobOn\" Storyboard.TargetProperty=\"Opacity\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"1\" />\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobOff\" Storyboard.TargetProperty=\"Opacity\">\r\n                                                <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"0\" />\r\n                                            </ObjectAnimationUsingKeyFrames>\r\n                                        </Storyboard>\r\n                                    </VisualTransition>\r\n                                </VisualStateGroup.Transitions>\r\n                                <VisualState x:Name=\"Dragging\" />\r\n                                <VisualState x:Name=\"Off\" />\r\n                                <VisualState x:Name=\"On\">\r\n                                    <Storyboard>\r\n                                        <DoubleAnimation Storyboard.TargetName=\"KnobTranslateTransform\" Storyboard.TargetProperty=\"X\" To=\"24\" Duration=\"0\" />\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobBounds\" Storyboard.TargetProperty=\"Opacity\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"1\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"OuterBorder\" Storyboard.TargetProperty=\"Opacity\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"0\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobOn\" Storyboard.TargetProperty=\"Opacity\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"1\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"SwitchKnobOff\" Storyboard.TargetProperty=\"Opacity\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"0\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                            <VisualStateGroup x:Name=\"ContentStates\">\r\n                                <VisualState x:Name=\"OffContent\">\r\n                                    <Storyboard>\r\n                                        <DoubleAnimation Storyboard.TargetName=\"OffContentPresenter\" Storyboard.TargetProperty=\"Opacity\" To=\"1\" Duration=\"0\" />\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty=\"IsHitTestVisible\" Storyboard.TargetName=\"OffContentPresenter\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\">\r\n                                                <DiscreteObjectKeyFrame.Value>\r\n                                                    <x:Boolean>True</x:Boolean>\r\n                                                </DiscreteObjectKeyFrame.Value>\r\n                                            </DiscreteObjectKeyFrame>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"OnContent\">\r\n                                    <Storyboard>\r\n                                        <DoubleAnimation Storyboard.TargetName=\"OnContentPresenter\" Storyboard.TargetProperty=\"Opacity\" To=\"1\" Duration=\"0\" />\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty=\"IsHitTestVisible\" Storyboard.TargetName=\"OnContentPresenter\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\">\r\n                                                <DiscreteObjectKeyFrame.Value>\r\n                                                    <x:Boolean>True</x:Boolean>\r\n                                                </DiscreteObjectKeyFrame.Value>\r\n                                            </DiscreteObjectKeyFrame>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n                        <Grid.RowDefinitions>\r\n                            <RowDefinition Height=\"Auto\" />\r\n                            <RowDefinition Height=\"*\" />\r\n                        </Grid.RowDefinitions>\r\n                        <ContentPresenter x:Name=\"HeaderContentPresenter\" x:DeferLoadStrategy=\"Lazy\" Grid.Row=\"0\" Content=\"{TemplateBinding Header}\" ContentTemplate=\"{TemplateBinding HeaderTemplate}\" Foreground=\"{ThemeResource ToggleSwitchHeaderForeground}\" IsHitTestVisible=\"False\" Margin=\"{ThemeResource ToggleSwitchTopHeaderMargin}\" TextWrapping=\"Wrap\" VerticalAlignment=\"Top\" Visibility=\"Collapsed\" AutomationProperties.AccessibilityView=\"Raw\" />\r\n                        <Grid Grid.Row=\"1\" MinWidth=\"{StaticResource ToggleSwitchThemeMinWidth}\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\">\r\n                            <Grid.RowDefinitions>\r\n                                <RowDefinition Height=\"{ThemeResource ToggleSwitchPreContentMargin}\" />\r\n                                <RowDefinition Height=\"Auto\" />\r\n                                <RowDefinition Height=\"{ThemeResource ToggleSwitchPostContentMargin}\" />\r\n                            </Grid.RowDefinitions>\r\n                            <Grid.ColumnDefinitions>\r\n                                <ColumnDefinition Width=\"Auto\" />\r\n                                <ColumnDefinition Width=\"12\" MaxWidth=\"12\" />\r\n                                <ColumnDefinition Width=\"Auto\" />\r\n                            </Grid.ColumnDefinitions>\r\n                            <Grid x:Name=\"SwitchAreaGrid\" Grid.RowSpan=\"3\" Grid.ColumnSpan=\"3\" Margin=\"0,5\" Control.IsTemplateFocusTarget=\"True\" Background=\"{ThemeResource ToggleSwitchContainerBackground}\" />\r\n                            <ContentPresenter x:Name=\"OffContentPresenter\" Grid.RowSpan=\"3\" Grid.Column=\"2\" Opacity=\"0\" Foreground=\"{TemplateBinding Foreground}\" IsHitTestVisible=\"False\" Content=\"{TemplateBinding OffContent}\" ContentTemplate=\"{TemplateBinding OffContentTemplate}\" HorizontalAlignment=\"{TemplateBinding HorizontalContentAlignment}\" VerticalAlignment=\"{TemplateBinding VerticalContentAlignment}\" AutomationProperties.AccessibilityView=\"Raw\" />\r\n                            <ContentPresenter x:Name=\"OnContentPresenter\" Grid.RowSpan=\"3\" Grid.Column=\"2\" Opacity=\"0\" Foreground=\"{TemplateBinding Foreground}\" IsHitTestVisible=\"False\" Content=\"{TemplateBinding OnContent}\" ContentTemplate=\"{TemplateBinding OnContentTemplate}\" HorizontalAlignment=\"{TemplateBinding HorizontalContentAlignment}\" VerticalAlignment=\"{TemplateBinding VerticalContentAlignment}\" AutomationProperties.AccessibilityView=\"Raw\" />\r\n                            <Rectangle x:Name=\"OuterBorder\" Grid.Row=\"1\" Height=\"20\" Width=\"44\" RadiusX=\"10\" RadiusY=\"10\" Fill=\"{ThemeResource ToggleSwitchFillOff}\" Stroke=\"{ThemeResource ToggleSwitchStrokeOff}\" StrokeThickness=\"2\" />\r\n                            <Rectangle x:Name=\"SwitchKnobBounds\" Grid.Row=\"1\" Height=\"20\" Width=\"44\" RadiusX=\"10\" RadiusY=\"10\" Fill=\"{StaticResource SystemControlForegroundAccentBrush}\" Stroke=\"{StaticResource SystemControlForegroundAccentBrush}\" StrokeThickness=\"{ThemeResource ToggleSwitchOnStrokeThickness}\" Opacity=\"0\" />\r\n                            <Grid x:Name=\"SwitchKnob\" Grid.Row=\"1\" HorizontalAlignment=\"Left\" Width=\"20\" Height=\"20\">\r\n                                <Ellipse x:Name=\"SwitchKnobOn\" Fill=\"{ThemeResource ToggleSwitchKnobFillOn}\" Width=\"10\" Height=\"10\" Opacity=\"0\" />\r\n                                <Ellipse x:Name=\"SwitchKnobOff\" Fill=\"{ThemeResource ToggleSwitchKnobFillOff}\" Width=\"10\" Height=\"10\" />\r\n                                <Grid.RenderTransform>\r\n                                    <TranslateTransform x:Name=\"KnobTranslateTransform\" />\r\n                                </Grid.RenderTransform>\r\n                            </Grid>\r\n                            <Thumb x:Name=\"SwitchThumb\" AutomationProperties.AccessibilityView=\"Raw\" Grid.RowSpan=\"3\" Grid.ColumnSpan=\"3\">\r\n                                <Thumb.Template>\r\n                                    <ControlTemplate TargetType=\"Thumb\">\r\n                                        <Rectangle Fill=\"Transparent\" />\r\n                                    </ControlTemplate>\r\n                                </Thumb.Template>\r\n                            </Thumb>\r\n                        </Grid>\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n\r\n</ResourceDictionary>"
  },
  {
    "path": "src/Notepads/Resource/DismissButtonStyle.xaml",
    "content": "﻿<ResourceDictionary\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" \r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:local=\"using:Notepads\">\r\n\r\n    <Style x:Key=\"DismissButtonStyle\" TargetType=\"ButtonBase\">\r\n        <Setter Property=\"Background\" Value=\"{ThemeResource HyperlinkButtonBackground}\" />\r\n        <Setter Property=\"Foreground\" Value=\"{ThemeResource ApplicationForegroundThemeBrush}\" />\r\n        <Setter Property=\"Width\" Value=\"40\" />\r\n        <Setter Property=\"Height\" Value=\"40\" />\r\n        <Setter Property=\"UseSystemFocusVisuals\" Value=\"True\" />\r\n        <Setter Property=\"HighContrastAdjustment\" Value=\"None\" />\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"ButtonBase\">\r\n                    <Grid x:Name=\"RootGrid\" Margin=\"{TemplateBinding Padding}\" Background=\"{TemplateBinding Background}\">\r\n                        <Border x:Name=\"TextBorder\" BorderThickness=\"2\" BorderBrush=\"Transparent\">\r\n                            <ContentPresenter x:Name=\"Text\"\r\n                                                      Content=\"{TemplateBinding Content}\"\r\n                                                      HorizontalAlignment=\"{TemplateBinding HorizontalContentAlignment}\"\r\n                                                      VerticalAlignment=\"{TemplateBinding VerticalContentAlignment}\" />\r\n                        </Border>\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"CommonStates\">\r\n                                <VisualState x:Name=\"Normal\" />\r\n                                <VisualState x:Name=\"PointerOver\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"Text\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SystemListMediumColor}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"Transparent\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Pressed\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"Text\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SystemListMediumColor}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"Transparent\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Disabled\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"Text\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource HyperlinkButtonForegroundDisabled}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"Text\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource HyperlinkButtonBackgroundDisabled}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"Text\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource HyperlinkButtonBorderBrushDisabled}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n\r\n</ResourceDictionary>\r\n"
  },
  {
    "path": "src/Notepads/Resource/InAppNotificationNoDismissButton.xaml",
    "content": "﻿<ResourceDictionary\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" \r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:controls=\"using:Notepads.Controls\">\r\n\r\n    <Style x:Key=\"InAppNotificationNoDismissButton\" TargetType=\"controls:InAppNotification\">\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate>\r\n                    <Grid>\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"State\">\r\n                                <VisualState x:Name=\"Collapsed\">\r\n                                    <Storyboard>\r\n                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\"\r\n                                                             Storyboard.TargetProperty=\"(UIElement.RenderTransform).(CompositeTransform.TranslateX)\">\r\n                                            <EasingDoubleKeyFrame KeyTime=\"0\" Value=\"0\" />\r\n                                            <EasingDoubleKeyFrame controls:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\"\r\n                                                                  Value=\"{Binding HorizontalOffset, RelativeSource={RelativeSource TemplatedParent}}\" />\r\n                                        </DoubleAnimationUsingKeyFrames>\r\n\r\n                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\"\r\n                                                             Storyboard.TargetProperty=\"(UIElement.RenderTransform).(CompositeTransform.TranslateY)\">\r\n                                            <EasingDoubleKeyFrame KeyTime=\"0\" Value=\"-50\" />\r\n                                            <EasingDoubleKeyFrame controls:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\"\r\n                                                                  Value=\"{Binding VerticalOffset, RelativeSource={RelativeSource TemplatedParent}}\"/>\r\n                                        </DoubleAnimationUsingKeyFrames>\r\n\r\n                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\"\r\n                                                                               Storyboard.TargetProperty=\"(UIElement.Opacity)\">\r\n                                            <EasingDoubleKeyFrame KeyTime=\"0\" Value=\"1\" />\r\n                                            <EasingDoubleKeyFrame controls:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\" Value=\"0\" />\r\n                                        </DoubleAnimationUsingKeyFrames>\r\n\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\"\r\n                                                             Storyboard.TargetProperty=\"(UIElement.Visibility)\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\">\r\n                                                <DiscreteObjectKeyFrame.Value>\r\n                                                    <Visibility>Visible</Visibility>\r\n                                                </DiscreteObjectKeyFrame.Value>\r\n                                            </DiscreteObjectKeyFrame>\r\n                                            <DiscreteObjectKeyFrame controls:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\">\r\n                                                <DiscreteObjectKeyFrame.Value>\r\n                                                    <Visibility>Collapsed</Visibility>\r\n                                                </DiscreteObjectKeyFrame.Value>\r\n                                            </DiscreteObjectKeyFrame>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n\r\n                                <VisualState x:Name=\"Visible\">\r\n                                    <Storyboard>\r\n                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\"\r\n                                                             Storyboard.TargetProperty=\"(UIElement.RenderTransform).(CompositeTransform.TranslateX)\">\r\n                                            <EasingDoubleKeyFrame KeyTime=\"0\" Value=\"{Binding HorizontalOffset, RelativeSource={RelativeSource TemplatedParent}}\" />\r\n                                            <EasingDoubleKeyFrame controls:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\" Value=\"0\" />\r\n                                        </DoubleAnimationUsingKeyFrames>\r\n\r\n                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\"\r\n                                                             Storyboard.TargetProperty=\"(UIElement.RenderTransform).(CompositeTransform.TranslateY)\">\r\n                                            <EasingDoubleKeyFrame KeyTime=\"0\" Value=\"{Binding VerticalOffset, RelativeSource={RelativeSource TemplatedParent}}\" />\r\n                                            <EasingDoubleKeyFrame controls:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\" Value=\"-50\" />\r\n                                        </DoubleAnimationUsingKeyFrames>\r\n\r\n                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\"\r\n                                                                               Storyboard.TargetProperty=\"(UIElement.Opacity)\">\r\n                                            <EasingDoubleKeyFrame KeyTime=\"0\" Value=\"0\" />\r\n                                            <EasingDoubleKeyFrame controls:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\" Value=\"1\" />\r\n                                        </DoubleAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n\r\n                        <Grid x:Name=\"RootGrid\"\r\n                              RenderTransformOrigin=\"{TemplateBinding RenderTransformOrigin}\"\r\n                              Margin=\"{TemplateBinding Margin}\"\r\n                              MaxWidth=\"{TemplateBinding MaxWidth}\"\r\n                              Visibility=\"{TemplateBinding Visibility}\">\r\n                            <Grid.RenderTransform>\r\n                                <CompositeTransform />\r\n                            </Grid.RenderTransform>\r\n\r\n                            <controls:DropShadowPanel BlurRadius=\"8\" ShadowOpacity=\"0.3\"\r\n                                                      OffsetX=\"0.3\" OffsetY=\"0.3\"\r\n                                                      HorizontalContentAlignment=\"Stretch\" VerticalContentAlignment=\"Stretch\">\r\n                                <Grid Background=\"{TemplateBinding Background}\" \r\n                                      BorderBrush=\"{TemplateBinding BorderBrush}\" \r\n                                      BorderThickness=\"{TemplateBinding BorderThickness}\"\r\n                                      Padding=\"{TemplateBinding Padding}\">\r\n                                    <Grid.ColumnDefinitions>\r\n                                        <ColumnDefinition Width=\"*\" />\r\n                                    </Grid.ColumnDefinitions>\r\n\r\n                                    <ContentPresenter HorizontalAlignment=\"{TemplateBinding HorizontalAlignment}\"\r\n                                                  HorizontalContentAlignment=\"Center\"\r\n                                                  VerticalAlignment=\"{TemplateBinding VerticalContentAlignment}\"\r\n                                                  VerticalContentAlignment=\"Center\"\r\n                                                  TextWrapping=\"WrapWholeWords\" />\r\n                                </Grid>\r\n                            </controls:DropShadowPanel>\r\n\r\n                        </Grid>\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n\r\n</ResourceDictionary>\r\n"
  },
  {
    "path": "src/Notepads/Resource/Text Document.txt",
    "content": ""
  },
  {
    "path": "src/Notepads/Resource/TransparentTextBoxStyle.xaml",
    "content": "﻿<ResourceDictionary\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" \r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:local=\"using:Notepads\">\r\n\r\n    <ResourceDictionary.ThemeDictionaries>\r\n        <ResourceDictionary x:Key=\"Light\">\r\n            <SolidColorBrush x:Key=\"CustomTextBoxBackground\"\r\n                            Color=\"#E0E0E0\"\r\n                            Opacity=\"0.7\"/>\r\n        </ResourceDictionary>\r\n        <ResourceDictionary x:Key=\"Dark\">\r\n            <SolidColorBrush x:Key=\"CustomTextBoxBackground\"\r\n                             Color=\"#1E1E1E\"\r\n                             Opacity=\"0.7\"/>\r\n        </ResourceDictionary>\r\n        <ResourceDictionary x:Key=\"HighContrast\">\r\n            <SolidColorBrush x:Key=\"CustomTextBoxBackground\"\r\n                             Color=\"Black\" />\r\n        </ResourceDictionary>\r\n    </ResourceDictionary.ThemeDictionaries>\r\n\r\n    <Style x:Key=\"TransparentTextBoxStyle\" TargetType=\"TextBox\">\r\n        <Setter Property=\"Foreground\" Value=\"{ThemeResource TextControlForeground}\"/>\r\n        <Setter Property=\"Background\" Value=\"{ThemeResource CustomTextBoxBackground}\"/>\r\n        <Setter Property=\"BorderBrush\" Value=\"{ThemeResource TextControlBorderBrush}\"/>\r\n        <Setter Property=\"SelectionHighlightColor\" Value=\"{ThemeResource TextControlSelectionHighlightColor}\"/>\r\n        <Setter Property=\"BorderThickness\" Value=\"{ThemeResource TextControlBorderThemeThickness}\"/>\r\n        <Setter Property=\"FontFamily\" Value=\"{ThemeResource ContentControlThemeFontFamily}\"/>\r\n        <Setter Property=\"FontSize\" Value=\"{ThemeResource ControlContentThemeFontSize}\"/>\r\n        <Setter Property=\"ScrollViewer.HorizontalScrollMode\" Value=\"Auto\"/>\r\n        <Setter Property=\"ScrollViewer.VerticalScrollMode\" Value=\"Disabled\"/>\r\n        <Setter Property=\"ScrollViewer.HorizontalScrollBarVisibility\" Value=\"Hidden\"/>\r\n        <Setter Property=\"ScrollViewer.VerticalScrollBarVisibility\" Value=\"Hidden\"/>\r\n        <Setter Property=\"ScrollViewer.IsDeferredScrollingEnabled\" Value=\"False\"/>\r\n        <Setter Property=\"Padding\" Value=\"{ThemeResource TextControlThemePadding}\"/>\r\n        <Setter Property=\"UseSystemFocusVisuals\" Value=\"{ThemeResource IsApplicationFocusVisualKindReveal}\"/>\r\n        <Setter Property=\"ContextFlyout\" Value=\"{StaticResource TextControlCommandBarContextFlyout}\"/>\r\n        <!--<Setter Property=\"SelectionFlyout\" Value=\"{StaticResource TextControlCommandBarSelectionFlyout}\"/>-->\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"TextBox\">\r\n                    <Grid>\r\n                        <Grid.Resources>\r\n                            <ResourceDictionary>\r\n                            </ResourceDictionary>\r\n                        </Grid.Resources>\r\n                        <Grid.ColumnDefinitions>\r\n                            <ColumnDefinition Width=\"*\"/>\r\n                            <ColumnDefinition Width=\"Auto\"/>\r\n                        </Grid.ColumnDefinitions>\r\n                        <Grid.RowDefinitions>\r\n                            <RowDefinition Height=\"Auto\"/>\r\n                            <RowDefinition Height=\"*\"/>\r\n                            <RowDefinition Height=\"Auto\"/>\r\n                        </Grid.RowDefinitions>\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"CommonStates\">\r\n                                <VisualState x:Name=\"Normal\"/>\r\n                                <VisualState x:Name=\"Disabled\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"HeaderContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource TextControlHeaderForegroundDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"BorderElement\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource TextControlBackgroundDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"BorderElement\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SystemChromeBlackLowColor}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentElement\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource TextControlForegroundDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PlaceholderTextContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{Binding PlaceholderForeground, RelativeSource={RelativeSource Mode=TemplatedParent}, TargetNullValue={ThemeResource TextControlPlaceholderForegroundDisabled}}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"PointerOver\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"BorderElement\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource TextControlBorderBrushPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"BorderElement\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource TextControlBackground}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PlaceholderTextContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{Binding PlaceholderForeground, RelativeSource={RelativeSource Mode=TemplatedParent}, TargetNullValue={ThemeResource TextControlPlaceholderForegroundPointerOver}}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentElement\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource TextControlForegroundPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Focused\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"PlaceholderTextContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{Binding PlaceholderForeground, RelativeSource={RelativeSource Mode=TemplatedParent}, TargetNullValue={ThemeResource SystemControlForegroundTransparentBrush}}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"BorderElement\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource TextControlBackground}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"BorderElement\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource TextControlBorderBrushFocused}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentElement\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource TextControlForeground}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n                        <ContentPresenter x:Name=\"HeaderContentPresenter\" ContentTemplate=\"{TemplateBinding HeaderTemplate}\" Content=\"{TemplateBinding Header}\" Grid.ColumnSpan=\"2\" Grid.Column=\"0\" FontWeight=\"Normal\" Foreground=\"{ThemeResource TextControlHeaderForeground}\" Margin=\"{StaticResource TextBoxTopHeaderMargin}\" Grid.Row=\"0\" TextWrapping=\"Wrap\" VerticalAlignment=\"Top\" Visibility=\"Collapsed\" x:DeferLoadStrategy=\"Lazy\"/>\r\n                        <Border x:Name=\"BorderElement\" Background=\"{TemplateBinding Background}\" BorderThickness=\"{TemplateBinding BorderThickness}\" BorderBrush=\"{TemplateBinding BorderBrush}\" CornerRadius=\"{TemplateBinding CornerRadius}\" Grid.ColumnSpan=\"2\" Grid.Column=\"0\" Control.IsTemplateFocusTarget=\"True\" MinHeight=\"{ThemeResource TextControlThemeMinHeight}\" MinWidth=\"{ThemeResource TextControlThemeMinWidth}\" Grid.RowSpan=\"1\" Grid.Row=\"1\"/>\r\n                        <ScrollViewer x:Name=\"ContentElement\" AutomationProperties.AccessibilityView=\"Raw\" VerticalAlignment=\"Center\" Grid.Column=\"0\" HorizontalScrollBarVisibility=\"{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}\" HorizontalScrollMode=\"{TemplateBinding ScrollViewer.HorizontalScrollMode}\" IsDeferredScrollingEnabled=\"{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}\" IsHorizontalRailEnabled=\"{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}\" IsTabStop=\"False\" IsVerticalRailEnabled=\"{TemplateBinding ScrollViewer.IsVerticalRailEnabled}\" Margin=\"{TemplateBinding BorderThickness}\" Padding=\"{TemplateBinding Padding}\" Grid.Row=\"1\" VerticalScrollMode=\"{TemplateBinding ScrollViewer.VerticalScrollMode}\" VerticalScrollBarVisibility=\"{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}\" ZoomMode=\"Disabled\"/>\r\n                        <TextBlock x:Name=\"PlaceholderTextContentPresenter\" VerticalAlignment=\"Center\" Grid.ColumnSpan=\"2\" Grid.Column=\"0\" Foreground=\"{Binding PlaceholderForeground, RelativeSource={RelativeSource Mode=TemplatedParent}, TargetNullValue={ThemeResource TextControlPlaceholderForeground}}\" IsHitTestVisible=\"False\" Margin=\"{TemplateBinding BorderThickness}\" Padding=\"{TemplateBinding Padding}\" Grid.Row=\"1\" Text=\"{TemplateBinding PlaceholderText}\" TextWrapping=\"{TemplateBinding TextWrapping}\" TextAlignment=\"{TemplateBinding TextAlignment}\"/>\r\n                        <ContentPresenter x:Name=\"DescriptionPresenter\" AutomationProperties.AccessibilityView=\"Raw\" Content=\"{TemplateBinding Description}\" Grid.ColumnSpan=\"2\" Grid.Column=\"0\" Foreground=\"{ThemeResource SystemControlDescriptionTextForegroundBrush}\" Grid.Row=\"2\" x:Load=\"False\"/>\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n\r\n</ResourceDictionary>\r\n"
  },
  {
    "path": "src/Notepads/Services/ActivationService.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Services\r\n{\r\n    using System.Threading.Tasks;\r\n    using Notepads.Utilities;\r\n    using Notepads.Views.MainPage;\r\n    using Windows.ApplicationModel.Activation;\r\n    using Windows.Storage;\r\n    using Windows.UI.Xaml.Controls;\r\n\r\n    public static class ActivationService\r\n    {\r\n        public static async Task ActivateAsync(Frame rootFrame, IActivatedEventArgs e)\r\n        {\r\n            switch (e)\r\n            {\r\n                case ProtocolActivatedEventArgs protocolActivatedEventArgs:\r\n                    ProtocolActivated(rootFrame, protocolActivatedEventArgs);\r\n                    break;\r\n                case FileActivatedEventArgs fileActivatedEventArgs:\r\n                    await FileActivatedAsync(rootFrame, fileActivatedEventArgs);\r\n                    break;\r\n                case CommandLineActivatedEventArgs commandLineActivatedEventArgs:\r\n                    await CommandActivatedAsync(rootFrame, commandLineActivatedEventArgs);\r\n                    break;\r\n                case LaunchActivatedEventArgs launchActivatedEventArgs:\r\n                    LaunchActivated(rootFrame, launchActivatedEventArgs);\r\n                    break;\r\n                // For other types of activated events\r\n                default:\r\n                    {\r\n                        if (rootFrame.Content == null) rootFrame.Navigate(typeof(NotepadsMainPage));\r\n                        break;\r\n                    }\r\n            }\r\n        }\r\n\r\n        private static void ProtocolActivated(Frame rootFrame, ProtocolActivatedEventArgs protocolActivatedEventArgs)\r\n        {\r\n            LoggingService.LogInfo($\"[{nameof(ActivationService)}] [ProtocolActivated] Protocol: {protocolActivatedEventArgs.Uri}\");\r\n\r\n            switch (rootFrame.Content)\r\n            {\r\n                case null:\r\n                    rootFrame.Navigate(typeof(NotepadsMainPage), protocolActivatedEventArgs);\r\n                    break;\r\n                case NotepadsMainPage mainPage:\r\n                    mainPage.ExecuteProtocol(protocolActivatedEventArgs.Uri);\r\n                    break;\r\n            }\r\n        }\r\n\r\n        private static void LaunchActivated(Frame rootFrame, LaunchActivatedEventArgs launchActivatedEventArgs)\r\n        {\r\n            LoggingService.LogInfo($\"[{nameof(ActivationService)}] [LaunchActivated] Kind: {launchActivatedEventArgs.Kind}\");\r\n\r\n            if (rootFrame.Content == null)\r\n            {\r\n                rootFrame.Navigate(typeof(NotepadsMainPage), launchActivatedEventArgs.Arguments);\r\n            }\r\n        }\r\n\r\n        private static async Task FileActivatedAsync(Frame rootFrame, FileActivatedEventArgs fileActivatedEventArgs)\r\n        {\r\n            LoggingService.LogInfo($\"[{nameof(ActivationService)}] [FileActivated]\");\r\n\r\n            switch (rootFrame.Content)\r\n            {\r\n                case null:\r\n                    rootFrame.Navigate(typeof(NotepadsMainPage), fileActivatedEventArgs);\r\n                    break;\r\n                case NotepadsMainPage mainPage:\r\n                    await mainPage.OpenFilesAsync(fileActivatedEventArgs.Files);\r\n                    break;\r\n            }\r\n        }\r\n\r\n        private static async Task CommandActivatedAsync(Frame rootFrame, CommandLineActivatedEventArgs commandLineActivatedEventArgs)\r\n        {\r\n            LoggingService.LogInfo($\"[{nameof(ActivationService)}] [CommandActivated] CurrentDirectoryPath: {commandLineActivatedEventArgs.Operation.CurrentDirectoryPath} \" +\r\n                                   $\"Arguments: {commandLineActivatedEventArgs.Operation.Arguments}\");\r\n\r\n            switch (rootFrame.Content)\r\n            {\r\n                case null:\r\n                    rootFrame.Navigate(typeof(NotepadsMainPage), commandLineActivatedEventArgs);\r\n                    break;\r\n                case NotepadsMainPage mainPage:\r\n                    {\r\n                        StorageFile file = await FileSystemUtility.OpenFileFromCommandLineAsync(\r\n                            commandLineActivatedEventArgs.Operation.CurrentDirectoryPath,\r\n                            commandLineActivatedEventArgs.Operation.Arguments);\r\n\r\n                        if (file != null)\r\n                        {\r\n                            await mainPage.OpenFileAsync(file);\r\n                        }\r\n\r\n                        break;\r\n                    }\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Services/AnalyticsService.cs",
    "content": "// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Services\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using Microsoft.Services.Store.Engagement;\r\n\r\n    public static class AnalyticsService\r\n    {\r\n        private static StoreServicesCustomEventLogger Logger;\r\n\r\n        static AnalyticsService()\r\n        {\r\n            try\r\n            {\r\n                Logger = StoreServicesCustomEventLogger.GetDefault();\r\n            }\r\n            catch\r\n            {\r\n                // best effort\r\n            }\r\n        }\r\n\r\n\r\n        public static void TrackEvent(string eventName, IDictionary<string, string> properties = null)\r\n        {\r\n            try\r\n            {\r\n                // TODO: Simplify this to use a single line, reduce complexity of properties by all the callers\r\n                //string eventMessage = properties != null\r\n                //    ? $\"{eventName} - {Newtonsoft.Json.JsonConvert.SerializeObject(properties)}\"\r\n                //    : eventName;\r\n                Logger?.Log(eventName);\r\n            }\r\n            catch\r\n            {\r\n                // best effort\r\n            }\r\n        }\r\n\r\n        public static void TrackError(Exception exception, IDictionary<string, string> properties = null)\r\n        {\r\n            try\r\n            {\r\n                Logger?.Log($\"Error - {exception.Message} - {exception.StackTrace}\");\r\n            }\r\n            catch\r\n            {\r\n                // best effort\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Services/AppSettingsService.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Services\r\n{\r\n    using System;\r\n    using System.Text;\r\n    using Notepads.Settings;\r\n    using Notepads.Utilities;\r\n    using Windows.UI.Text;\r\n    using Windows.UI.Xaml;\r\n\r\n    public static class AppSettingsService\r\n    {\r\n        public static event EventHandler<string> OnFontFamilyChanged;\r\n        public static event EventHandler<FontStyle> OnFontStyleChanged;\r\n        public static event EventHandler<FontWeight> OnFontWeightChanged;\r\n        public static event EventHandler<int> OnFontSizeChanged;\r\n        public static event EventHandler<TextWrapping> OnDefaultTextWrappingChanged;\r\n        public static event EventHandler<bool> OnDefaultLineHighlighterViewStateChanged;\r\n        public static event EventHandler<bool> OnDefaultDisplayLineNumbersViewStateChanged;\r\n        public static event EventHandler<LineEnding> OnDefaultLineEndingChanged;\r\n        public static event EventHandler<Encoding> OnDefaultEncodingChanged;\r\n        public static event EventHandler<int> OnDefaultTabIndentsChanged;\r\n        public static event EventHandler<bool> OnStatusBarVisibilityChanged;\r\n        public static event EventHandler<bool> OnSessionBackupAndRestoreOptionChanged;\r\n        public static event EventHandler<bool> OnHighlightMisspelledWordsChanged;\r\n\r\n        private static string _editorFontFamily;\r\n\r\n        public static string EditorFontFamily\r\n        {\r\n            get => _editorFontFamily;\r\n            set\r\n            {\r\n                _editorFontFamily = value;\r\n                OnFontFamilyChanged?.Invoke(null, value);\r\n                ApplicationSettingsStore.Write(SettingsKey.EditorFontFamilyStr, value);\r\n            }\r\n        }\r\n\r\n        private static int _editorFontSize;\r\n\r\n        public static int EditorFontSize\r\n        {\r\n            get => _editorFontSize;\r\n            set\r\n            {\r\n                _editorFontSize = value;\r\n                OnFontSizeChanged?.Invoke(null, value);\r\n                ApplicationSettingsStore.Write(SettingsKey.EditorFontSizeInt, value);\r\n            }\r\n        }\r\n\r\n        private static FontStyle _editorFontStyle;\r\n\r\n        public static FontStyle EditorFontStyle\r\n        {\r\n            get => _editorFontStyle;\r\n            set\r\n            {\r\n                _editorFontStyle = value;\r\n                OnFontStyleChanged?.Invoke(null, value);\r\n                ApplicationSettingsStore.Write(SettingsKey.EditorFontStyleStr, value.ToString());\r\n            }\r\n        }\r\n\r\n        private static FontWeight _editorFontWeight;\r\n\r\n        public static FontWeight EditorFontWeight\r\n        {\r\n            get => _editorFontWeight;\r\n            set\r\n            {\r\n                _editorFontWeight = value;\r\n                OnFontWeightChanged?.Invoke(null, value);\r\n                ApplicationSettingsStore.Write(SettingsKey.EditorFontWeightUshort, value.Weight);\r\n            }\r\n        }\r\n\r\n        private static TextWrapping _editorDefaultTextWrapping;\r\n\r\n        public static TextWrapping EditorDefaultTextWrapping\r\n        {\r\n            get => _editorDefaultTextWrapping;\r\n            set\r\n            {\r\n                _editorDefaultTextWrapping = value;\r\n                OnDefaultTextWrappingChanged?.Invoke(null, value);\r\n                ApplicationSettingsStore.Write(SettingsKey.EditorDefaultTextWrappingStr, value.ToString());\r\n            }\r\n        }\r\n\r\n        private static bool _editorDisplayLineHighlighter;\r\n\r\n        public static bool EditorDisplayLineHighlighter\r\n        {\r\n            get => _editorDisplayLineHighlighter;\r\n            set\r\n            {\r\n                _editorDisplayLineHighlighter = value;\r\n                OnDefaultLineHighlighterViewStateChanged?.Invoke(null, value);\r\n                ApplicationSettingsStore.Write(SettingsKey.EditorDefaultLineHighlighterViewStateBool, value);\r\n            }\r\n        }\r\n\r\n        private static LineEnding _editorDefaultLineEnding;\r\n\r\n        public static LineEnding EditorDefaultLineEnding\r\n        {\r\n            get => _editorDefaultLineEnding;\r\n            set\r\n            {\r\n                _editorDefaultLineEnding = value;\r\n                OnDefaultLineEndingChanged?.Invoke(null, value);\r\n                ApplicationSettingsStore.Write(SettingsKey.EditorDefaultLineEndingStr, value.ToString());\r\n            }\r\n        }\r\n\r\n        private static Encoding _editorDefaultEncoding;\r\n\r\n        public static Encoding EditorDefaultEncoding\r\n        {\r\n            get => _editorDefaultEncoding;\r\n            set\r\n            {\r\n                _editorDefaultEncoding = value;\r\n\r\n                if (value is UTF8Encoding)\r\n                {\r\n                    ApplicationSettingsStore.Write(SettingsKey.EditorDefaultUtf8EncoderShouldEmitByteOrderMarkBool,\r\n                        Equals(value, new UTF8Encoding(true)));\r\n                }\r\n\r\n                OnDefaultEncodingChanged?.Invoke(null, value);\r\n                ApplicationSettingsStore.Write(SettingsKey.EditorDefaultEncodingCodePageInt, value.CodePage);\r\n            }\r\n        }\r\n\r\n        private static Encoding _editorDefaultDecoding;\r\n\r\n        public static Encoding EditorDefaultDecoding\r\n        {\r\n            get\r\n            {\r\n                if (_editorDefaultDecoding == null)\r\n                {\r\n                    return null;\r\n                }\r\n                // If it is not UTF-8 meaning user is using ANSI decoding,\r\n                // We should always try get latest system ANSI code page.\r\n                else if (!(_editorDefaultDecoding is UTF8Encoding))\r\n                {\r\n                    if (EncodingUtility.TryGetSystemDefaultANSIEncoding(out var systemDefaultANSIEncoding))\r\n                    {\r\n                        _editorDefaultDecoding = systemDefaultANSIEncoding;\r\n                    }\r\n                    else if (EncodingUtility.TryGetCurrentCultureANSIEncoding(out var currentCultureANSIEncoding))\r\n                    {\r\n                        _editorDefaultDecoding = currentCultureANSIEncoding;\r\n                    }\r\n                    else\r\n                    {\r\n                        _editorDefaultDecoding = new UTF8Encoding(false); // Fall back to UTF-8 (no BOM)\r\n                    }\r\n                }\r\n                return _editorDefaultDecoding;\r\n            }\r\n            set\r\n            {\r\n                _editorDefaultDecoding = value;\r\n                var codePage = value?.CodePage ?? -1;\r\n                ApplicationSettingsStore.Write(SettingsKey.EditorDefaultDecodingCodePageInt, codePage);\r\n            }\r\n        }\r\n\r\n        private static int _editorDefaultTabIndents;\r\n\r\n        public static int EditorDefaultTabIndents\r\n        {\r\n            get => _editorDefaultTabIndents;\r\n            set\r\n            {\r\n                _editorDefaultTabIndents = value;\r\n                OnDefaultTabIndentsChanged?.Invoke(null, value);\r\n                ApplicationSettingsStore.Write(SettingsKey.EditorDefaultTabIndentsInt, value);\r\n            }\r\n        }\r\n\r\n        private static SearchEngine _editorDefaultSearchEngine;\r\n\r\n        public static SearchEngine EditorDefaultSearchEngine\r\n        {\r\n            get => _editorDefaultSearchEngine;\r\n            set\r\n            {\r\n                _editorDefaultSearchEngine = value;\r\n                ApplicationSettingsStore.Write(SettingsKey.EditorDefaultSearchEngineStr, value.ToString());\r\n            }\r\n        }\r\n\r\n        private static string _editorCustomMadeSearchUrl;\r\n\r\n        public static string EditorCustomMadeSearchUrl\r\n        {\r\n            get => _editorCustomMadeSearchUrl;\r\n            set\r\n            {\r\n                _editorCustomMadeSearchUrl = value;\r\n                ApplicationSettingsStore.Write(SettingsKey.EditorCustomMadeSearchUrlStr, value);\r\n            }\r\n        }\r\n\r\n        private static bool _showStatusBar;\r\n\r\n        public static bool ShowStatusBar\r\n        {\r\n            get => _showStatusBar;\r\n            set\r\n            {\r\n                _showStatusBar = value;\r\n                OnStatusBarVisibilityChanged?.Invoke(null, value);\r\n                ApplicationSettingsStore.Write(SettingsKey.EditorShowStatusBarBool, value);\r\n            }\r\n        }\r\n\r\n        private static bool _isSessionSnapshotEnabled;\r\n\r\n        public static bool IsSessionSnapshotEnabled\r\n        {\r\n            get => _isSessionSnapshotEnabled;\r\n            set\r\n            {\r\n                _isSessionSnapshotEnabled = value;\r\n                OnSessionBackupAndRestoreOptionChanged?.Invoke(null, value);\r\n                ApplicationSettingsStore.Write(SettingsKey.EditorEnableSessionBackupAndRestoreBool, value);\r\n            }\r\n        }\r\n\r\n        private static bool _isHighlightMisspelledWordsEnabled;\r\n\r\n        public static bool IsHighlightMisspelledWordsEnabled\r\n        {\r\n            get => _isHighlightMisspelledWordsEnabled;\r\n            set\r\n            {\r\n                _isHighlightMisspelledWordsEnabled = value;\r\n                OnHighlightMisspelledWordsChanged?.Invoke(null, value);\r\n                ApplicationSettingsStore.Write(SettingsKey.EditorHighlightMisspelledWordsBool, value);\r\n            }\r\n        }\r\n\r\n        private static bool _exitWhenLastTabClosed;\r\n\r\n        public static bool ExitWhenLastTabClosed\r\n        {\r\n            get => _exitWhenLastTabClosed;\r\n            set\r\n            {\r\n                _exitWhenLastTabClosed = value;\r\n                ApplicationSettingsStore.Write(SettingsKey.ExitWhenLastTabClosed, value);\r\n            }\r\n        }\r\n\r\n        private static bool _alwaysOpenNewWindow;\r\n\r\n        public static bool AlwaysOpenNewWindow\r\n        {\r\n            get => _alwaysOpenNewWindow;\r\n            set\r\n            {\r\n                _alwaysOpenNewWindow = value;\r\n                ApplicationSettingsStore.Write(SettingsKey.AlwaysOpenNewWindowBool, value);\r\n            }\r\n        }\r\n\r\n        private static bool _displayLineNumbers;\r\n\r\n        public static bool EditorDisplayLineNumbers\r\n        {\r\n            get => _displayLineNumbers;\r\n            set\r\n            {\r\n                _displayLineNumbers = value;\r\n                OnDefaultDisplayLineNumbersViewStateChanged?.Invoke(null, value);\r\n                ApplicationSettingsStore.Write(SettingsKey.EditorDefaultDisplayLineNumbersBool, value);\r\n            }\r\n        }\r\n\r\n        private static bool _isSmartCopyEnabled;\r\n\r\n        public static bool IsSmartCopyEnabled\r\n        {\r\n            get => _isSmartCopyEnabled;\r\n            set\r\n            {\r\n                _isSmartCopyEnabled = value;\r\n                ApplicationSettingsStore.Write(SettingsKey.EditorEnableSmartCopyBool, value);\r\n            }\r\n        }\r\n\r\n        public static void Initialize()\r\n        {\r\n            InitializeFontSettings();\r\n\r\n            InitializeTextWrappingSettings();\r\n\r\n            InitializeSpellingSettings();\r\n\r\n            InitializeDisplaySettings();\r\n\r\n            InitializeSmartCopySettings();\r\n\r\n            InitializeLineEndingSettings();\r\n\r\n            InitializeEncodingSettings();\r\n\r\n            InitializeDecodingSettings();\r\n\r\n            InitializeTabIndentsSettings();\r\n\r\n            InitializeSearchEngineSettings();\r\n\r\n            InitializeStatusBarSettings();\r\n\r\n            InitializeSessionSnapshotSettings();\r\n\r\n            InitializeAppOpeningPreferencesSettings();\r\n\r\n            InitializeAppClosingPreferencesSettings();\r\n        }\r\n\r\n        private static void InitializeStatusBarSettings()\r\n        {\r\n            if (ApplicationSettingsStore.Read(SettingsKey.EditorShowStatusBarBool) is bool showStatusBar)\r\n            {\r\n                _showStatusBar = showStatusBar;\r\n            }\r\n            else\r\n            {\r\n                _showStatusBar = true;\r\n            }\r\n        }\r\n\r\n        private static void InitializeSessionSnapshotSettings()\r\n        {\r\n            // We should disable session snapshot feature on multi instances\r\n            if (!App.IsPrimaryInstance)\r\n            {\r\n                _isSessionSnapshotEnabled = false;\r\n            }\r\n            else if (App.IsGameBarWidget)\r\n            {\r\n                _isSessionSnapshotEnabled = true;\r\n            }\r\n            else\r\n            {\r\n                if (ApplicationSettingsStore.Read(SettingsKey.EditorEnableSessionBackupAndRestoreBool) is bool enableSessionBackupAndRestore)\r\n                {\r\n                    _isSessionSnapshotEnabled = enableSessionBackupAndRestore;\r\n                }\r\n                else\r\n                {\r\n                    _isSessionSnapshotEnabled = false;\r\n                }\r\n            }\r\n        }\r\n\r\n        private static void InitializeLineEndingSettings()\r\n        {\r\n            if (ApplicationSettingsStore.Read(SettingsKey.EditorDefaultLineEndingStr) is string lineEndingStr &&\r\n                Enum.TryParse(typeof(LineEnding), lineEndingStr, out var lineEnding))\r\n            {\r\n                _editorDefaultLineEnding = (LineEnding)lineEnding;\r\n            }\r\n            else\r\n            {\r\n                _editorDefaultLineEnding = LineEnding.Crlf;\r\n            }\r\n        }\r\n\r\n        private static void InitializeTextWrappingSettings()\r\n        {\r\n            if (ApplicationSettingsStore.Read(SettingsKey.EditorDefaultTextWrappingStr) is string textWrappingStr &&\r\n                Enum.TryParse(typeof(TextWrapping), textWrappingStr, out var textWrapping))\r\n            {\r\n                _editorDefaultTextWrapping = (TextWrapping)textWrapping;\r\n            }\r\n            else\r\n            {\r\n                _editorDefaultTextWrapping = TextWrapping.NoWrap;\r\n            }\r\n        }\r\n\r\n        private static void InitializeSpellingSettings()\r\n        {\r\n            if (ApplicationSettingsStore.Read(SettingsKey.EditorHighlightMisspelledWordsBool) is bool highlightMisspelledWords)\r\n            {\r\n                _isHighlightMisspelledWordsEnabled = highlightMisspelledWords;\r\n            }\r\n            else\r\n            {\r\n                _isHighlightMisspelledWordsEnabled = false;\r\n            }\r\n        }\r\n\r\n        private static void InitializeDisplaySettings()\r\n        {\r\n            if (ApplicationSettingsStore.Read(SettingsKey.EditorDefaultLineHighlighterViewStateBool) is bool displayLineHighlighter)\r\n            {\r\n                _editorDisplayLineHighlighter = displayLineHighlighter;\r\n            }\r\n            else\r\n            {\r\n                _editorDisplayLineHighlighter = true;\r\n            }\r\n\r\n            if (ApplicationSettingsStore.Read(SettingsKey.EditorDefaultDisplayLineNumbersBool) is bool displayLineNumbers)\r\n            {\r\n                _displayLineNumbers = displayLineNumbers;\r\n            }\r\n            else\r\n            {\r\n                _displayLineNumbers = true;\r\n            }\r\n        }\r\n\r\n        private static void InitializeSmartCopySettings()\r\n        {\r\n            if (ApplicationSettingsStore.Read(SettingsKey.EditorEnableSmartCopyBool) is bool enableSmartCopy)\r\n            {\r\n                _isSmartCopyEnabled = enableSmartCopy;\r\n            }\r\n            else\r\n            {\r\n                _isSmartCopyEnabled = false;\r\n            }\r\n        }\r\n\r\n        private static void InitializeEncodingSettings()\r\n        {\r\n            Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);\r\n\r\n            if (ApplicationSettingsStore.Read(SettingsKey.EditorDefaultEncodingCodePageInt) is int encodingCodePage)\r\n            {\r\n                var encoding = Encoding.GetEncoding(encodingCodePage);\r\n\r\n                if (encoding is UTF8Encoding)\r\n                {\r\n                    if (ApplicationSettingsStore.Read(SettingsKey.EditorDefaultUtf8EncoderShouldEmitByteOrderMarkBool) is bool shouldEmitBom)\r\n                    {\r\n                        encoding = new UTF8Encoding(shouldEmitBom);\r\n                    }\r\n                    else\r\n                    {\r\n                        encoding = new UTF8Encoding(false);\r\n                    }\r\n                }\r\n\r\n                _editorDefaultEncoding = encoding;\r\n            }\r\n            else\r\n            {\r\n                _editorDefaultEncoding = new UTF8Encoding(false);\r\n            }\r\n        }\r\n\r\n        private static void InitializeDecodingSettings()\r\n        {\r\n            if (ApplicationSettingsStore.Read(SettingsKey.EditorDefaultDecodingCodePageInt) is int decodingCodePage)\r\n            {\r\n                try\r\n                {\r\n                    if (decodingCodePage == -1)\r\n                    {\r\n                        _editorDefaultDecoding = null; // Meaning we should guess encoding during runtime\r\n                    }\r\n                    else\r\n                    {\r\n                        Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);\r\n                        _editorDefaultDecoding = Encoding.GetEncoding(decodingCodePage);\r\n                        if (_editorDefaultDecoding is UTF8Encoding)\r\n                        {\r\n                            _editorDefaultDecoding = new UTF8Encoding(false);\r\n                        }\r\n                    }\r\n                }\r\n                catch (Exception ex)\r\n                {\r\n                    LoggingService.LogError($\"[{nameof(AppSettingsService)}] Failed to get encoding, code page: {decodingCodePage}, ex: {ex.Message}\");\r\n                    _editorDefaultDecoding = null;\r\n                }\r\n            }\r\n            else\r\n            {\r\n                _editorDefaultDecoding = null; // Default to null\r\n            }\r\n        }\r\n\r\n        private static void InitializeTabIndentsSettings()\r\n        {\r\n            if (ApplicationSettingsStore.Read(SettingsKey.EditorDefaultTabIndentsInt) is int tabIndents)\r\n            {\r\n                _editorDefaultTabIndents = tabIndents;\r\n            }\r\n            else\r\n            {\r\n                _editorDefaultTabIndents = -1;\r\n            }\r\n        }\r\n\r\n        private static void InitializeSearchEngineSettings()\r\n        {\r\n            if (ApplicationSettingsStore.Read(SettingsKey.EditorDefaultSearchEngineStr) is string searchEngineStr &&\r\n                Enum.TryParse(typeof(SearchEngine), searchEngineStr, out var searchEngine))\r\n            {\r\n                _editorDefaultSearchEngine = (SearchEngine)searchEngine;\r\n            }\r\n            else\r\n            {\r\n                _editorDefaultSearchEngine = SearchEngine.Bing;\r\n            }\r\n\r\n            if (ApplicationSettingsStore.Read(SettingsKey.EditorCustomMadeSearchUrlStr) is string customMadeSearchUrl)\r\n            {\r\n                _editorCustomMadeSearchUrl = customMadeSearchUrl;\r\n            }\r\n            else\r\n            {\r\n                _editorCustomMadeSearchUrl = string.Empty;\r\n            }\r\n        }\r\n\r\n        private static void InitializeFontSettings()\r\n        {\r\n            if (ApplicationSettingsStore.Read(SettingsKey.EditorFontFamilyStr) is string fontFamily)\r\n            {\r\n                _editorFontFamily = fontFamily;\r\n            }\r\n            else\r\n            {\r\n                _editorFontFamily = \"Consolas\";\r\n            }\r\n\r\n            if (ApplicationSettingsStore.Read(SettingsKey.EditorFontSizeInt) is int fontSize)\r\n            {\r\n                _editorFontSize = fontSize;\r\n            }\r\n            else\r\n            {\r\n                _editorFontSize = 14;\r\n            }\r\n\r\n            if (ApplicationSettingsStore.Read(SettingsKey.EditorFontStyleStr) is string fontStyleStr &&\r\n                Enum.TryParse(typeof(FontStyle), fontStyleStr, out var fontStyle))\r\n            {\r\n                _editorFontStyle = (FontStyle)fontStyle;\r\n            }\r\n            else\r\n            {\r\n                _editorFontStyle = FontStyle.Normal;\r\n            }\r\n\r\n            if (ApplicationSettingsStore.Read(SettingsKey.EditorFontWeightUshort) is ushort fontWeight)\r\n            {\r\n                _editorFontWeight = new FontWeight()\r\n                {\r\n                    Weight = fontWeight\r\n                };\r\n            }\r\n            else\r\n            {\r\n                _editorFontWeight = FontWeights.Normal;\r\n            }\r\n        }\r\n\r\n        private static void InitializeAppOpeningPreferencesSettings()\r\n        {\r\n            if (ApplicationSettingsStore.Read(SettingsKey.AlwaysOpenNewWindowBool) is bool alwaysOpenNewWindow)\r\n            {\r\n                _alwaysOpenNewWindow = alwaysOpenNewWindow;\r\n            }\r\n            else\r\n            {\r\n                _alwaysOpenNewWindow = false;\r\n            }\r\n        }\r\n\r\n        private static void InitializeAppClosingPreferencesSettings()\r\n        {\r\n            if (ApplicationSettingsStore.Read(SettingsKey.ExitWhenLastTabClosed) is bool exitWhenLastTabClosed)\r\n            {\r\n                _exitWhenLastTabClosed = exitWhenLastTabClosed;\r\n            }\r\n            else\r\n            {\r\n                _exitWhenLastTabClosed = false;\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Services/FileExtensionProvider.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Services\r\n{\r\n    using Microsoft.Toolkit.Uwp.Helpers;\r\n    using System.Collections.Generic;\r\n\r\n    public static class FileExtensionProvider\r\n    {\r\n        public static ISet<string> TextDocumentFileExtensions { get; } = new HashSet<string>()\r\n        {\r\n            \".txt\", \".md\", \".markdown\"\r\n        };\r\n\r\n        public static ISet<string> AllSupportedFileExtensions { get; } = new HashSet<string>()\r\n        {\r\n            //Aegisub Advanced Subtitle\r\n            \".ass\",\r\n            //Assembly Language\r\n            \".asm\",\r\n            //ASP\r\n            \".asp\", \".aspx\",\r\n            //AutoHotkey Script\r\n            \".ahk\",\r\n            //Bash\r\n            \".bash\", \".bash_aliases\", \".bash_history\", \".bash_login\", \".bash_logout\", \".bash_profile\",\r\n            //BibTeX\r\n            \".bib\",\r\n            //Bond\r\n            \".bond\",\r\n            //Build Path\r\n            \".buildpath\",\r\n            //C\r\n            \".c\", \".m\", \".i\",\r\n            //CGI\r\n            \".cgi\",\r\n            //Cheat\r\n            \".cht\",\r\n            //Clojure\r\n            \".clj\", \".cljs\", \".cljc\", \".cljx\", \".clojure\", \".edn\",\r\n            //Cmake\r\n            \".cmake\",\r\n            //CoffeeScript\r\n            \".coffee\", \".cson\", \".iced\",\r\n            //Comma Separated Values\r\n            \".csv\",\r\n            //Configuration\r\n            \".cfg\", \".config\", \".cnf\", \".conf\", \".properties\", \".directory\",\r\n            //C++\r\n            \".cpp\", \".cc\", \".mm\", \".cxx\", \".ii\", \".ino\",\r\n            //C Sharp Project\r\n            \".csproj\",\r\n            //C#\r\n            \".cs\", \".csx\", \".cake\",\r\n            //CSS\r\n            \".css\", \".scss\",\r\n            //DAT\r\n            \".dat\",\r\n            //Diff\r\n            \".patch\", \".diff\", \".rej\",\r\n            //Docker\r\n            \".dockerfile\",\r\n            //EBuild\r\n            \".ebuild\",\r\n            //ENV\r\n            \".env\",\r\n            //F#\r\n            \".fs\", \".fsi\", \".fsx\", \".fsscript\",\r\n            //Git\r\n            \".gitignore\", \".gitattributes\", \".gitconfig\",\r\n            //GLSLP\r\n            \".glslp\",\r\n            //GLSP\r\n            \".glsp\",\r\n            //Go\r\n            \".go\",\r\n            //Groovy\r\n            \".groovy\", \".gvy\", \".gradle\",\r\n            //Handlebars\r\n            \".handlebars\", \".hbs\", \".hjs\",\r\n            //Header\r\n            \".h\", \".hpp\", \".hh\", \".hxx\",\r\n            //HLSL\r\n            \".hlsl\", \".hlsli\", \".fx\", \".fxh\", \".vsh\", \".psh\", \".cginc\", \".compute\",\r\n            //HTML\r\n            \".html\", \".htm\", \".shtml\", \".xhtml\", \".mdoc\", \".jshtm\", \".volt\",\r\n            //Hypertext Access\r\n            \".htaccess\",\r\n            //Initialization\r\n            \".ini\",\r\n            //Install\r\n            \".install\",\r\n            //Java\r\n            \".java\", \".jav\",\r\n            //Javascript\r\n            \".js\", \".jsx\", \".es6\", \".mjs\", \".cjs\", \".pac\",\r\n            //JSON\r\n            \".json\", \".hintrc\", \".jsonc\", \".jsonld\", \".babelrc\", \".eslintrc\", \".jslintrc\", \".bowerrc\", \".jscsrc\", \".webmanifest\", \".har\",\r\n            //JSP\r\n            \".jsp\", \".jspx\",\r\n            //Less\r\n            \".less\",\r\n            //License\r\n            \".lic\",\r\n            //Log\r\n            \".log\",\r\n            //Lyrics\r\n            \".lrc\",\r\n            //LUA\r\n            \".lua\",\r\n            //M3U\r\n            \".m3u\", \".m3u8\",\r\n            //Map\r\n            \".map\",\r\n            //Markdown\r\n            \".md\", \".markdown\", \".mkd\", \".mdwn\", \".mdown\", \".markn\", \".mdtxt\",\r\n            //NFO\r\n            \".nfo\",\r\n            //NPM Config\r\n            \".npmrc\",\r\n            //OPT\r\n            \".opt\",\r\n            //Perl 6\r\n            \".p6\", \".pl6\", \".pm6\", \".nqp\",\r\n            //Perl\r\n            \".pl\", \".pm\", \".psgi\",\r\n            //PHP\r\n            \".php\", \".php4\", \".php5\", \".phtml\", \".ctp\",\r\n            //Pod\r\n            \".pod\", \".podspec\",\r\n            //PowerShell\r\n            \".ps1\", \".psm1\", \".psd1\", \".pssc\", \".psrc\",\r\n            //Profile\r\n            \".profile\",\r\n            //Project\r\n            \".project\", \".prj\",\r\n            //Property List\r\n            \".plist\",\r\n            //Pug\r\n            \".jade\", \".pug\",\r\n            //PVD\r\n            \".pvd\",\r\n            //Python\r\n            \".py\",\r\n            //Razor\r\n            \".cshtml\",\r\n            //Resource\r\n            \".resx\",\r\n            //R\r\n            \".r\", \".rhistory\", \".rprofile\", \".rt\",\r\n            //Ruby\r\n            \".rb\", \".rbx\", \".rjs\", \".gemspec\", \".rake\", \".ru\", \".erb\", \".rbi\", \".arb\",\r\n            //Run Commands\r\n            \".bashrc\", \".vimrc\", \".rc\",\r\n            //Rust\r\n            \".rs\",\r\n            //Shader\r\n            \".shader\",\r\n            //Shell Script\r\n            \".sh\",\r\n            //SQL\r\n            \".sql\", \".dsql\",\r\n            //Sub Station Alpha Subtitle\r\n            \".ssa\",\r\n            //Subtitle\r\n            \".srt\",\r\n            //Swift\r\n            \".swift\",\r\n            //Text Document\r\n            \".txt\",\r\n            //T\r\n            \".t\",\r\n            //TOML\r\n            \".toml\",\r\n            //TypeScript\r\n            \".ts\", \".tsx\",\r\n            //User\r\n            \".user\",\r\n            //Verilog\r\n            \".v\",\r\n            //Visual Basic\r\n            \".vb\", \".vbs\", \".brs\", \".bas\",\r\n            //Vue Config\r\n            \".vuerc\",\r\n            //Vue\r\n            \".vue\",\r\n            //XAML\r\n            \".xaml\",\r\n            //XML\r\n            \".xml\", \".xsd\", \".ascx\", \".atom\", \".axml\", \".bpmn\", \".cpt\", \".csl\",\r\n            //XSL\r\n            \".xsl\",\r\n            //YAML\r\n            \".yml\", \".yaml\",\r\n            //Z shell Config\r\n            \".zshrc\",\r\n            //Z shell History\r\n            \".zsh_history\",\r\n        };\r\n\r\n        public static bool IsFileExtensionSupported(string fileExtension)\r\n        {\r\n            // Windows 10 2004 (build 19041) enables support for handling any kind of file\r\n            // https://github.com/microsoft/ProjectReunion/issues/27\r\n            if (SystemInformation.Instance.OperatingSystemVersion.Build >= 19041)\r\n            {\r\n                return true;\r\n            }\r\n\r\n            if (string.IsNullOrEmpty(fileExtension))\r\n            {\r\n                return false;\r\n            }\r\n\r\n            if (!fileExtension.StartsWith(\".\"))\r\n            {\r\n                fileExtension = \".\" + fileExtension;\r\n            }\r\n\r\n            return AllSupportedFileExtensions.Contains(fileExtension.ToLower());\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Services/JumpListService.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Services\r\n{\r\n    using System;\r\n    using System.Threading.Tasks;\r\n    using Notepads.Settings;\r\n    using Windows.ApplicationModel;\r\n    using Windows.UI.StartScreen;\r\n\r\n    public static class JumpListService\r\n    {\r\n        public static bool IsJumpListOutOfDate\r\n        {\r\n            get\r\n            {\r\n                if (ApplicationSettingsStore.Read(SettingsKey.IsJumpListOutOfDateBool) is bool isJumpListOutOfDate)\r\n                {\r\n                    return isJumpListOutOfDate;\r\n                }\r\n\r\n                return true;\r\n            }\r\n            set => ApplicationSettingsStore.Write(SettingsKey.IsJumpListOutOfDateBool, value);\r\n        }\r\n\r\n        public static async Task<bool> UpdateJumpListAsync()\r\n        {\r\n            if (!JumpList.IsSupported()) return false;\r\n\r\n            try\r\n            {\r\n                JumpList jumpList = await JumpList.LoadCurrentAsync();\r\n                jumpList.Items.Clear();\r\n                jumpList.SystemGroupKind = JumpListSystemGroupKind.None;\r\n\r\n                jumpList.Items.Add(GetNewWindowItem());\r\n\r\n                await jumpList.SaveAsync();\r\n\r\n                return true;\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(JumpListService)}] FailedToSetupJumpList: {ex.Message}\");\r\n            }\r\n\r\n            return false;\r\n        }\r\n\r\n        public static async Task<bool> ClearJumpListAsync()\r\n        {\r\n            if (!JumpList.IsSupported()) return false;\r\n\r\n            try\r\n            {\r\n                JumpList jumpList = await JumpList.LoadCurrentAsync();\r\n                jumpList.Items.Clear();\r\n                return true;\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(JumpListService)}] FailedToClearJumpList: {ex.Message}\");\r\n            }\r\n\r\n            return false;\r\n        }\r\n\r\n        private static JumpListItem GetNewWindowItem()\r\n        {\r\n            string packageId = Package.Current.Id.Name;\r\n            var item = JumpListItem.CreateWithArguments(\"notepads://newinstance\", $\"ms-resource://{packageId}/Resources/JumpList_Tasks_NewWindow_Title\");\r\n            item.Description = $\"ms-resource://{packageId}/Resources/JumpList_Tasks_NewWindow_Description\";\r\n            item.Logo = new Uri($\"ms-appx:///Assets/Square44x44Logo.png\");\r\n            return item;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Services/LoggingService.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Services\r\n{\r\n    using System;\r\n    using System.Collections.Concurrent;\r\n    using System.Collections.Generic;\r\n    using System.Diagnostics;\r\n    using System.Globalization;\r\n    using System.Threading;\r\n    using System.Threading.Tasks;\r\n    using Notepads.Utilities;\r\n    using Windows.ApplicationModel.Core;\r\n    using Windows.Storage;\r\n\r\n    public static class LoggingService\r\n    {\r\n        private const string MessageFormatString = \"{0} [{1}] {2}\"; // {timestamp} [{level}] {message}\r\n\r\n        private static readonly ConcurrentQueue<string> MessageQueue = new ConcurrentQueue<string>();\r\n        private static readonly SemaphoreSlim SemaphoreSlim = new SemaphoreSlim(1, 1);\r\n        private static readonly TimeSpan LoggingInterval = TimeSpan.FromSeconds(10);\r\n        private static readonly List<string> Messages = new List<string>();\r\n\r\n        private static StorageFile _logFile;\r\n        private static Task _backgroundTask;\r\n        private static bool _initialized;\r\n\r\n        public static async Task InitializeFileSystemLoggingAsync()\r\n        {\r\n            if (_initialized)\r\n            {\r\n                return;\r\n            }\r\n\r\n            CoreApplication.Suspending += async (sender, args) => { await TryFlushMessageQueueAsync(); };\r\n            CoreApplication.Resuming += async (sender, args) => { await InitializeLogFileWriterBackgroundTaskAsync(); };\r\n\r\n            await InitializeLogFileWriterBackgroundTaskAsync();\r\n        }\r\n\r\n        public static StorageFile GetLogFile()\r\n        {\r\n            return _logFile;\r\n        }\r\n\r\n        public static void LogInfo(string message, bool consoleOnly = false)\r\n        {\r\n            LogMessage(\"Info\", message, consoleOnly);\r\n        }\r\n\r\n        public static void LogWarning(string message, bool consoleOnly = false)\r\n        {\r\n            LogMessage(\"Warning\", message, consoleOnly);\r\n        }\r\n\r\n        public static void LogError(string message, bool consoleOnly = false)\r\n        {\r\n            LogMessage(\"Error\", message, consoleOnly);\r\n        }\r\n\r\n        public static void LogException(Exception ex, bool consoleOnly = false)\r\n        {\r\n            if (ex == null)\r\n            {\r\n                return;\r\n            }\r\n\r\n            LogError(ex.ToString(), consoleOnly);\r\n        }\r\n\r\n        private static void LogMessage(string level, string message, bool consoleOnly)\r\n        {\r\n            string timeStamp = DateTime.UtcNow.ToString(CultureInfo.InvariantCulture);\r\n            string formattedMessage = string.Format(MessageFormatString, timeStamp, level, message);\r\n\r\n            // Print to console\r\n            Debug.WriteLine(formattedMessage);\r\n\r\n            if (!_initialized)\r\n            {\r\n                return;\r\n            }\r\n\r\n            if (!consoleOnly)\r\n            {\r\n                // Add to message queue\r\n                MessageQueue.Enqueue(formattedMessage);\r\n            }\r\n        }\r\n\r\n        private static async Task<bool> InitializeLogFileWriterBackgroundTaskAsync()\r\n        {\r\n            await SemaphoreSlim.WaitAsync();\r\n\r\n            if (_backgroundTask != null && !_backgroundTask.IsCompleted)\r\n            {\r\n                SemaphoreSlim.Release();\r\n                return false;\r\n            }\r\n\r\n            try\r\n            {\r\n                if (_logFile == null)\r\n                {\r\n                    StorageFolder logsFolder = await FileSystemUtility.GetOrCreateAppFolderAsync(\"Logs\");\r\n                    _logFile = await FileSystemUtility.CreateFileAsync(logsFolder,\r\n                        DateTime.UtcNow.ToString(\"yyyyMMddTHHmmss\", CultureInfo.InvariantCulture) + \".log\");\r\n                }\r\n\r\n                _backgroundTask = Task.Run(WriteLogMessagesAsync);\r\n\r\n                _initialized = true;\r\n                LogInfo($\"Log file location: {_logFile.Path}\", true);\r\n                return true;\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                Debug.WriteLine(ex);\r\n            }\r\n            finally\r\n            {\r\n                SemaphoreSlim.Release();\r\n            }\r\n\r\n            return false;\r\n        }\r\n\r\n        private static async Task WriteLogMessagesAsync()\r\n        {\r\n            while (true)\r\n            {\r\n                Thread.Sleep(LoggingInterval);\r\n\r\n                // We will try to write all pending messages in our next attempt, if the current attempt failed\r\n                // However, if the size of messages has become abnormally big, we know something is wrong and should abort at this point\r\n                if (!await TryFlushMessageQueueAsync() && Messages.Count > 1000)\r\n                {\r\n                    break;\r\n                }\r\n            }\r\n        }\r\n\r\n        private static async Task<bool> TryFlushMessageQueueAsync()\r\n        {\r\n            if (!_initialized)\r\n            {\r\n                return false;\r\n            }\r\n\r\n            await SemaphoreSlim.WaitAsync();\r\n\r\n            try\r\n            {\r\n                if (MessageQueue.Count == 0)\r\n                {\r\n                    return true;\r\n                }\r\n\r\n                while (MessageQueue.TryDequeue(out string message))\r\n                {\r\n                    Messages.Add(message);\r\n                }\r\n\r\n                await FileIO.AppendLinesAsync(_logFile, Messages);\r\n                Messages.Clear();\r\n                return true;\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                Debug.WriteLine(ex);\r\n            }\r\n            finally\r\n            {\r\n                SemaphoreSlim.Release();\r\n            }\r\n\r\n            return false;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Services/MRUService.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Services\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Threading.Tasks;\r\n    using Windows.Storage;\r\n    using Windows.Storage.AccessCache;\r\n\r\n    public static class MRUService\r\n    {\r\n        public static bool TryAdd(IStorageItem item)\r\n        {\r\n            try\r\n            {\r\n                Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList\r\n                    .Add(item, string.Empty, RecentStorageItemVisibility.AppAndSystem);\r\n                return true;\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                AnalyticsService.TrackEvent(\"MRUService_FailedToAddStorageItemToMRU\", new Dictionary<string, string>()\r\n                {\r\n                    { \"Exception\", ex.ToString() }\r\n                });\r\n                return false;\r\n            }\r\n        }\r\n\r\n        public static async Task<IList<IStorageItem>> GetMostRecentlyUsedListAsync(int top = 10)\r\n        {\r\n            IList<IStorageItem> items = new List<IStorageItem>();\r\n\r\n            try\r\n            {\r\n                var mru = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList;\r\n\r\n                for (int i = 0; i < mru.Entries.Count; i++)\r\n                {\r\n                    if (i >= top) break;\r\n\r\n                    try\r\n                    {\r\n                        items.Add(await mru.GetItemAsync(mru.Entries[i].Token, AccessCacheOptions.SuppressAccessTimeUpdate));\r\n                    }\r\n                    catch (Exception)\r\n                    {\r\n                        // File might be renamed or deleted\r\n                        // We should continue in case of GetItemAsync() failure\r\n                        continue;\r\n                    }\r\n                }\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                AnalyticsService.TrackEvent(\"MRUService_FailedToGetMRU\", new Dictionary<string, string>()\r\n                {\r\n                    { \"Exception\", ex.ToString() }\r\n                });\r\n            }\r\n\r\n            return items;\r\n        }\r\n\r\n        public static void ClearAll()\r\n        {\r\n            try\r\n            {\r\n                Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList.Clear();\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                AnalyticsService.TrackEvent(\"MRUService_FailedToClearMRU\", new Dictionary<string, string>()\r\n                {\r\n                    { \"Exception\", ex.ToString() }\r\n                });\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Services/NotepadsProtocolService.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Services\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Threading.Tasks;\r\n    using Windows.ApplicationModel;\r\n    using Windows.System;\r\n\r\n    public enum NotepadsOperationProtocol\r\n    {\r\n        Unrecognized,\r\n        OpenNewInstance\r\n    }\r\n\r\n    public static class NotepadsProtocolService\r\n    {\r\n        private const string NewInstanceProtocolStr = \"newinstance\";\r\n\r\n        public static NotepadsOperationProtocol GetOperationProtocol(Uri uri, out string context)\r\n        {\r\n            context = null;\r\n\r\n            try\r\n            {\r\n                var uriStr = uri.ToString().Trim();\r\n\r\n                if (string.IsNullOrEmpty(uriStr) || !uriStr.StartsWith(\"notepads://\", StringComparison.OrdinalIgnoreCase))\r\n                {\r\n                    return NotepadsOperationProtocol.Unrecognized;\r\n                }\r\n\r\n                var operation = uriStr.Substring(\"notepads://\".Length);\r\n\r\n                if (operation.EndsWith(\"/\"))\r\n                {\r\n                    operation = operation.Remove(operation.Length - 1);\r\n                }\r\n\r\n                if (!string.IsNullOrEmpty(operation) && string.Equals(NewInstanceProtocolStr, operation, StringComparison.OrdinalIgnoreCase))\r\n                {\r\n                    return NotepadsOperationProtocol.OpenNewInstance;\r\n                }\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(NotepadsProtocolService)}] Failed to parse protocol: {uri}, exception: {ex}\");\r\n                AnalyticsService.TrackEvent(\"NotepadsProtocolService_FailedToParseProtocol\", new Dictionary<string, string>()\r\n                {\r\n                    { \"Protocol\", uri.ToString() },\r\n                    { \"Exception\", ex.ToString() }\r\n                });\r\n            }\r\n\r\n            return NotepadsOperationProtocol.Unrecognized;\r\n        }\r\n\r\n        public static async Task<bool> LaunchProtocolAsync(NotepadsOperationProtocol operation)\r\n        {\r\n            try\r\n            {\r\n                if (operation == NotepadsOperationProtocol.Unrecognized)\r\n                {\r\n                    return false;\r\n                }\r\n                else if (operation == NotepadsOperationProtocol.OpenNewInstance)\r\n                {\r\n                    var uriToLaunch = $\"notepads://{NewInstanceProtocolStr}\";\r\n                    var launchOptions = new LauncherOptions { TargetApplicationPackageFamilyName = Package.Current.Id.FamilyName };\r\n                    return await Launcher.LaunchUriAsync(new Uri(uriToLaunch.ToLower()), launchOptions);\r\n                }\r\n                else\r\n                {\r\n                    return false;\r\n                }\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(NotepadsProtocolService)}] Failed to execute protocol: {operation}, Exception: {ex}\");\r\n                AnalyticsService.TrackEvent(\"NotepadsProtocolService_FailedToExecuteProtocol\", new Dictionary<string, string>()\r\n                {\r\n                    { \"Protocol\", operation.ToString() },\r\n                    { \"Exception\", ex.Message }\r\n                });\r\n                return false;\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Services/NotificationCenter.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Services\r\n{\r\n    public class NotificationCenter\r\n    {\r\n        private static NotificationCenter _instance;\r\n\r\n        private INotificationDelegate _notificationDelegate;\r\n\r\n        private NotificationCenter()\r\n        {\r\n        }\r\n\r\n        public static NotificationCenter Instance => _instance ?? (_instance = new NotificationCenter());\r\n\r\n        public void SetNotificationDelegate(INotificationDelegate notificationDelegate)\r\n        {\r\n            _notificationDelegate = notificationDelegate;\r\n        }\r\n\r\n        public void PostNotification(string notification, int duration)\r\n        {\r\n            _notificationDelegate?.PostNotification(notification, duration);\r\n        }\r\n    }\r\n\r\n    public interface INotificationDelegate\r\n    {\r\n        void PostNotification(string notification, int duration);\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Services/ThemeSettingsService.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Services\r\n{\r\n    using System;\r\n    using Microsoft.Toolkit.Uwp.Helpers;\r\n    using Notepads.Brushes;\r\n    using Notepads.Controls.Helpers;\r\n    using Notepads.Settings;\r\n    using Notepads.Utilities;\r\n    using Windows.UI;\r\n    using Windows.UI.ViewManagement;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    public static class ThemeSettingsService\r\n    {\r\n        public static event EventHandler<ElementTheme> OnThemeChanged;\r\n        public static event EventHandler<Brush> OnBackgroundChanged;\r\n        public static event EventHandler<Color> OnAccentColorChanged;\r\n\r\n        public static ElementTheme ThemeMode { get; set; }\r\n\r\n        private static readonly UISettings UISettings = new UISettings();\r\n        private static readonly ThemeListener ThemeListener = new ThemeListener();\r\n        private static Brush _currentAppBackgroundBrush;\r\n\r\n        private static bool _useWindowsTheme;\r\n\r\n        public static bool UseWindowsTheme\r\n        {\r\n            get => _useWindowsTheme;\r\n            set\r\n            {\r\n                if (value != _useWindowsTheme)\r\n                {\r\n                    _useWindowsTheme = value;\r\n                    if (value)\r\n                    {\r\n                        var currentWindowsTheme = Application.Current.RequestedTheme.ToElementTheme();\r\n                        if (ThemeMode != currentWindowsTheme)\r\n                        {\r\n                            ThemeMode = currentWindowsTheme;\r\n                            OnThemeChanged?.Invoke(null, ThemeMode);\r\n                        }\r\n                    }\r\n                    ApplicationSettingsStore.Write(SettingsKey.UseWindowsThemeBool, _useWindowsTheme);\r\n                }\r\n            }\r\n        }\r\n\r\n        private static bool _useWindowsAccentColor;\r\n\r\n        public static bool UseWindowsAccentColor\r\n        {\r\n            get => _useWindowsAccentColor;\r\n            set\r\n            {\r\n                _useWindowsAccentColor = value;\r\n                if (value)\r\n                {\r\n                    AppAccentColor = UISettings.GetColorValue(UIColorType.Accent);\r\n                }\r\n                ApplicationSettingsStore.Write(SettingsKey.UseWindowsAccentColorBool, _useWindowsAccentColor);\r\n            }\r\n        }\r\n\r\n        private static double _appBackgroundPanelTintOpacity;\r\n\r\n        public static double AppBackgroundPanelTintOpacity\r\n        {\r\n            get => _appBackgroundPanelTintOpacity;\r\n            set\r\n            {\r\n                _appBackgroundPanelTintOpacity = value;\r\n                OnBackgroundChanged?.Invoke(null, GetAppBackgroundBrush(ThemeMode));\r\n                ApplicationSettingsStore.Write(SettingsKey.AppBackgroundTintOpacityDouble, value);\r\n            }\r\n        }\r\n\r\n        private static Color _appAccentColor;\r\n\r\n        public static Color AppAccentColor\r\n        {\r\n            get => _appAccentColor;\r\n            set\r\n            {\r\n                _appAccentColor = value;\r\n                OnAccentColorChanged?.Invoke(null, _appAccentColor);\r\n                ApplicationSettingsStore.Write(SettingsKey.AppAccentColorHexStr, value.ToHex());\r\n            }\r\n        }\r\n\r\n        private static Color _customAccentColor;\r\n\r\n        public static Color CustomAccentColor\r\n        {\r\n            get => _customAccentColor;\r\n            set\r\n            {\r\n                _customAccentColor = value;\r\n                ApplicationSettingsStore.Write(SettingsKey.CustomAccentColorHexStr, value.ToHex());\r\n            }\r\n        }\r\n\r\n        public static void Initialize()\r\n        {\r\n            InitializeThemeMode();\r\n\r\n            InitializeAppAccentColor();\r\n\r\n            InitializeCustomAccentColor();\r\n\r\n            InitializeAppBackgroundPanelTintOpacity();\r\n        }\r\n\r\n        private static void InitializeAppAccentColor()\r\n        {\r\n            if (ApplicationSettingsStore.Read(SettingsKey.UseWindowsAccentColorBool) is bool useWindowsAccentColor)\r\n            {\r\n                _useWindowsAccentColor = useWindowsAccentColor;\r\n            }\r\n            else\r\n            {\r\n                _useWindowsAccentColor = true;\r\n            }\r\n\r\n            UISettings.ColorValuesChanged += UiSettings_ColorValuesChanged;\r\n\r\n            _appAccentColor = UISettings.GetColorValue(Windows.UI.ViewManagement.UIColorType.Accent);\r\n\r\n            if (!UseWindowsAccentColor)\r\n            {\r\n                if (ApplicationSettingsStore.Read(SettingsKey.AppAccentColorHexStr) is string accentColorHexStr)\r\n                {\r\n                    _appAccentColor = accentColorHexStr.ToColor();\r\n                }\r\n            }\r\n        }\r\n\r\n        private static void InitializeCustomAccentColor()\r\n        {\r\n            if (ApplicationSettingsStore.Read(SettingsKey.CustomAccentColorHexStr) is string customAccentColorHexStr)\r\n            {\r\n                _customAccentColor = customAccentColorHexStr.ToColor();\r\n            }\r\n            else\r\n            {\r\n                _customAccentColor = _appAccentColor;\r\n            }\r\n        }\r\n\r\n        private static void UiSettings_ColorValuesChanged(UISettings sender, object args)\r\n        {\r\n            if (UseWindowsAccentColor)\r\n            {\r\n                AppAccentColor = sender.GetColorValue(UIColorType.Accent);\r\n            }\r\n        }\r\n\r\n        private static void InitializeAppBackgroundPanelTintOpacity()\r\n        {\r\n            if (ApplicationSettingsStore.Read(SettingsKey.AppBackgroundTintOpacityDouble) is double tintOpacity)\r\n            {\r\n                _appBackgroundPanelTintOpacity = tintOpacity;\r\n            }\r\n            else\r\n            {\r\n                _appBackgroundPanelTintOpacity = 0.75;\r\n            }\r\n        }\r\n\r\n        private static void InitializeThemeMode()\r\n        {\r\n            if (ApplicationSettingsStore.Read(SettingsKey.UseWindowsThemeBool) is bool useWindowsTheme)\r\n            {\r\n                _useWindowsTheme = useWindowsTheme;\r\n            }\r\n            else\r\n            {\r\n                _useWindowsTheme = true;\r\n            }\r\n\r\n            ThemeListener.ThemeChanged += ThemeListener_ThemeChanged;\r\n\r\n            ThemeMode = Application.Current.RequestedTheme.ToElementTheme();\r\n\r\n            if (!UseWindowsTheme)\r\n            {\r\n                if (ApplicationSettingsStore.Read(SettingsKey.RequestedThemeStr) is string themeModeStr)\r\n                {\r\n                    if (Enum.TryParse(typeof(ElementTheme), themeModeStr, out var theme))\r\n                    {\r\n                        ThemeMode = (ElementTheme)theme;\r\n                    }\r\n                }\r\n            }\r\n        }\r\n\r\n        private static void ThemeListener_ThemeChanged(ThemeListener sender)\r\n        {\r\n            if (UseWindowsTheme)\r\n            {\r\n                SetTheme(sender.CurrentTheme.ToElementTheme());\r\n            }\r\n        }\r\n\r\n        public static void SetTheme(ElementTheme theme)\r\n        {\r\n            if (ThemeMode != theme)\r\n            {\r\n                ThemeMode = theme;\r\n                ApplicationSettingsStore.Write(SettingsKey.RequestedThemeStr, ThemeMode.ToString());\r\n                OnThemeChanged?.Invoke(null, theme);\r\n            }\r\n        }\r\n\r\n        public static void SetRequestedTheme(Panel backgroundPanel, UIElement currentContent, ApplicationViewTitleBar titleBar)\r\n        {\r\n            // Set requested theme for app background\r\n            if (backgroundPanel != null)\r\n            {\r\n                backgroundPanel.Background = GetAppBackgroundBrush(ThemeMode);\r\n            }\r\n\r\n            if (currentContent is FrameworkElement frameworkElement)\r\n            {\r\n                frameworkElement.RequestedTheme = ThemeMode;\r\n            }\r\n\r\n            // Set requested theme for app title bar\r\n            if (titleBar != null)\r\n            {\r\n                ApplyThemeForTitleBarButtons(titleBar, ThemeMode);\r\n            }\r\n\r\n            // Set ContentDialog background dimming color\r\n            ((SolidColorBrush)Application.Current.Resources[\"SystemControlPageBackgroundMediumAltMediumBrush\"]).Color =\r\n                ThemeMode == ElementTheme.Dark ? Color.FromArgb(153, 0, 0, 0) : Color.FromArgb(153, 255, 255, 255);\r\n\r\n            if (DialogManager.ActiveDialog != null)\r\n            {\r\n                DialogManager.ActiveDialog.RequestedTheme = ThemeMode;\r\n            }\r\n\r\n            // Set accent color\r\n            UpdateSystemAccentColorAndBrushes(AppAccentColor);\r\n        }\r\n\r\n        public static void SetRequestedAccentColor()\r\n        {\r\n            UpdateSystemAccentColorAndBrushes(AppAccentColor);\r\n        }\r\n\r\n        public static ElementTheme ToElementTheme(this ApplicationTheme theme)\r\n        {\r\n            switch (theme)\r\n            {\r\n                case ApplicationTheme.Light:\r\n                    return ElementTheme.Light;\r\n                case ApplicationTheme.Dark:\r\n                    return ElementTheme.Dark;\r\n                default:\r\n                    return ElementTheme.Default;\r\n            }\r\n        }\r\n\r\n        private static Brush GetAppBackgroundBrush(ElementTheme theme)\r\n        {\r\n            var darkModeBaseColor = Color.FromArgb(255, 46, 46, 46);\r\n            var lightModeBaseColor = Color.FromArgb(255, 240, 240, 240);\r\n\r\n            var baseColor = theme == ElementTheme.Light ? lightModeBaseColor : darkModeBaseColor;\r\n\r\n            if (AppBackgroundPanelTintOpacity > 0.99f ||\r\n                !Windows.Foundation.Metadata.ApiInformation.IsTypePresent(\"Windows.UI.Xaml.Media.AcrylicBrush\") ||\r\n                App.IsGameBarWidget)\r\n            {\r\n                return new SolidColorBrush(baseColor);\r\n            }\r\n            else\r\n            {\r\n                if (_currentAppBackgroundBrush is HostBackdropAcrylicBrush hostBackdropAcrylicBrush)\r\n                {\r\n                    hostBackdropAcrylicBrush.LuminosityColor = baseColor;\r\n                    hostBackdropAcrylicBrush.TintOpacity = (float)AppBackgroundPanelTintOpacity;\r\n                    return _currentAppBackgroundBrush;\r\n                }\r\n                return _currentAppBackgroundBrush = BrushUtility.GetHostBackdropAcrylicBrushAsync(baseColor, (float)AppBackgroundPanelTintOpacity).Result;\r\n            }\r\n        }\r\n\r\n        public static void ApplyThemeForTitleBarButtons(ApplicationViewTitleBar titleBar, ElementTheme theme)\r\n        {\r\n            if (theme == ElementTheme.Dark)\r\n            {\r\n                // Set active window colors\r\n                titleBar.ButtonForegroundColor = Windows.UI.Colors.White;\r\n                titleBar.ButtonBackgroundColor = Windows.UI.Colors.Transparent;\r\n                titleBar.ButtonHoverForegroundColor = Windows.UI.Colors.White;\r\n                titleBar.ButtonHoverBackgroundColor = Color.FromArgb(255, 90, 90, 90);\r\n                titleBar.ButtonPressedForegroundColor = Windows.UI.Colors.White;\r\n                titleBar.ButtonPressedBackgroundColor = Color.FromArgb(255, 120, 120, 120);\r\n\r\n                // Set inactive window colors\r\n                titleBar.InactiveForegroundColor = Windows.UI.Colors.Gray;\r\n                titleBar.InactiveBackgroundColor = Windows.UI.Colors.Transparent;\r\n                titleBar.ButtonInactiveForegroundColor = Windows.UI.Colors.Gray;\r\n                titleBar.ButtonInactiveBackgroundColor = Windows.UI.Colors.Transparent;\r\n\r\n                titleBar.BackgroundColor = Color.FromArgb(255, 45, 45, 45);\r\n            }\r\n            else if (theme == ElementTheme.Light)\r\n            {\r\n                // Set active window colors\r\n                titleBar.ButtonForegroundColor = Windows.UI.Colors.Black;\r\n                titleBar.ButtonBackgroundColor = Windows.UI.Colors.Transparent;\r\n                titleBar.ButtonHoverForegroundColor = Windows.UI.Colors.Black;\r\n                titleBar.ButtonHoverBackgroundColor = Color.FromArgb(255, 180, 180, 180);\r\n                titleBar.ButtonPressedForegroundColor = Windows.UI.Colors.Black;\r\n                titleBar.ButtonPressedBackgroundColor = Color.FromArgb(255, 150, 150, 150);\r\n\r\n                // Set inactive window colors\r\n                titleBar.InactiveForegroundColor = Windows.UI.Colors.DimGray;\r\n                titleBar.InactiveBackgroundColor = Windows.UI.Colors.Transparent;\r\n                titleBar.ButtonInactiveForegroundColor = Windows.UI.Colors.DimGray;\r\n                titleBar.ButtonInactiveBackgroundColor = Windows.UI.Colors.Transparent;\r\n\r\n                titleBar.BackgroundColor = Color.FromArgb(255, 210, 210, 210);\r\n            }\r\n        }\r\n\r\n        private static void UpdateSystemAccentColorAndBrushes(Color color)\r\n        {\r\n            if ((Color)Application.Current.Resources[\"SystemAccentColor\"] == color)\r\n            {\r\n                return;\r\n            }\r\n\r\n            Application.Current.Resources[\"SystemAccentColor\"] = color;\r\n\r\n            // Took from: https://stackoverflow.com/questions/31831917/change-accent-color-in-windows-10-uwp/31844773\r\n            var brushes = new string[]\r\n            {\r\n                \"SystemControlBackgroundAccentBrush\",\r\n                \"SystemControlDisabledAccentBrush\",\r\n                \"SystemControlForegroundAccentBrush\",\r\n                \"SystemControlHighlightAccentBrush\",\r\n                \"SystemControlHighlightAltAccentBrush\",\r\n                \"SystemControlHighlightAltListAccentHighBrush\",\r\n                \"SystemControlHighlightAltListAccentLowBrush\",\r\n                \"SystemControlHighlightAltListAccentMediumBrush\",\r\n                \"SystemControlHighlightListAccentHighBrush\",\r\n                \"SystemControlHighlightListAccentLowBrush\",\r\n                \"SystemControlHighlightListAccentMediumBrush\",\r\n                \"SystemControlHyperlinkTextBrush\",\r\n                \"ContentDialogBorderThemeBrush\",\r\n                \"JumpListDefaultEnabledBackground\"\r\n            };\r\n\r\n            foreach (var brush in brushes)\r\n            {\r\n                try\r\n                {\r\n                    ((SolidColorBrush)Application.Current.Resources[brush]).Color = color;\r\n                }\r\n                catch (Exception ex)\r\n                {\r\n                    LoggingService.LogError($\"[{nameof(ThemeSettingsService)}] Failed to apply color change for Brush: [{brush}]: {ex.Message}\");\r\n                }\r\n            }\r\n\r\n            try\r\n            {\r\n                // Overwrite MenuFlyoutSubItemRevealBackgroundSubMenuOpened resource color\r\n                ((RevealBackgroundBrush)Application.Current.Resources[\"SystemControlHighlightAccent3RevealBackgroundBrush\"]).Color = color;\r\n            }\r\n            catch (Exception)\r\n            {\r\n                // ignore\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Settings/ApplicationSettings.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Settings\r\n{\r\n    using System;\r\n    using Notepads.Services;\r\n    using Windows.Storage;\r\n\r\n    public static class ApplicationSettingsStore\r\n    {\r\n        public static object Read(string key)\r\n        {\r\n            object obj = null;\r\n\r\n            ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;\r\n\r\n            if (localSettings.Values.TryGetValue(key, out var value))\r\n            {\r\n                obj = value;\r\n            }\r\n\r\n            return obj;\r\n        }\r\n\r\n        public static void Write(string key, object obj)\r\n        {\r\n            ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;\r\n            localSettings.Values[key] = obj;\r\n        }\r\n\r\n        public static bool Remove(string key)\r\n        {\r\n            try\r\n            {\r\n                ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;\r\n                return localSettings.Values.Remove(key);\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(ApplicationSettingsStore)}] Failed to remove key [{key}] from application settings: {ex.Message}\");\r\n            }\r\n\r\n            return false;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Settings/SettingsKey.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Settings\r\n{\r\n    internal static class SettingsKey\r\n    {\r\n        // App related\r\n        internal static string AppVersionStr = \"AppVersionStr\";\r\n        internal static string IsJumpListOutOfDateBool = \"IsJumpListOutOfDateBool\";\r\n        internal static string ActiveInstanceIdStr = \"ActiveInstanceIdStr\";\r\n        internal static string ExitWhenLastTabClosed = \"ExitWhenLastTabClosed\";\r\n        internal static string AlwaysOpenNewWindowBool = \"AlwaysOpenNewWindowBool\";\r\n\r\n        // Theme related\r\n        internal static string RequestedThemeStr = \"RequestedThemeStr\";\r\n        internal static string UseWindowsThemeBool = \"UseWindowsThemeBool\";\r\n        internal static string AppBackgroundTintOpacityDouble = \"AppBackgroundTintOpacityDouble\";\r\n        internal static string AppAccentColorHexStr = \"AppAccentColorHexStr\";\r\n        internal static string CustomAccentColorHexStr = \"CustomAccentColorHexStr\";\r\n        internal static string UseWindowsAccentColorBool = \"UseWindowsAccentColorBool\";\r\n\r\n        // Editor related\r\n        internal static string EditorFontFamilyStr = \"EditorFontFamilyStr\";\r\n        internal static string EditorFontSizeInt = \"EditorFontSizeInt\";\r\n        internal static string EditorFontStyleStr = \"EditorFontStyleStr\";\r\n        internal static string EditorFontWeightUshort = \"EditorFontWeightUshort\";\r\n        internal static string EditorDefaultTextWrappingStr = \"EditorDefaultTextWrappingStr\";\r\n        internal static string EditorDefaultLineHighlighterViewStateBool = \"EditorDefaultLineHighlighterViewStateBool\";\r\n        internal static string EditorDefaultLineEndingStr = \"EditorDefaultLineEndingStr\";\r\n        internal static string EditorDefaultEncodingCodePageInt = \"EditorDefaultEncodingCodePageInt\";\r\n        internal static string EditorDefaultDecodingCodePageInt = \"EditorDefaultDecodingCodePageInt\";\r\n        internal static string EditorDefaultUtf8EncoderShouldEmitByteOrderMarkBool = \"EditorDefaultUtf8EncoderShouldEmitByteOrderMarkBool\";\r\n        internal static string EditorDefaultTabIndentsInt = \"EditorDefaultTabIndentsInt\";\r\n        internal static string EditorDefaultSearchEngineStr = \"EditorDefaultSearchUrlStr\";\r\n        internal static string EditorCustomMadeSearchUrlStr = \"EditorCustomMadeSearchUrlStr\";\r\n        internal static string EditorShowStatusBarBool = \"EditorShowStatusBarBool\";\r\n        internal static string EditorEnableSessionBackupAndRestoreBool = \"EditorEnableSessionBackupAndRestoreBool\";\r\n        internal static string EditorHighlightMisspelledWordsBool = \"EditorHighlightMisspelledWordsBool\";\r\n        internal static string EditorDefaultDisplayLineNumbersBool = \"EditorDefaultDisplayLineNumbersBool\";\r\n        internal static string EditorEnableSmartCopyBool = \"EditorEnableSmartCopyBool\";\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Strings/ar-YE/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Aegisub Advanced Subtitle</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Assembly Language</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف ASP</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف AutoHotkey Script</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Bash Aliases</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Bash History</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Bash Login</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Bash Logout</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Bash Profile</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Bash Script</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف BibTeX</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Bond</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Build Path</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف C</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف CGI</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Clojure</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Cmake</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف CoffeeScript</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Comma Separated Values</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف إعدادات</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف C++</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف C#</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف CSS</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف DAT</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Diff</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Docker</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف EBuild</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف F#</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Git Attributes</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Git Config</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Git Ignore</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف GLSP</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Go</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Groovy</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Handlebars</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Header</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف HLSL</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف HTML</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Hypertext Access</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Initialization</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Install</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Java</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف JavaScript</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف JSON</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف JSP</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Less</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Log</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Lyrics</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف LUA</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Map</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Markdown</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف NFO</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف NPM Config</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Perl 6</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Perl</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف PHP</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Pod</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف PowerShell</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Profile</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Project</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Pug</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Python</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Razor</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف R</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Ruby</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Run Commands</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Rust</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Shader</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Shell Script</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف SQL</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف SubStation Alpha Subtitle</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Subtitle</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Swift</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>مستند نصي</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف T</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف TypeScript</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف User</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Verilog</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Visual Basic</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Vue Config</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Vue</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف XAML</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف XML</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف YAML</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Z shell Config</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Z shell History</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف M3U</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Cheat</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف C# Project</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Environment</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف GLSL</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف License</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف OPT</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Property List</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف PVD</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف Resource</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف TOML</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ملف XSL</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/ar-YE/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>إلغاء</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>توجد تغييرات غير محفوظة.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>حفظ الكل ثم الخروج</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>إلغاء التغييرات ثم الخروج</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>هل تريد حفظ التغييرات؟</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>لا يوجد شيء لمشاركته لأنك لم تحدد نص والمستند الحالي فارغ.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>بعد التغييرات</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>قبل التغييرات</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads لا يدعم الملفات ذات الحجم 1 م.ب أو أكثر.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>عذراً, الملف \"{0}\" تعذّر فتحه: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>موافق</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>خطأ فتح ملف</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>عذراً, الملف \"{0}\" تعذّر حفظه: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>موافق</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>خطأ حفظ ملف</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>إغلاق</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>بحث</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>غير موجود</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>استبدال الكل (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>استبدال</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>استبدال (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>بحث التالي (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>خيارت البحث</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>طابق الحالة</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>طابق الكلمة كاملة</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>بحث...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>جديد</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>فتح...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>طباعة...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>استبدال...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>حفظ</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>حفظ الكل</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>حفظ باسم...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>الإعدادات</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>إلغاء</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>جميع التغييرات مثل النص ونهاية السطر ووضع الترميز التي تمت على \"{0}\" سوف تعاد!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>نعم</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>هل تريد بالفعل إعادة التغييرات؟</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>إلغاء</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>هل تريد حفظ الملف \"{0}\"؟</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>حفظ</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>عدم الحفظ</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>هل تريد حفظ التغييرات؟</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>إغلاق</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>إغلاق التبويبات الأخرى</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>إغلاق التبويبات على اليمين</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>إغلاق التبويبات المحفوظة</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>نسخ المسار كاملاً</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>فتح المجلد المحتوي على المستند</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>نسخ</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>قص</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>لصق</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>تفعيل/تعطيل المعاينة</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>إعادة</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>تحديد الكل</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>مشاركة</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>مشاركة المحدد</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>تراجع</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>التفاف الكلمة</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>بلا عنوان.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>سطر {0}, موضع {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>سطر {0}, موضع {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>معاينة تغييرات النص</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>إلغاء كافة التغييرات</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>معدّل</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>تم النسخ</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>تم الحفظ</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>اضغط F11 للخروج من الشاشة الكاملة</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>إعادة تحميل الملف من القرص</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>تم تعديل محتوى الملف من الخارج!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>تم نقل إعادة تسمية أو حذف الملف!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>تم إعادة تحميل الملف</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>وضع النافذة الصغيرة</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>شاشة كاملة</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>الخروج من وضع النافذة الصغيرة</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>الخروج من الشاشة الكاملة</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>محدد</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>محدد</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>نقل التبويب هنا</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>فتح باستخدام Notepads</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>هذه نافذة ظل لـ Notepads. النسخ الإحتياطية للجلسة والأعدادات معطلين.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>الملف مفتوح مسبقاً</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>نافذة جديدة</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>يقوم بفتح نافذة جديدة.</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>نافذة جديدة</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>ملفات مفتوحة مؤخراً</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>ذهاب إلى سطر</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>رقم السطر تخطى مجموع عدد الأسطر!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>يمكنك كتابة أرقام فقط!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>ذهاب إلى سطر</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>البحث في الانترنت</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>استعادة التكبير الإفتراضي</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>تكبير</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>تصغير</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>ذهاب إلى:</value>\r\n    <comment>GoTo: Go to bar label</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>طباعة الكل...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>يمكن أن يقبل إلى عدد عشري واحد</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>القيمة خارج النطاق</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>التذييل</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>الرأس</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>الهامش الأفقي (نسبة مئوية %)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>بنسبة مئوية % من عرض الصفحة</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>خطأ الطباعة:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>فشلت الطباعة</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>الطباعة غير مدعومة بواسطة هذا الجهاز</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>الهامش العمودي (نسبة مئوية %)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>استخدم Regular Expression</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>حذف قائمة الملفات المفتوحة مؤخراً</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>ترميزات أكثر</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>إعادة فتح بترميز</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>حفظ بترميز</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Regular Expression غير صحيح!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>التخمين التلقائي للترميز</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>لم نتمكن من تحديد الترميز</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>بحث السابق (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>تفعيل/تعطيل وضع الاستبدال</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>قراءة من اليمين إلى اليسار</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>مائل</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>عادي</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>مائل</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>ثقيل</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>عريض</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>ثقيل أكثر</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>عريض أكثر</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>خفيف أكثر</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>خفيف</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>وسط</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>عادي</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>شبه عريض</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>شبه خفيف</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>نحيل</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>إلغاء</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>حفظ</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>إعادة التسمية</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>اسم الملف لا يمكن أن يحتوي على حروف غير مسموح بها</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>اسم الملف لا يمكن أن يحتوي مسافات في بدايته</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>اسم الملف لا يمكن أن يحتوي مسافات في نهايته</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>اسم الملف لا يمكن أن يكون فارغ أو مكون مسافات فقط</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>اسم الملف غير صالح أو غير مسموح به</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>اسم الملف لا يمكن أن يخطى 255 حرف</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>إعادة تسمية</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>تمت إعادة التسمية</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>صيغة الملف الفارغة غير مدعوم في الوقت الحالي</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>صيغة الملف \"{0}\" غير مدعومة في الوقت الحاضر.</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>إغلاق</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>فشل في استعادة البيانات من الجلسة الأخيرة بسبب تلف البيانات. يرجى الاحتفاظ بنسخة احتياطية من جميع الملفات غير المحفوظة (*.txt) في مجلد الجلسة.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>افتح مجلد النسخ الاحتياطية للجلسة</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>تحذير</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/ar-YE/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>التبعيات والمراجع</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>يتم توفير البرنامج \"كما هو\" ، دون أي ضمان من أي نوع ، صريحًا أو ضمنيًا ، بما في ذلك على سبيل المثال لا الحصر ضمانات القابلية للتسويق والملاءمة لغرض معين وعدم الانتهاك. لا يتحمل المؤلفون أو حاملو حقوق الطبع والنشر بأي حال من الأحوال المسؤولية عن أي مطالبة أو أضرار أو مسؤولية أخرى ، سواء كان ذلك في إطار عقد أو ضرر أو غير ذلك ، ينشأ عن أو خارج أو متصل بالبرنامج أو الاستخدام أو المعاملات الأخرى البرمجيات.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>إخلاء المسئولية القانونية</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>محرر نص مجاني ومفتوح المصدر من تصميم وتنفيذ Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>للتواصل مع المؤلفين:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>للتبليغ عن مشكلة و طلب ميزة:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>الأكواد البرمجية متاحة على Github:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>للمزيد من المعلومات قم بزيارة موقعنا:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>بيان سياسة الخصوصية</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>عن البرنامج</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>عرض شريط الحالة</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>عرض شريط الحالة</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>إعدادات شريط الحالة</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>خيارات متقدمة</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>اللون الأساسي</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>استخدم لون Windows الأساسي</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>استخدم لون Windows الأساسي</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>شفافية خلفية تأثير Acrylic. يرجى ملاحظة أن سوف يتم تعطيل تأثير Acrylic عندما تكون البطارية في وضع التوفير أو إذا قمت بتعطيل تأثيرات الشفافية في إعدادات Windows.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>شفافية الخلفية</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>داكن</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>فاتح</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>نمط التصميم</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>استخدم نمط Windows</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>التخصيص</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Windows كود صفحة)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>سيستخدم فك الترميز الإحتياطي عندما يتعذر تحديد نوع ترميز الملف.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>فك الترميز الإحتياطي</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>تطبيق فقط على المستندات الجديدة.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>الترميز الإفتراضي</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>الخط والحجم الإفتراضي</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>تطبق فقط على المستند الجديد.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>نهاية السطر الإفتراضي</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>افتراضي (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>إعدادات مفتاح Tab تطبق فقط على الإدخالات الجديدة من قبل المستخدم.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 مسافات</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 مسافات</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>سلوك مفتاح Tab</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 مسافات</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>التفاف النص</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>التفاف الكلمة</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>التفاف الكلمة</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>النص والمحرر</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>سجلات التغييرات</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>عند التفعيل سيقوم Notepads بتذكر الجلسة الحالية لفتحها في المرة القائمة تلقائياً وسيقوم بعمل نسخ إحتياطية تلقائياً بشكل دوري لتفادي فقدان البيانات المفاجئ لما لم يتم حفظه. لن يقوم Notepads بتذكيرك لحفظ عملك عند إغلاق البرنامج إذا كانت هذه الميزة مفعلة. يرجى تذكر أن النسخ الإحتياطي للجلسات تعمل في أو أو النافذة الرئيسية في Notepads.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>تفعيل النسخ الإحتياطي</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>تفعيل النسخ الإحتياطي</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>إعدادات النسخ الإحتياطي</value>\r\n    <comment>AdvancedPageSessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>تعليم الأخطاء الإملائية</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>تعليم الأخطاء الإملائية</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>الإملاء</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>عند التفعيل سيقوم Notepads دائماً بفتح المستند في نافذة جديدة بدلاً من إنشاء تبويب جديد.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>دائماً قم بفتح نافذة جديدة</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>دائماً قم بفتح نافذة جديدة</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>خيارات التشغيل</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>تعليم السطر الحالي</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>تعليم السطر الحالي</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>محرك البحث الخاص</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>* أدخل رابط بهذه الصيغة https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>إعدادات محرك البحث يتم إختيارها عندما ينتهي البحث في الإنترنت.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>محرك البحث الإفتراضي</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>التخمين التلقائي للترميز (ينصح به)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>العرض</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>عرض أرقام الأسطر في المستند.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>عرض أرقام الأسطر</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>عرض أرقام الأسطر</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>نوع الخط الإفتراضي</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>وزن الخط الإفتراضي</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>اختر لغة واجهة Notepads بدلاً من اللغة الإفتراضية للنظام. إعادة التشغيل مطلوب لتطبيق التغييرات.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>* قم بإعادة تشغيل Notepads لتطبيق التغييرات.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>خيارات اللغة</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>عند التفعيل سيقوم Notepads بشكل ذكي التخلص من المسافات الموجودة في بداية ونهاية النص و حروف Tabs والأسطر الفارغة قبل نسخ النص المحدد إلى الحافظة.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>تفعيل النسخ الذكي</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>تفعيل النسخ الذكي</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>إعدادات النسخ الذكي</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>الإفتراضي في النظام</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>إغلاق التطبيق عند إغلاق آخر علامة تبويب</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>إغلاق التطبيق عند إغلاق آخر علامة تبويب</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/bg-BG/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub Advanced Subtitle File</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Assembly Language File</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP File</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>AutoHotkey Script File</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Aliases File</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash History File</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Login File</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Logout File</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Profile File</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Script File</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX File</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond File</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Build Path File</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C File</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI File</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure File</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake File</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript File</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Comma Separated Values File</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuration Settings</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++ File</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# File</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS File</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT File</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff File</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker File</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild File</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F# File</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Attributes File</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Config File</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Ignore File</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP File</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go File</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy File</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars File</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Header File</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HLSL File</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML File</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hypertext Access File</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Initialization File</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Install File</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java File</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Javascript File</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON File</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP File</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less File</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Log File</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Lyrics File</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA File</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map File</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown File</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO File</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NPM Config File</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 File</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl File</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP File</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod File</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell File</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profile File</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Project File</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug File</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python File</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor File</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R File</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby File</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Run Commands File</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust File</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader File</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shell Script File</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL File</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Sub Station Alpha Subtitle File</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Subtitle File</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift File</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T File</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript File</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User File</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Verilog File</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Visual Basic File</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue Config File</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue File</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML File</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML File</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML File</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell Config File</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell History File</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U File</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat File</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Project File</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Environment File</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL File</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>License File</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT File</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property List File</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD File</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Resource File</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML File</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL File</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/bg-BG/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Затвори</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Има незапазени промени.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Запазване на всички и изход</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Изхвърлете и излезте</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Искате ли да запазите промените?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Нищо за споделяне, защото не е избран текст и текущият документ е празен.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>След вашите промени</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Преди вашите промени</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Към този момент Notepads не поддържа файл, по-голям от 1MB.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>За съжаление файлът \"{0}\" не може да бъде отворен: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ок</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Грешка при отваряне на файл</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>За съжаление файлът \"{0}\" не може да бъде запазен: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ок</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Грешка при запазване на файл</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Затвори</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Намери</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Не е намерено</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Замени всички (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Замени</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Замени (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Намери следващ (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Опции за търсене</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Съответствие</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Съвпадение на цялата дума</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Намери...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Нов</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Отвори...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Принтирай...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Замени...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Запази</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Запази всички</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Запази като...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Настройки</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Отказ</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>Всички промени, включително текст, край на реда и кодиране, направени на \"{0}\", ще бъдат възстановени!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Да</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Сигурни ли сте да възстановите всички промени?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Отказ</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Запазване на файла \"{0}\"?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Запазване</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Не запазвай</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Запази промените?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Затвори</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Затвори останалите</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Затвори отдясно</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Затвори запазените</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Копиране на пълен път</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Отвори съдържащата папка</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Копирай</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Изрежи</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Постави</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Превключване на преглед</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Готовност</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Избери всички</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Сподели</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Сподели избрани</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Върни</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Пренасяне на ред</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Нов документ.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Линия{0}, Колона {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Линия {0}, Колона {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Визуализация на промените в текста</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Възстановете всички промени</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Променено</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Копирано</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Запазено</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Натиснете F11, за да излезете от цял екран</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Презаредете файла от диска</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Файлът е променен отвън!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Файлът е преместен, преименуван или изтрит!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Файлът е презареден</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Компактен слой</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Пълен екран</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Излез от компактен слой</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Излез от цял екран</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>Избрано</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>Избрано</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Премести отдел тук</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Отвори с Notepads</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Това е прозорец за сянка на Notepads. Снимката и настройките на сесията са деактивирани.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>Файлът вече е отворен!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Нов прозорец</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Отваря нов прозорец</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Нов прозорец</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Отвори последните</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Отидете на линия</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>Броят на линиите надхвърля общия брой редове!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Можете да въведете само номер!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Отидете на линия</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Търсене в мрежата</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Възстановяване на увеличение по подразбиране</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Увеличаване</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Намаляване</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Към:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Принтирай всички...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Може да приема само до един десетичен знак</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Стойност извън диапазона</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Второстепенен</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Главен</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Хоризонтален марж (в %)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>В % на ширината на хартията</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Грешка при печат:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Отпечатването не беше успешно</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>Печатът не се поддържа на това устройство</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Вертикален марж (в %)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Използвайте регулярен израз</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Изчисти наскоро отворена</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Още кодировки</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Отворете отново с кодиране</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Запазване с кодиране</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Невалиден регулярен израз!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Автоматично познаване на кодиране</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>Кодирането не може да бъде определено</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Намери предишен (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Превключване на режим Замяна</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Посока на четене отдясно наляво</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Italic</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Oblique</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Black</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Bold</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra Black</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra Bold</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra Light</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Light</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Medium</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi Bold</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi Light</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Thin</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Отказ</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Запази</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Преименувай</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>Името на файла не трябва да съдържа невалидни знаци</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>Името на файла не трябва да съдържа начални интервали</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>Името на файла не трябва да съдържа крайни интервали</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>Името на файла не може да бъде празно или да се състои само от интервали</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>Името на файла е невалидно или не е разрешено</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>Името на файла не може да бъде по-дълго от 255 знака</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Преименувам</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Преименуван</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Празно разширение на файла не се поддържа в момента</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>Разширение на файла \"{0}\" не се поддържа в момента</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Затвори</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Неуспешно възстановяване на данните от последната сесия поради повредени данни. Моля, направете резервно копие на всички незапазени файлове (*.txt) в папката на сесията.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Отворете папката за резервно копие на сесията</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Предупреждение</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/bg-BG/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Зависимости и референции</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>СОФТУЕРЪТ СЕ ПРЕДОСТАВЯ \"КАКТО Е\", БЕЗ НИКАКВИ ГАРАНЦИИ, ИЗРИЧНИ ИЛИ ПОДРАЗБИРАЩИ СЕ, ВКЛЮЧИТЕЛНО , НО НЕ САМО, ГАРАНЦИИТЕ ЗА ПРОДАВАЕМОСТ, ГОДНОСТ ЗА ОПРЕДЕЛЕНА ЦЕЛ И НЕНАРУШЕНИЕ. АВТОРИТЕ ИЛИ НОСИТЕЛИТЕ НА АВТОРСКИ ПРАВА НЕ НОСЯТ НИКАКВА ОТГОВОРНОСТ ЗА ИСК, ВРЕДА ИЛИ ДРУГА ОТГОВОРНОСТ, ПРОИЗТИЧАЩИ ОТ ИЗВЪН ИЛИ ВЪВ ВРЪЗКА СЪС СОФТУЕРА ИЛИ С ИЗПОЛЗВАНЕТО ИЛИ ДРУГИ СДЕЛКИ В СОФТУЕРА.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Отказ от право</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Безплатен и с отворен код текстов редактор, проектиран и изпълнен от Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>За да се свържете с авторите:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>За отчитане на проблеми и заявки за функции:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Изходният код е достъпен на Github:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>За повече информация, моля посетете нашия уебсайт:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Декларация за поверителност</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>За</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Показване на лентата на състоянието</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Показване на лентата на състоянието</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Настройки на лентата на състоянието</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Разширени</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Акцентен цвят</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Използвай моя цвят на Windows</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Използвай моя цвят на Windows</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Непрозрачност на акрилен фон.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Непрозрачност на фона на нюанса</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Тъмен</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Светъл</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Тематичен режим</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Използвай моя режим Windows</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Персонализация</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (кодова страница на Windows)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Резервното декодиране ще се използва, ако кодирането на файла не може да бъде разпознато.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Резервно декодиране</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Кандидатствайте само за нов документ.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Кодиране по подразбиране</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Шрифт и размер по подразбиране</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Кандидатствайте само за нов документ.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Краен ред по подразбиране</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>По подразбиране (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Настройки за поведение на клавиша на раздела, важат само за нови раздели, вмъкнати от потребителя.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 интервала</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 интервала</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Поведение на бутон TAB</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 интервала</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>На повече редове</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Пренеси дума</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Пренеси дума</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Текст и редактор</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Дневник на промените</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>След като бъде активирано, Notepads ще запомни текущата сесия за следващо стартиране и ще прави периодично архивиране на моментни снимки на сесията, за да се предотврати случайна загуба на данни за неотправени промени. Notepads НЯМА да ви напомня да запазите работата си при затваряне на приложението, ако тази функция е активирана. Моля, не забравяйте също, че моментната снимка на сесията работи само в първия или основния прозорец на Notepads.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Активиране на моментна снимка</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Активиране на моментна снимка</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Настройки за моментна сесия</value>\r\n    <comment>AdvancedPageSessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Маркирайте грешно написани думи</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Маркирайте грешно написани думи</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Правопис</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>След като бъде активиран, Notepads винаги ще отварят файл в нов прозорец, вместо да създават нов раздел.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Винаги отваряйте нов прозорец</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Винаги отваряйте нов прозорец</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Предпочитания за стартиране</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Маркирайте текущата линия</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Маркирайте текущата линия</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Персонализирана търсачка</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>* Въведете URL формат https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Настройките за търсачката по подразбиране се избират, когато се извърши търсене в мрежата.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Търсачка по подразбиране</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Автоматично познаване кодиране (препоръчително)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Дисплей</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Показване на номерата на редовете в документа.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Показване на номера на редове</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Показване на номера на редове</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Стил на Шрифта по Подразбиране</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Дебелина на Шрифта по Подразбиране</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Изберете персонализиран език, за да замените езика по подразбиране на системата, използван в Notepads. Необходим е рестарт за завършване на промените.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Рестартирайте Notepads, за да завършите промените.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Езикови Настройки</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>След активиране, Notepads интелигентно ще премахва началните и крайните интервали, табулациите и празните редове преди копиране на избрания текст в клипборда.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Активирайте Умно Копиране</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Активирайте Умно Копиране</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Настройки на Умното Копиране</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>Системно Подразбиране</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Изход от приложението при затваряне на последния таблет</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Изход от приложението при затваряне на последния таблет</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/cs-CZ/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Aegisub Advanced Subtitle</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Assembly Language</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor ASP</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor AutoHotkey Script</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Bash Aliases</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Bash History</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Bash Login</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Bash Logout</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Bash Profile</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Bash Script</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor BibTeX</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Bond</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Build Path</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor C</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor CGI</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Clojure</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Cmake</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor CoffeeScript</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor hodnot oddělených čárkou (CSV)</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Nastavení konfigurace</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor C++</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor C#</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor CSS</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor DAT</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rozdílový soubor</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Docker</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor EBuild</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor F#</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor atributů Git</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Konfigurační soubor Git</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Git Ignore</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor GLSP</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Go</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Groovy</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Handlebars</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hlavičkový soubor</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor HLSL</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor HTML</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Hypertext Access</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Inicializační soubor</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Install</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Java</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Javascript</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor JSON</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor JSP</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Less</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Logovací soubor</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Lyrics</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor LUA</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Mapový soubor</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown soubor</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor NFO</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Konfigurační soubor NPM</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Perl 6</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Perl</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor PHP</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Pod</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor PowerShell</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profilový soubor</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Projectový soubor</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Pug</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Python</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Razor</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor R</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Ruby</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor spustitelných příkazů</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Rust</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Shader</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor skriptu Shell</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor SQL</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Sub Station Alpha Subtitle</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor titulků</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Swift</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Textový soubor</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor T</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor TypeScript</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Uživatelský soubor</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Verilog</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Visual Basic</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Konfigurační soubor Vue</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Vue</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML File</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor XML</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor YAML</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Konfigurační soubor Z shell</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor historie Z shell</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor M3U</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Cheat</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Project File</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor nastavení prostředí</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor GLSL</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Licenční soubor</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor OPT</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor Property List</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor PVD</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor zdrojů</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Soubor TOML</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL File</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/cs-CZ/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Zrušit</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Máte neuložené změny.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Uložit vše a Zavřít</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Zahodit a Zavřít</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Chcete uložit změny?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Kompaktní režim</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Celoobrazovkový režim</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Opustit kompaktní režim</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Vypnout celoobrazovkový režim</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Nic ke sdílení, protože nebyl vybrán text a vybraný dokument je prázdný.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Po vašich změnách</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Před vašimi změnami</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads zatím nepodporuje souory větší, než 1MB.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Omlouváme se, soubor \"{0}\" nemohl být otevřen: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Chyba při otevírání souboru</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Omlouváme se, soubor \"{0}\" nemohl být uložen: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Chyba při ukládání souboru</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Zavřít</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Najít</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Nenalezeno</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Nahradit vše (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Nahradit</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Nahradit (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Najít další (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Možnosti hledání</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Rozlišovat velikost písmen</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Hledat pouze celá slova</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Najít...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Nový</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Otevřít...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Vytisknout...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Nahradit...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Uložit</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Uložit vše</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Uložit jako...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Nastavení</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Zrušit</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>Všechny změny včetně textu, ukončení řádků a kódování udělaných v \"{0}\" budou vráceny zpět!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ano</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Opravdu chcete vrátit všechny změny?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Zrušit</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Uložit soubor \"{0}\"?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Uložit</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Neukládat</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Přejete si uložit změny?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zavřít</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zavřít ostatní</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zavřít vše vpravo</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zavřít uložené</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kopírovat celou cestu</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Otevřít složku obsahující soubor</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kopírovat</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Vyjmout</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Vložit</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Přepnout náhled</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Znovu</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Vybrat vše</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Sdílet</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Sdílet vybrané</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zpět</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zalamovat řádky</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Untitled.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Soubor byl modifikován vně aplikace!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Znovu načíst soubor z disku</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Soubor byl přesunut, přejmenován nebo odstraněn!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Řádek {0}, Sloupec {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Řádek {0}, Sloupec {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Náhled změn textu</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Vrátit všechny změny</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Modifikovaný</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Stiskněte F11 pro ukončení celoobrazovkového režimu</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Kopírovaný</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Soubor byl znovu načten</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Uložen</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>vybrány</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>vybrán</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Přesunout kartu sem</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Otevřít v Notepads</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Toto je kopie okna Notepads. Ukládání session a nastavení je zakázáno.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>Soubor je již otevřen!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Otevře nové okno</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Nové okno</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Nové Okno</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Otevřít nedávno zavřené</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Jít na řádek</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Jít na:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>Číslo řádku je mimo aktuální počet řádků!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Lze psát pouze čísla!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Jít na řádek</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Hledat na webu</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Obnovit původní zvětšní</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Přiblížit</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Oddálit</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Použít regulární výraz</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Tisknout vše...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Lze akceptovat pouze hodnoty do jednoho desetinného místa</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Hodnota je mimo rozsah</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Patička</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Hlavička</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Vodorovný okraj (v %)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>V % šířky papíru</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Chyba při tisku:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Tisk selhal</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>Tisk není podporován na tomto zařízení</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Svislý okraj (v %)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Vyčistit nedávno otevřené</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Více kódování</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Otevřít s kódováním</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Uložit s kódováním</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Nevalidní regulární výraz!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Odhadnout kódování automaticky</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>Kódování nebylo možné určit</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Najít předešlé (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Přepnout nahrazovácí mód</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zarovnání zprava do leva</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Italic</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Normální</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Oblique</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Černý</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Tučný</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra černý</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra tučný</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra tenký</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Tenký</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Střední</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normální</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi Bold</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi Light</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Štíhlý</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Cancel</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Uložit</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Přejumenovat</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>Název souboru nesmí obsahovat nevalidní znaky</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>Název souboru nesmí obsahovat na začátku mezery</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>Název souboru nesmí obsahovat na konci mezery</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>Název souboru nesmí být prázdný nebo mezera</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>Název souboru není validní nebo není povolen</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>Název souboru nesmí být delší 255 znaků</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Přejmenovat</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Přejmenován</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Prázdné souborvé přípony nejsou v tento moment podporovány</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>Souborová přípona \"{0}\" není v tento moment podporována</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Zavřít</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Nepodařilo se obnovit data z poslední relace kvůli poškozeným datům. Zazálohujte prosím všechny vaše neuložené soubory (*.txt) ve složce relace.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Otevřít složku zálohování relace</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Varování</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/cs-CZ/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Závislosti a Odkazy</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>SOFTWARE JE POSKYTOVÁN  \"TAK JAK JE \", BEZ ZÁRUKY JAKÉHOKOLI DRUHU, VÝSLOVNÉ NEBO PŘEDPOKLÁDANÉ, VČETNĚ, ALE NIKOLI VÝHRADNĚ, ZÁRUK PRODEJNOSTI, VHODNOSTI PRO URČITÝ ÚČEL A NEPORUŠENÍ PŘEDPISŮ. AUTOŘI NEBO DRŽITELÉ AUTORSKÝCH PRÁV NEJSOU V ŽÁDNÉM PŘÍPADĚ ODPOVĚDNI ZA JAKÉKOLI NÁROKY, ŠKODY NEBO JINÉ ZÁVAZKY, AŤ JIŽ V RÁMCI SMLOUVY, DELIKTŮ NEBO JINAK, VZNIKLÉ V SOUVISLOSTI S TÍMTO SOFTWAREM NEBO S JEHO POUŽÍVÁNÍM NEBO S JINÝM OBCHODOVÁNÍ SE SOFTWAREM.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Prohlášení</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Design a implementace volně šiřitelného a open source distribuovaného text editoru od Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Pro kontaktování autorů:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Pro hlášení problémů a požadavků na nové funkce:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Zdrojový kód je dostupný na GitHubu:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>Pro více informací, prosím, navštivte náš web:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Prohlášení o zásadách ochrany osobních údajů</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>O programu</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Notepads si bude pamatovat aktuální session pro příští spuštění a bude dělat pravidelné zálohy proti možné ztrátě neuložených dat. Notepads vás při vypínání aplikace NEBUDE vyzývat k uložení souborů, pokud je tato funkce zapnutá.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Povolit zaznamenávání session</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Povolit zaznamenávání  session</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Nastavení zaznamenávání session</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Zobrazit stavový řádek</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Zobrazit stavový řádek</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Nastavení Stavového Řádku</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Pokročilé</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Barva zvýraznění</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Použít barvu zvýraznění z Windows</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Použít barvu zvýraznění z Windows</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Průhlednost akrylového odstínu pozadí. Akrylový odstín okna bude při úsporném módu na baterii vypnut nebo pokud vypnete průhlednost oken v nastavení systému.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Průhlednost odstínu pozadí</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Tmavý</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Světlý</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Motiv aplikace</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Použít Windows motiv</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Přizpůsobení</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Windows code page)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Záložní dekódování bude použitu, pokud nebude možné rozeznat kódování souboru.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Záložní dekódování</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Aplikuje se pouze na nové dokumenty.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Výchozí kódování</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Výchozí Font a Velikost</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Aplikuje se pouze na nové dokumenty.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Výchozí zakončení řádků</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Výchozí (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Nastavení pro chování klávesy tab, aplikuje se pouze na nové vložení uživatelem.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 mezer</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 mezery</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Chování Klávesy Tab</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 mezery</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Zalamování Textu</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Zalamovat text</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Zalamovat text</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Text a Editor</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Protokol změn</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Zvýraznit chybně napsaná slova</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Zvýraznit chybně napsaná slova</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Pravopis</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Notepads otevře každý další soubor v novém okně místo záložce, pokud je tato možnost povolena.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Vždy otevírat v novém okně</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Vždy otevírat v novém okně</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Předvolby spuštění</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Zvýraznit aktuální řádek</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Zvýraznit aktuální řádek</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Vlastní vyhledávač</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*Vložte web adresu ve formátu https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Nastavení pro výchozí vyhledávač bude použito ve chvíli, kdy bude hledání dokončeno.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Výchozí vyhledávač</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Auto guess Encoding (Doporučené)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Display</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Zobrazit čísla řádků v dokumentu.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Zobrazit čísla řádků</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Zobrazit čísla řádků</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Výchozí styl fontu</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Výchozí tloušťka fontu</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Vyberte vlastní jazyk pro přepsání výchozí systémového jazyku použitého v Notepads. K aplikaci změn je nutný restart aplikace.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Restartujte Notepads pro dokončení změn.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Jazykové preference</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Jakmile je jednou povolen, Notepads zkrátí text o přebývající počáteční a koncové mezery, tabulátory a prázdné řádky před tím, než je vybraný text nakopírován do schránky.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Povolit Smart Copy</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Povolit Smart Copy</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Nastavení Smart Copy</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>Výchozí systémový</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Ukončit aplikaci při zavírání poslední karty.</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Ukončit aplikaci při zavírání poslední karty.</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/de-CH/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub Advanced Subtitle File</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Assembly Language File</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP File</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>AutoHotkey Script File</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Aliases File</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash History File</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Login File</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Logout File</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Profile File</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Script File</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX File</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond File</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Build Path File</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C File</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI File</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure File</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake File</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript File</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Comma Separated Values File</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuration Settings</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++ File</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# File</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS File</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT File</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff File</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker File</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild File</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F# File</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Attributes File</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Config File</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Ignore File</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP File</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go File</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy File</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars File</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Header File</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HLSL File</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML File</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hypertext Access File</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Initialization File</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Install File</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java File</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Javascript File</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON File</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP File</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less File</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Log File</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Lyrics File</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA File</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map File</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown File</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO File</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NPM Config File</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 File</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl File</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP File</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod File</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell File</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profile File</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Project File</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug File</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python File</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor File</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R File</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby File</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Run Commands File</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust File</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader File</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shell Script File</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL File</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Sub Station Alpha Subtitle File</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Subtitle File</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift File</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T File</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript File</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User File</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Verilog File</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Visual Basic File</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue Config File</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue File</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML File</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML File</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML File</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell Config File</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell History File</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U File</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat File</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Project File</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Environment File</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL File</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>License File</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT File</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property List File</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD File</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Resource File</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML File</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL File</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/de-CH/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Abbrechen</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Es exisitieren nicht gespeicherte Änderungen.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Speichern</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Nicht speichern</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Änderungen speichern?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Nichts zu teilen, da kein Text markiert wurde und das Dokument leer ist.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Nach den Änderungen</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Vor den Änderungen</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads unterstützt zurzeit keine Dateien grösser als 1MB.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Die Datei \"{0}\" konnte leider nicht geöffnet werden: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Fehler beim öffnen der Datei</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Die Datei \"{0}\" konnte leider nicht gespeichert werden: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Fehler beim speichern der Datei</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Schliessen</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Suchen</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Nicht gefunden</value>\r\n    <comment>FindAndReplace: Notification message when target not found .</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Alle ersetzen (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Ersetzen</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Ersetzen (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Weitersuchen (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Suchoptionen</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Gross-/Kleinschreibung</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Nur ganzes Wort suchen</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Suchen...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Neu</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Öffnen...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Drucken...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Ersetzen...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Speichern</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Alle speichern</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Speichern unter...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Einstellungen</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Abbrechen</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>Alle Änderungen, inklusive Text, Zeilenumbrüche und Zeichenkodierung, an \"{0}\" werden rückgängig gemacht!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ja</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Alle Änderungen rückgängig machen?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Abbrechen</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Datei \"{0}\" speichern?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Speichern</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Nicht speichern</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Änderungen speichern?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Schliessen</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Andere schliessen</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Alle rechts schliessen</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Gespeicherte schliessen</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Gesamten Pfad kopieren</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Ordner öffnen</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kopieren</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Ausschneiden</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Einfügen</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Vorschau umschalten</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Wiederholen</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Alles markieren</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Teilen</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Auswahl teilen</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Rückgängig</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Wörter umbrechen</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Unbenannt.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Ze {0}, Sp {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Ze {0}, Sp {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Änderungsvorschau</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Alle Änderungen rückgängig machen</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Geändert</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Kopiert</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Gespeichert</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Vollbildmodus mit F11 beenden</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Datei von der Festplatte neu laden</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Datei wurde extern geändert!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Datei wurde verschoben, umbenannt oder gelöscht!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Datei neu geladen</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Kompakte Ansicht</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Vollbildmodus</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Kompakte Ansicht verlassen</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Vollbildmodus verlassen</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>ausgewählt</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>ausgewählt</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Tab hierher verschieben</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Mit Notepads öffnen</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Dies ist eine Kopie von Notepads. Die Sitzungsicherung sowie die Einstellungen sind deaktiviert.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>Datei ist bereits offen!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Öffnet ein neues Fenster</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Neues Fenster</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Neues Fenster</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Zuletzt geöffnet</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Zu Zeile springen</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Gehe zu:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>Die Zeilennummer ist grösser als die Anzahl der Zeilen!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Nur Zahlen sind erlaubt!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Zu Zeile springen</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Im Web suchen</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Standard Zoom wiederherstellen</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Hereinzoomen</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Herauszoomen</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Reguläre Ausdrücke verwenden</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Alle drucken...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Nur eine Dezimalstelle erlaubt</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Wert ausserhalb des zulässigen Bereiches</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Fusszeile</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Kopfzeile</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Horizontaler Abstand (in %)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>In % der Papierbreite</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Fehler beim drucken:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Drucken fehlgeschlagen</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>Drucken wird von diesem Gerät nicht unterstützt</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Vertikaler Abstand (in %)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Liste zuletzt geöffneter Dateien leeren</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Weitere Codierungen</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Mit Codierung erneut öffnen</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Mit Codierung speichern</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Ungültiger Regulärer Ausdruck!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Codierung automatisch erkennen</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>Codierung konnte nicht bestimmt werden</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Vorherige finden (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Ersetzungsmodus umschalten</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Leserichtung rechts nach links</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Italic</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Oblique</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Black</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Bold</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra Black</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra Bold</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra Light</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Light</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Medium</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi Bold</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi Light</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Thin</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Abbrechen</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Speichern</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Umbennen</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>Der Dateiname sollte keine ungültigen Zeichen enthalten</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>Der Dateiname sollte keine führenden Leerzeichen enthalten</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>Der Dateiname sollte keine abschließenden Leerzeichen enthalten</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>Der Dateiname darf nicht leer sein oder nur aus Leerzeichen bestehen</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>Der Dateiname ist ungültig oder nicht erlaubt</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>Der Dateiname darf nicht länger als 255 Zeichen sein</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Umbenennen</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Umbenannt</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Eine leere Dateierweiterung wird momentan nicht unterstützt</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>Die Dateierweiterung \"{0}\" wird momentan nicht unterstützt</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Schließen</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Daten aus der letzten Sitzung konnten aufgrund beschädigter Daten nicht wiederhergestellt werden. Bitte sichern Sie alle Ihre nicht gespeicherten Dateien (*.txt) im Ordner der Sitzung.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ordner für Sitzungssicherung öffnen</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Warnung</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/de-CH/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Abhängigkeiten und Referenzen</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>DIE SOFTWARE WIRD OHNE JEDE AUSDRÜCKLICHE ODER IMPLIZIERTE GARANTIE BEREITGESTELLT, EINSCHLIEẞLICH DER GARANTIE ZUR BENUTZUNG FÜR DEN VORGESEHENEN ODER EINEM BESTIMMTEN ZWECK SOWIE JEGLICHER RECHTSVERLETZUNG, JEDOCH NICHT DARAUF BESCHRÄNKT. IN KEINEM FALL SIND DIE AUTOREN ODER COPYRIGHTINHABER FÜR JEGLICHEN SCHADEN ODER SONSTIGE ANSPRÜCHE HAFTBAR ZU MACHEN, OB INFOLGE DER ERFÜLLUNG EINES VERTRAGES, EINES DELIKTES ODER ANDERS IM ZUSAMMENHANG MIT DER SOFTWARE ODER SONSTIGER VERWENDUNG DER SOFTWARE ENTSTANDEN.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Disclaimer</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Kostenloser Open-Source Texteditor entworfen und implementiert durch Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Autoren kontaktieren:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Für Fehlermeldungen oder Featureanfrage:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Quellcode verfügbar auf Github:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>Mehr Informationen auf unserer Website:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Datenschutzerklärung</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Über</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Statusleiste anzeigen</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Statusleiste anzeigen</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Statusleisteneinstellungen</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Erweitert</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Akzentfarbe</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Windows Akzentfarbe verwenden</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Windows Akzentfarbe verwenden</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Opazität der Acryl-Hintergrundfarbe. Der Acryleffekt wird deaktiviert, wenn der Batteriesparmodus eingeschaltet ist oder wenn die Transparenzeffekte in den Windows-Einstellungen ausgeschaltet sind.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Opazität der Hintergrundfarbe</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Dunkel</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Hell</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Design Modus</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Windows Modus verwenden</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Personalisierung</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Windows Zeichensatz)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Die Notfall-Dekodierung wird verwendet, wenn die Codierung einer Datei nicht erkannt wird.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Notfall-Dekodierung</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Gilt nur für neue Dokumente.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standard Codierung</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standard Schriftart und Grösse</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Gilt nur für neue Dokumente.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standard Zeilenumbruch</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Standard (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Einstellungen für die Tabulatortaste, gilt nur für neu eingefügte Tabs.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 Leerzeichen</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 Leerzeichen</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tabulatortastenverhalten</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 Leerzeichen</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Textumbruch</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Wörter umbrechen</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Wörter umbrechen</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Text &amp; Editor</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Änderungsprotokoll</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Notepads wird die aktuelle Sitzung für den nächsten Start beibehalten und periodische Sicherungen durchführen um versehentlichen Datenverlust zu verhindern. Notepads wird beim schliessen NICHT zum speichern auffordern, wenn diese Option aktiviert ist. Sicherungen werden nur vom ersten oder vom Hauptfenster von Notepads erstellt.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Sitzungssicherung und Wiederherstellung aktivieren</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Sitzungssicherung und Wiederherstellung aktivieren</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Sitzungssicherungs-Einstellungen</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Rechtschreibfehler hervorheben</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Rechtschreibfehler hervorheben</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Rechtschreibung</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Wenn aktiviert, öffnet Notepads Dateien immer in einem neuen Fenster anstelle eines neuen Reiters.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Immer neues Fenster öffnen</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Immer neues Fenster öffnen</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Startpräferenzen</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Aktuelle Zeile hervorheben</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Aktuelle Zeile hervorheben</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Benutzerdefinierte Suchmaschine</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*URL Format beachten: https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Einstellungen für die Standardsuchmaschine für die Websuche.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standardsuchmaschine</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Codierung automatisch erkennen (empfohlen)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Display</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Zeilennummern im Dokument anzeigen.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Zeilennummern anzeigen</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Zeilennummern anzeigen</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Default Font Style</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Default Font Weight</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Wählen Sie eine benutzerdefinierte Sprache, um die standardmäßig vom System verwendete Sprache in Notepads zu überschreiben. Ein Neustart ist erforderlich, um die Änderungen abzuschließen.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Neustart von Notepads, um Änderungen abzuschließen.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Spracheinstellungen</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Sobald aktiviert, wird Notepads führende und abschließende Leerzeichen, Tabs und leere Zeilen vor dem Kopieren des ausgewählten Textes in die Zwischenablage intelligent entfernen.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Smart Copy aktivieren</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Smart Copy aktivieren</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Einstellungen für Smart Copy</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>Systemstandard</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>App schließen beim Schließen des letzten Tabs</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>App schließen beim Schließen des letzten Tabs</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/de-DE/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub Advanced Subtitle File</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Assembly Language File</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP File</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>AutoHotkey Script File</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Aliases File</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash History File</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Login File</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Logout File</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Profile File</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Script File</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX File</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond File</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Build Path File</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C File</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI File</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure File</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake File</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript File</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Comma Separated Values File</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuration Settings</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++ File</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# File</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS File</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT File</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff File</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker File</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild File</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F# File</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Attributes File</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Config File</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Ignore File</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP File</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go File</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy File</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars File</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Header File</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HLSL File</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML File</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hypertext Access File</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Initialization File</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Install File</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java File</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Javascript File</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON File</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP File</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less File</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Log File</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Lyrics File</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA File</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map File</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown File</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO File</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NPM Config File</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 File</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl File</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP File</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod File</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell File</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profile File</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Project File</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug File</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python File</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor File</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R File</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby File</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Run Commands File</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust File</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader File</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shell Script File</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL File</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Sub Station Alpha Subtitle File</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Subtitle File</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift File</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T File</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript File</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User File</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Verilog File</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Visual Basic File</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue Config File</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue File</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML File</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML File</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML File</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell Config File</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell History File</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U File</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat File</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Project File</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Environment File</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL File</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>License File</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT File</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property List File</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD File</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Resource File</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML File</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL File</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/de-DE/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Abbrechen</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Es exisitieren nicht gespeicherte Änderungen.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Speichern</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Nicht speichern</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Änderungen speichern?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Nichts zu teilen, da kein Text markiert wurde und das Dokument leer ist.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Nach den Änderungen</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Vor den Änderungen</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads unterstützt zurzeit keine Dateien größer als 1 MB.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Die Datei „{0}“ konnte leider nicht geöffnet werden: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Fehler beim öffnen der Datei</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Die Datei „{0}“ konnte leider nicht gespeichert werden: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Fehler beim speichern der Datei</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Schließen</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Suchen</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Nicht gefunden</value>\r\n    <comment>FindAndReplace: Notification message when target not found .</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Alle ersetzen (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Ersetzen</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Ersetzen (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Weitersuchen (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Suchoptionen</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Groß-/Kleinschreibung</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Nur ganzes Wort suchen</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Suchen...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Neu</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Öffnen...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Drucken...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Ersetzen...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Speichern</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Alle speichern</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Speichern unter...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Einstellungen</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Abbrechen</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>Alle Änderungen, inklusive Text, Zeilenumbrüche und Zeichenkodierung, an „{0}“ werden rückgängig gemacht!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ja</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Alle Änderungen rückgängig machen?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Abbrechen</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Datei „{0}“ speichern?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Speichern</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Nicht speichern</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Änderungen speichern?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Schließen</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Andere schließen</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Alle rechts schließen</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Gespeicherte schließen</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Gesamten Pfad kopieren</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Ordner öffnen</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kopieren</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Ausschneiden</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Einfügen</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Vorschau umschalten</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Wiederholen</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Alles markieren</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Teilen</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Auswahl teilen</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Rückgängig</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Wörter umbrechen</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Unbenannt.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Ze {0}, Sp {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Ze {0}, Sp {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Änderungsvorschau</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Alle Änderungen rückgängig machen</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Geändert</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Kopiert</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Gespeichert</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Vollbildmodus mit F11 beenden</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Datei von der Festplatte neu laden</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Datei wurde extern geändert!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Datei wurde verschoben, umbenannt oder gelöscht!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Datei neu geladen</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Kompakte Ansicht</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Vollbildmodus</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Kompakte Ansicht verlassen</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Vollbildmodus verlassen</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>ausgewählt</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>ausgewählt</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Tab hierher verschieben</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Mit Notepads öffnen</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Dies ist eine Kopie von Notepads. Die Sitzungsicherung sowie die Einstellungen sind deaktiviert.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>Datei ist bereits offen!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Neues Fenster</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Öffnet ein neues Fenster</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Neues Fenster</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Zuletzt geöffnet</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Zu Zeile springen</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>Die Zeilennummer ist größer als die Anzahl der Zeilen!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Nur Zahlen sind erlaubt!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Zu Zeile springen</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Im Web suchen</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Standard Zoom wiederherstellen</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Hereinzoomen</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Herauszoomen</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Gehe zu:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Alle drucken...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Nur eine Dezimalstelle erlaubt</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Wert außerhalb des zulässigen Bereiches</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Fußzeile</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Kopfzeile</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Horizontaler Abstand (in %)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>In % der Papierbreite</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Fehler beim drucken:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Drucken fehlgeschlagen</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>Drucken wird von diesem Gerät nicht unterstützt</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Vertikaler Abstand (in %)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Reguläre Ausdrücke verwenden</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Liste zuletzt geöffneter Dateien leeren</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Weitere Codierungen</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Mit Codierung erneut öffnen</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Mit Codierung speichern</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Ungültiger Regulärer Ausdruck!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Codierung automatisch erkennen</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>Codierung konnte nicht bestimmt werden</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Vorherige finden (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Ersetzungsmodus umschalten</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Leserichtung rechts nach links</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Italic</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Oblique</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Black</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Bold</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra Black</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra Bold</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra Light</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Light</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Medium</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi Bold</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi Light</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Thin</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Abbrechen</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Speichern</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Umbennen</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>Der Dateiname sollte keine ungültigen Zeichen enthalten</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>Der Dateiname sollte keine führenden Leerzeichen enthalten</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>Der Dateiname sollte keine nachfolgenden Leerzeichen enthalten</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>Der Dateiname darf nicht leer sein oder nur aus Leerzeichen bestehen</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>Der Dateiname ist ungültig oder nicht zulässig</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>Der Dateiname darf nicht länger als 255 Zeichen sein</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Umbenennen</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Umbenannt</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Eine leere Dateierweiterung wird momentan nicht unterstützt</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>Die Dateierweiterung \"{0}\" wird momentan nicht unterstützt</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Schließen</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Daten aus der letzten Sitzung konnten aufgrund von beschädigten Daten nicht wiederhergestellt werden. Bitte sichern Sie alle Ihre nicht gespeicherten Dateien (*.txt) im Ordner der Sitzung.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Öffne den Backup-Ordner der Sitzung</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Warnung</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/de-DE/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Abhängigkeiten und Referenzen</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>DIE SOFTWARE WIRD OHNE JEDE AUSDRÜCKLICHE ODER IMPLIZIERTE GARANTIE BEREITGESTELLT, EINSCHLIEẞLICH DER GARANTIE ZUR BENUTZUNG FÜR DEN VORGESEHENEN ODER EINEM BESTIMMTEN ZWECK SOWIE JEGLICHER RECHTSVERLETZUNG, JEDOCH NICHT DARAUF BESCHRÄNKT. IN KEINEM FALL SIND DIE AUTOREN ODER COPYRIGHTINHABER FÜR JEGLICHEN SCHADEN ODER SONSTIGE ANSPRÜCHE HAFTBAR ZU MACHEN, OB INFOLGE DER ERFÜLLUNG EINES VERTRAGES, EINES DELIKTES ODER ANDERS IM ZUSAMMENHANG MIT DER SOFTWARE ODER SONSTIGER VERWENDUNG DER SOFTWARE ENTSTANDEN.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Disclaimer</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Kostenloser Open-Source Texteditor entworfen und implementiert durch Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Autoren kontaktieren:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Für Fehlermeldungen oder Featureanfrage:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Quellcode verfügbar auf Github:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>Mehr Informationen auf unserer Website:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Datenschutzerklärung</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Über</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Statusleiste anzeigen</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Statusleiste anzeigen</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Statusleisteneinstellungen</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Erweitert</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Akzentfarbe</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Windows Akzentfarbe verwenden</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Windows Akzentfarbe verwenden</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Opazität der Acryl-Hintergrundfarbe. Der Acryleffekt wird deaktiviert, wenn der Batteriesparmodus eingeschaltet ist oder wenn die Transparenzeffekte in den Windows-Einstellungen ausgeschaltet sind.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Opazität der Hintergrundfarbe</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Dunkel</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Hell</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Design Modus</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Windows Modus verwenden</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Personalisierung</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Windows Zeichensatz)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Die Notfall-Dekodierung wird verwendet, wenn die Codierung einer Datei nicht erkannt wird.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Notfall-Dekodierung</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Gilt nur für neue Dokumente.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standard Codierung</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standard Schriftart und Größe</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Gilt nur für neue Dokumente.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standard Zeilenumbruch</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Standard (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Einstellungen für die Tabulatortaste, gilt nur für neu eingefügte Tabs.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 Leerzeichen</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 Leerzeichen</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tabulatortastenverhalten</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 Leerzeichen</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Textumbruch</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Wörter umbrechen</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Wörter umbrechen</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Text &amp; Editor</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Änderungsprotokoll</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Notepads wird die aktuelle Sitzung für den nächsten Start beibehalten und periodische Sicherungen durchführen um versehentlichen Datenverlust zu verhindern. Notepads wird beim schließen NICHT zum speichern auffordern, wenn diese Option aktiviert ist. Sicherungen werden nur vom ersten oder vom Hauptfenster von Notepads erstellt.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Sitzungssicherung und Wiederherstellung aktivieren</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Sitzungssicherung und Wiederherstellung aktivieren</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Sitzungssicherungs-Einstellungen</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Rechtschreibfehler hervorheben</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Rechtschreibfehler hervorheben</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Rechtschreibung</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Wenn aktiviert, öffnet Notepads Dateien immer in einem neuen Fenster anstelle eines neuen Reiters.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Immer neues Fenster öffnen</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Immer neues Fenster öffnen</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Startpräferenzen</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Aktuelle Zeile hervorheben</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Aktuelle Zeile hervorheben</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Benutzerdefinierte Suchmaschine</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*URL Format beachten: https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Einstellungen für die Standardsuchmaschine für die Websuche.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standardsuchmaschine</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Codierung automatisch erkennen (empfohlen)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Display</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Zeilennummern im Dokument anzeigen.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Zeilennummern anzeigen</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Zeilennummern anzeigen</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standard-Schriftstil</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standard-Schriftgewicht</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Wählen Sie eine benutzerdefinierte Sprache, um die standardmäßige Systemsprache in Notepads zu überschreiben. Ein Neustart ist erforderlich, um die Änderungen zu vervollständigen.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Neustart von Notepads, um Änderungen zu vervollständigen.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Spracheinstellungen</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Einmal aktiviert, wird Notepads intelligent führende und nachfolgende Leerzeichen, Tabs und leere Zeilen entfernen, bevor der ausgewählte Text in die Zwischenablage kopiert wird.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Smart Copy aktivieren</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Smart Copy aktivieren</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Einstellungen für Smart Copy</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>Systemstandard</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>App schließen, wenn der letzte Tab geschlossen wird</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>App schließen, wenn der letzte Tab geschlossen wird</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/en-US/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub Advanced Subtitle File</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Assembly Language File</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP File</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>AutoHotkey Script File</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Aliases File</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash History File</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Login File</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Logout File</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Profile File</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Script File</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX File</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond File</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Build Path File</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C File</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI File</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure File</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake File</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript File</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Comma Separated Values File</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuration Settings</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++ File</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# File</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS File</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT File</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff File</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker File</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild File</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F# File</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Attributes File</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Config File</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Ignore File</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP File</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go File</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy File</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars File</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Header File</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HLSL File</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML File</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hypertext Access File</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Initialization File</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Install File</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java File</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JavaScript File</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON File</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP File</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less File</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Log File</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Lyrics File</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA File</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map File</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown File</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO File</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NPM Config File</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 File</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl File</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP File</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod File</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell File</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profile File</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Project File</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug File</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python File</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor File</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R File</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby File</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Run Commands File</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust File</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader File</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shell Script File</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL File</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SubStation Alpha Subtitle File</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Subtitle File</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift File</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T File</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript File</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User File</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Verilog File</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Visual Basic File</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue Config File</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue File</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML File</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML File</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML File</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell Config File</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell History File</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U File</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat File</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Project File</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Environment File</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL File</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>License File</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT File</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property List File</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD File</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Resource File</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML File</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL File</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/en-US/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Cancel</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>There are unsaved changes.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Save All &amp; Exit</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Discard &amp; Exit</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Do you want to save the changes?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Nothing to share because no text is selected and current document is empty.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>After your changes</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Before your changes</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads does not support file greater than 1MB at this moment.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Sorry, file \"{0}\" couldn't be opened: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>File Open Error</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Sorry, file \"{0}\" couldn't be saved: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>File Save Error</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Close</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Find</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Not Found</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Replace All (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Replace</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Replace (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Find Next (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Search Options</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Match Case</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Match Whole Word</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Find...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>New</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Open...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Print...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Replace...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Save</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Save All</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Save As...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Settings</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Cancel</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>All changes including text, line ending and encoding made to \"{0}\" will be reverted!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Yes</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Are you sure to revert all changes?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Cancel</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Save file \"{0}\"?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Save</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Don't Save</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Save your changes?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Close</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Close Others</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Close to the Right</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Close Saved</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Copy Full Path</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Open Containing Folder</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Copy</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Cut</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Paste</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Toggle Preview</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Redo</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Select All</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Share</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Share Selected</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Undo</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Word Wrap</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Untitled.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Ln {0}, Col {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Ln {0}, Col {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Preview text changes</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Revert all changes</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Modified</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Copied</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Saved</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Press F11 to exit full screen</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Reload file from disk</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>File has been modified externally</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>File has been moved, renamed or deleted!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>File reloaded</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Compact Overlay</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Full Screen</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Exit Compact Overlay</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Exit Full Screen</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>selected</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>selected</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Move tab here</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Open with Notepads</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>This is a shadow window of Notepads. Session snapshot and settings are disabled.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>File already opened!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>New window</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Opens a new window</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>New Window</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Open Recent</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Go To Line</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>Line number exceeds beyond the total number of lines!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>You can only type a number!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Go To Line</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Search in web</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Restore Default Zoom</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Zoom In</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Zoom Out</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Go To:</value>\r\n    <comment>GoTo: Go to bar label</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Print All...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Can only accept upto one decimal place</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Value out of range</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Footer</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Header</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Horizontal Margin (in %)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>In % of paper width</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Error printing:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Failed to print</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>Printing is not supported on this device</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Vertical Margin (in %)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Use Regular Expression</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Clear Recently Opened</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>More Encodings</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Reopen with Encoding</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Save with Encoding</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Invalid regular expression!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Auto Guess Encoding</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>Encoding cannot be determined</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Find Previous (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Toggle Replace Mode</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Right-to-Left Reading order</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Italic</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Oblique</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Black</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Bold</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra Black</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra Bold</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra Light</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Light</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Medium</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi Bold</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi Light</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Thin</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Cancel</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Save</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Rename</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>File name should not contain invalid characters</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>File name should not contain leading spaces</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>File name should not contain trailing spaces</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>File name cannot be empty or all whitespace</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>File name is invalid or not allowed</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>File name cannot be longer than 255 characters</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Rename</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Renamed</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Empty file extension is not supported at this moment</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>File extension \"{0}\" is not supported at this moment</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Close</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Failed to recover data from the last session due to corrupted data. Please backup all your unsaved files (*.txt) in the session's folder.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Open session backup folder</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Warning</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/en-US/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Dependencies and References</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Disclaimer</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Free and open source text editor designed and implemented by Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>To contact the authors:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>For issue reporting and feature requests:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Source code is available on Github:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>For more info, please visit our website:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Privacy Statement</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>About</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Show status bar</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Show status bar</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Status Bar Settings</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Advanced</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Accent Color</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Use my Windows accent color</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Use my Windows accent color</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Acrylic background tint opacity. Please note that Acrylic effect will be disabled when battery saver mode is on or if you turn off transparency effects in Windows Settings.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Background Tint Opacity</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Dark</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Light</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Theme Mode</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Use my Windows mode</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Personalization</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Windows code page)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Fallback decoding will be used when a file's encoding cannot be recognized.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Fallback Decoding</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Only apply to new document.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Default Encoding</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Default Font &amp; Size</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Only apply to new document.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Default Line Ending</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Default (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Settings for tab key behavior, only apply to new tabs inserted by user.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 Spaces</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 Spaces</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tab Key Behavior</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 Spaces</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Text Wrapping</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Wrap word</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Wrap word</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Text &amp; Editor</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Changelog</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Once enabled, Notepads will remember the current session for next launch and do a periodic session snapshot backup to prevent accidental data loss for uncommitted changes. Notepads will NOT remind you to save your work on app close if this feature is enabled. Please also remember that session snapshot only works in the first or main window of Notepads.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Enable session snapshot</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Enable session snapshot</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Session Snapshot Settings</value>\r\n    <comment>AdvancedPageSessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Highlight misspelled words</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Highlight misspelled words</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Spelling</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Once enabled, Notepads will always open file in a new window instead of creating a new tab.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Always open new window</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Always open new window</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Launch Preferences</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Highlight current line</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Highlight current line</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Custom Search Engine</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*Enter a url of format https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Settings for default search engine choosen when a web search is done.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Default Search Engine</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Auto guess Encoding (Recommended)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Display</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Display line numbers in the document.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Display line numbers</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Display line numbers</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Default Font Style</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Default Font Weight</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Choose a custom language to override system default language used in Notepads. Restart is required to complete changes.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Restart Notepads to complete changes.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Language Preferences</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Once enabled, Notepads will smartly trim leading and trailing spaces, tabs, and empty lines before copying the selected text to the clipboard.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Enable Smart Copy</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Enable Smart Copy</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Smart Copy Settings</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>System Default</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Exit app when closing last tab</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Exit app when closing last tab</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/es-ES/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de subtítulos Aegisub Advanced</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de lenguaje ensamblador</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo ASP</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de script de AutoHotkey</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de alias de Bash</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de historial de Bash</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de inicio de sesión de Bash</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de cierre de sesión de Bash</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de perfil Bash</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de script Bash</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo BibTeX</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Bond</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Build Path</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo C</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo CGI</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Clojure</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Cmake</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo CoffeeScript</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de valores separados por comas</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ajustes de configuración</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo C++</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo C#</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo CSS</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo DAT</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Diff</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Docker</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo EBuild</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>FArchivo #</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de atributos Git</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de configuración Git</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Git Ignore</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo GLSP</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Go</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Groovy</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Handlebars</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de cabecera</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo HLSL</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo HTML</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo HTACCESS</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de inicialización</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de instalación</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Java</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Javascript</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo JSON</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo JSP</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Less</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Log</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Lyrics</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo LUA</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo MAP</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Markdown</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo NFO</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de configuración de NPM</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Perl 6</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Perl</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo PHP</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Pod</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo PowerShell</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Profile</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de proyecto</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Pug</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Python</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Razor</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo R</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Ruby</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de ejecución de comandos</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Rust</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Shader</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de script de Shell</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo SQL</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de subtítulos Sub Station Alpha</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de subtítulos</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Swift</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Documento de texto</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo T</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo TypeScript</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo User</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Verilog</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Visual Basic</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de configuración de Vue</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Vue</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo XAML</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo XML</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo YAML</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de configuración del shell Z</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de historial del shell Z</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo M3U</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo Cheat</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de proyecto C#</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de entorno</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo GLSL</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de licencia</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo OPT</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de lista de propiedades</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo PVD</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo de recursos</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo TOML</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Archivo XSL</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Documento de texto</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/es-ES/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Cancelar</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Hay cambios sin guardar.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Guardar Todo &amp; Salir</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Descartar &amp; Salir</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>¿Quieres Guardar los Cambios?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Nada para compartir porque no hay texto seleccionado o el documento está vacío.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Después de los Cambios</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Antes de los Cambios</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads no soporta archivos de más de 1MB en este momento.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Lo sentimos, el archivo \"{0}\" no pudo ser abierto: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Error al Abrir Archivo</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Lo sentimos, el archivo \"{0}\" no pudo ser guardado: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Error al Guardar Archivo</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Cerrar</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Buscar</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>No Encontrado</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Reemplazar Todo (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Reemplazar</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Reemplazar (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Buscar Siguiente (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Opciones de Búsqueda</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Coincidencia Exacta</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Palabras Completas</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Buscar...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Nuevo</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Abrir...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Imprimir...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Reemplazar...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Guardar</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Guardar Todo</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Guardar Como...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Ajustes</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Cancelar</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>¡Todos los cambios incluyendo texto, fin de línea y codificación hechos a ¨{0}\" serán revertidos!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Sí</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Está seguro de revertir todos los cambios?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Cancelar</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>¿Guardar Archivo \"{0}\"?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Guardar</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>No Guardar</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>¿Guardar Cambios?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Cerrar</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Cerrar Otros</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Cerrar pestaña a la Derecha</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Cerrar Guardados</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Copiar Ruta de Acceso</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Abrir Carpeta Contenedora</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Copiar</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Cortar</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Pegar</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Alternar Vista Preliminar</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Rehacer</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Seleccionar Todo</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Compartir</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Compartir Selección</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Deshacer</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Ajuste de Texto</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Nuevo Documento.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Ln {0}, Col {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Ln {0}, Col {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Vista previa de cambios de texto</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Revertir todos los cambios</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Modificado</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Copiado</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Guardado</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Pulse F11 para salir de pantalla completa</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Volver a cargar archivo desde el disco</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>¡El archivo ha sido modificado fuera!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>¡Archivo ha sido movido, renombrado o borrado!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Archivo recargado</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Modo Compacto</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Pantalla Completa</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Salir de Modo Compacto</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Salir de Pantalla Completa</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>seleccionados</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>seleccionado</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Mover pestaña aquí</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Abrir con Notepads</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Esta es una pantalla sombra de Notepads. Ajustes de sesión y restauración están desactivados.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>¡El archivo ya está abierto!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Abrir nueva ventana</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Nueva ventana</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Nueva Ventana</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Abrir Reciente</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Ir a Línea</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Ir a:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>¡Número de línea excede el total de líneas!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>¡Sólo se permiten números!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Ir a Línea</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Buscar en la web</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Restaurar Vista Original</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Acercar</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Alejar</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Usar Expresiones Regulares</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Imprimir Todo...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Sólo se permite un decimal</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Valor fuera de rango</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Pie de página</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Encabezamiento</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Margen Horizontal (en %)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>En % del ancho del papel</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Error durante impresión:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>La impresión falló</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>Este dispositivo no soporta impresión</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Margen Vertical (en %)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Borrar Archivos Recientes</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Más Codificaciones</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Volver a Abrir con Codificación</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Guardar con Codificación</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>¡Expresión Regular Inválida!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Adivinar codificación</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>No se puede determinar la codificación</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Buscar anterior (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Cambiar modo de reemplazo</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Orden de lectura de derecha a izquierda</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Cursiva</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Oblicua</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Negro</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Negrita</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Ultra-Negro</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Ultra-Negrita</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Ultra-Ligero</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Ligero</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Medio</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi-Negrita</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi-Ligero</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Delgado</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Cancelar</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Guardar</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Renombrar</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>El nombre del archivo no debe contener caracteres no válidos</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>El nombre del archivo no debe contener espacios al principio</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>El nombre del archivo no debe contener espacios al final</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>El nombre del archivo no puede estar vacío ni contener espacios en blanco</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>El nombre del archivo no es válido o no está permitido</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>El nombre del archivo no puede tener más de 255 caracteres</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Renombrar</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Renombrado</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>La extensión de archivo vacía no se admite en este momento</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>La extensión de archivo \"{0}\" no es compatible en este momento</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Cerrar</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>No se pudo recuperar los datos de la última sesión debido a datos corruptos. Por favor, haga una copia de seguridad de todos sus archivos no guardados (*.txt) en la carpeta de la sesión.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Abrir la carpeta de respaldo de la sesión</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Advertencia</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/es-ES/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Dependencias y Referencias</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>EL SOFTWARE SE PROPORCIONA \"COMO ESTÁ\", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A GARANTÍAS DE COMERCIALIZACIÓN, IDONEIDAD PARA UN PROPÓSITO PARTICULAR E INCUMPLIMIENTO. EN NINGÚN CASO LOS AUTORES O PROPIETARIOS DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGUNA RECLAMACIÓN, DAÑOS U OTRAS RESPONSABILIDADES, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O CUALQUIER OTRO MOTIVO, DERIVADAS DE, FUERA DE O EN CONEXIÓN CON EL SOFTWARE O SU USO U OTRO TIPO DE ACCIONES EN EL SOFTWARE.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Aviso de declinación de responsabilidades</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Editor de texto de código libre diseñado por Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Contactos de Autores:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Para reportar problemas y sugerir características:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>El código fuente está disponible en Github:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>Para más información, visite nuestro sitio web:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Declaración de Privacidad</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Información</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Mostrar barra de estado</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Mostrar barra de estado</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Ajusted de Barra de Estado</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Avanzado</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Color de Acento</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Usar el color de acento de Windows</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Usar el color de acento de Windows</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Opacidad del tono acrílico de fondo. Tenga en cuenta que el efecto acrílico se desactivará si el modo de ahorro de batería está activado o si se desactivan los efectos de transparencia en la configuración de Windows.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Opacidad del Tono de Fondo</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Oscuro</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Claro</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Modo de Tema</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Usar el modo de Windows</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Personalización</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Windows code page)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>La codificación de reserva será usada si la codificación del documento no es reconocida.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Codificación de Reserva</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Solo aplica para nuevos documentos.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Codificación Predeterminada</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Fuente y Tamaño Predeterminados</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Solo aplicar a documentos nuevos.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Terminación de Línea</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Predeterminado (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Los ajustes del comportamiento de tecla de tabulación sólo tendrán efecto sobre nuevas tabulaciones.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 Espacios</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 Espacios</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Comportamiento de tecla de tabulación</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 Espacios</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Ajuste de Texto</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Ajuste Automático</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Ajuste Automático</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Texto y Editor</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Registro de cambios</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Una vez activado, Notepads recordará la sesión actual para el siguiente inicio y hará un respaldo periódico para prevenir pérdidas accidentales de datos. Notepads NO le recordará guardar su trabajo al cerrar la aplicación, si esta opción es activada. Recuerde que el respaldo de la sesión sólo funciona en la ventana principal de Notepads.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Habilitar respaldo y restauración de sesión</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Habilitar respaldo y restauración de sesión</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Ajustes de Respaldo de Sesión</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Resaltar errores ortográficos</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Resaltar errores ortográficos</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Ortografía</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Una vez activado, Notepads siempre abrirá una nueva ventana en vez de una nueva pestaña.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Siempre abrir nueva ventana</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Siempre abrir nueva ventana</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Preferencias de Inicio</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Resaltar línea actual</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Resaltar línea actual</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Motor de Búsqueda Personalizado</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*Entre una url con formato https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Ajustes de Motor de Búsqueda cuando se realiza una búsqueda en la web.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Motor de Búsqueda Predeterminado</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Adivinar codificación (recomendado)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Visualización</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Mostrar números de línea en el documento.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Mostrar números de línea</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Mostrar números de línea</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Estilo de Fuente Predeterminado</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Peso de Fuente Predeterminado</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Elija un idioma personalizado para sobreescribir el idioma predeterminado del sistema utilizado en Notepads. Es necesario reiniciar para completar los cambios.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Es necesario reiniciar Notepads para completar los cambios.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Preferencias de Lenguaje</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Una vez habilitado, Notepads recortará inteligentemente los espacios en blanco iniciales y finales, las tabulaciones y las líneas en blanco antes de copiar el texto seleccionado en el portapapeles.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Habilitar Copia Inteligente</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Habilitar Copia Inteligente</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Configuración de Copia Inteligente</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>Valor predeterminado del sistema</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Salir de la aplicación al cerrar la última pestaña</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Salir de la aplicación al cerrar la última pestaña</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/fi-FI/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub Advanced Subtitle File</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Assembly Language File</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP File</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>AutoHotkey Script File</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Aliases File</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash History File</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Login File</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Logout File</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Profile File</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Script File</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX File</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond File</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Build Path File</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C File</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI File</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure File</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake File</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript File</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Comma Separated Values File</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuration Settings</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++ File</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# File</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS File</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT File</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff File</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker File</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild File</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F# File</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Attributes File</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Config File</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Ignore File</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP File</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go File</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy File</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars File</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Header File</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HLSL File</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML File</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hypertext Access File</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Initialization File</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Install File</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java File</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Javascript File</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON File</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP File</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less File</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Log File</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Lyrics File</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA File</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map File</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown File</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO File</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NPM Config File</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 File</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl File</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP File</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod File</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell File</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profile File</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Project File</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug File</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python File</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor File</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R File</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby File</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Run Commands File</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust File</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader File</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shell Script File</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL File</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Sub Station Alpha Subtitle File</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Subtitle File</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift File</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T File</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript File</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User File</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Verilog File</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Visual Basic File</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue Config File</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue File</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML File</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML File</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML File</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell Config File</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell History File</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U File</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat File</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Project File</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Environment File</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL File</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>License File</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT File</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property List File</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD File</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Resource File</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML File</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL File</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/fi-FI/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Peruuta</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Tiedostossa on tallentamattomia muutoksia.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Tallenna kaikki &amp; poistu</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Hylkää &amp; poistu</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Haluatko tallentaa muutokset?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Jaettavaa ei ole, koska yhtään tekstiä ei ole valittu ja nykyinen tiedosto on tyhjä.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Muutostesi jälkeen</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Muutoksiasi ennen</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads ei tällä hetkellä tue tiedostoja, joiden koko on suurempi kuin 1MB.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Tiedostoa \"{0}\" ei voitu avata: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Virhe avattaessa tiedostoa</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Tiedostoa \"{0}\" ei voitu tallentaa: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Virhe tallennettaessa tiedostoa</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Sulje</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Etsi</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Ei löydetty</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Korvaa kaikki (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Korvaa</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Korvaa (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Etsi seuraava (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Hakuasetukset</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Sama kirjainkoko</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Koko sana sama</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Etsi...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Uusi</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Avaa...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Tulosta...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Korvaa...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Tallenna</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Tallenna kaikki</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Tallenna nimellä...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Asetukset</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Peruuta</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>Kaikki tekstin, rivinvaihdon ja koodauksen muutokset tiedostolle \"{0}\" perutaan!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Kyllä</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Oletko varma, että haluat perua kaikki muutokset?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Peruuta</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Tallennetaanko tiedosto \"{0}\"?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Tallenna</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Älä tallenna</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Tallennetaanko muutoksesi?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Sulje</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Sulje muut</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Sulje oikealle</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Sulje tallennetut</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kopioi koko polku</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Avaa sisältävä kansio</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kopioi</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Leikkaa</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Liitä</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Vaihda esikatselu</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Tee uudelleen</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Valitse kaikki</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Jaa</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Jaa valittu</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kumoa</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Automaattinen rivitys</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Nimetön.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Rv {0}, Sar {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Rv {0}, Sar {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Esikatsele tekstimuutoksia</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Peru kaikki muutokset</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Muokattu</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Kopioitu</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Tallennettu</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Painamalla F11 poistua koko näytön tilasta</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Lataa tiedosto uudelleen levyltä</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Tiedostoa on muokattu ulkopuolella!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Tiedosto on siirretty, nimetty uudelleen tai poistettu!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Tiedosto on avattu uudelleen</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Kompakti päällystys</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Koko näyttö</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Poistu kompaktista päällystyksestä</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Poistu koko näytöstä</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>valittu</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>valittu</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Siirrä välilehti tähän</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Avaa Notepads-sovelluksella</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Tämä on Notepads-sovelluksen varjoikkuna. Istunnon tilannevedos ja asetukset eivät ole käytössä.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>Tiedosto on jo avattu!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Avaa uusi ikkuna</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Uusi ikkuna</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Uusi ikkuna</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Avaa äskettäin käytetyt</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Siirry riville</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Siirry kohtaan:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>Rivinumero ylittää kokonaisrivien määrän!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Voit kirjoittaa vain numeron!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Siirry riville</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Etsi verkosta</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Palauta oletuszoomaus</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Zoomaa sisään</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Zoomaa ulos</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Käytä säännöllistä lauseketta</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Tulosta kaikki...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Voi hyväksyä vain yhden desimaalin</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Arvo alueen ulkopuolella</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Alatunniste</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Ylätunniste</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Vaakamarginaali (prosentteina)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>Prosenttia paperin leveydestä</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Virhe tulostettaessa:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Tulostus epäonnistui</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>Tulostusta ei tueta tällä laitteella</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Pystymarginaali (prosentteina)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Tyhjennä äskettäin avatut</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Lisää koodauksia</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Avaa uudelleen koodauksella</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Tallenna koodauksella</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Virheellinen säännöllinen lauseke!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Arvaa koodaus automaattisesti</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>Koodausta ei voida määrittää</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Etsi edellinen (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Vaihda korvaustilaan</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Tekstin lukujärjestys oikealta vasemmalle</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Italic</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Oblique</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Black</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Bold</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra Black</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra Bold</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra Light</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Light</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Medium</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi Bold</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi Light</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Thin</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Peruuta</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Tallenna</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Nimeä uudelleen</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>Tiedostonimen ei tule sisältää virheellisiä merkkejä</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>Tiedostonimen ei tule sisältää alussa välilyöntejä</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>Tiedostonimen ei tule sisältää lopussa välilyöntejä</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>Tiedostonimi ei voi olla tyhjä tai pelkkää välilyöntiä</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>Tiedostonimi on virheellinen tai ei sallittu</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>Tiedostonimi ei voi olla yli 255 merkkiä pitkä</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Nimeä uudelleen</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Uudelleennimetty</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Tyhjää tiedostopäätettä ei tueta tällä hetkellä</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>Tiedostopääte \"{0}\" ei ole tuettu tällä hetkellä</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Sulje</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Tietojen palauttaminen viime istunnosta epäonnistui korruptoituneiden tietojen vuoksi. Tee varmuuskopio kaikista tallentamattomista tiedostoistasi (*.txt) istunnon kansiosta.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Avaa istunnon varmuuskopion kansio</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Varoitus</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/fi-FI/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Riippuvuudet ja viittaukset</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>OHJELMISTO TARJOTAAN \"SELLAISENAAN\", ILMAN MINKÄÄNLAISTA TAKUUTA, ILMAISTUNA TAI OLETETTUNA, MUKAAN LUKIEN MUTTA RAJOITTUMATTA KAUPALLISUUDEN TAKUIHIN, SOVELTUVUUTEEN TIETTYYN TARKOITUKSEEN JA LOUKKAAMATTOMUUTEEN. MISSÄÄN TAPAUKSESSA TEKIJÖITÄ TAI TEKIJÄNOIKEUDEN HALTIJOITA EI VOIDA PITÄÄ VASTUUSSA MISTÄÄN VAATEESTA, VAHINGOSTA TAI MUUSTA VASTUUSTA, OLIPA KYSE SOPIMUSTOIMESTA, VÄÄRYYSDESTÄ TAI MUUTOIN, JOKA JOHTUU OHJELMISTOSTA TAI SEN KÄYTÖSTÄ TAI MUUSTA KAUPANKÄYNNISTÄ OHJELMISTON KANSSA.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Vastuuvapauslauseke</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Vapaa ja avoimen lähdekoodin tekstieditori, jonka on suunnitellut ja toteuttanut Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Tekijöihin yhteyden ottamiseksi:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Ongelmien raportointia ja ominaisuuspyyntöjä varten:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Lähdekoodi on saatavilla Githubissa:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>Lisätietoja varten vieraile verkkosivuillamme:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Tietosuojalausunto</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Tietoja</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Näytä tilapalkki</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Näytä tilapalkki</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tilapalkin Asetukset</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Edistynyt</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Korostusväri</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Käytä Windows-korostusväriäni</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Käytä Windows-korostusväriäni</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Akryylitaustan värisävyn läpinäkyvyys. Huomaa, että akryyliefekti poistetaan käytöstä akun säästötilassa tai jos käännät läpinäkyvyystehosteet pois päältä Windows-asetuksissa.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Taustan Värisävyn Läpinäkyvyys</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Tumma</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Vaalea</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Teema-tila</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Käytä Windows-tilaani</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Mukauttaminen</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Windows-koodisivu)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Varakoodaus käytetään, jos tiedoston koodausta ei voida tunnistaa.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Varakoodaus</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Soveltuu vain uuteen asiakirjaan.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Oletuskoodaus</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Oletus Fontti &amp; Koko</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Soveltuu vain uuteen asiakirjaan.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Oletus Rivinvaihto</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Oletus (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Asetukset välilehtinäppäimen käyttäytymiselle, koskee vain käyttäjän lisäämiä uusia välilehtiä.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 Väliä</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 Väliä</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Välilehtinäppäimen Käyttäytyminen</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 Väliä</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tekstin Rivitys</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Rivitä sana</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Rivitä sana</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Teksti &amp; Editori</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Muutosloki</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Kun tämä on aktivoitu, Notepads muistaa nykyisen istunnon seuraavaa käynnistystä varten ja tekee säännöllisen istunnon tilannevedoksen varmuuskopioinnin vahingossa tapahtuvien muutosten tietojen menetyksen estämiseksi. Notepads EI muistuta sinua tallentamaan työtäsi sovelluksen sulkemisen yhteydessä, jos tämä ominaisuus on aktivoitu. Muista myös, että istunnon tilannevedos toimii vain ensimmäisessä tai pääikkunassa Notepadsissa.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Aktivoi istunnon varmuuskopiointi ja palautus</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Aktivoi istunnon varmuuskopiointi ja palautus</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Istunnon varmuuskopioinnin asetukset</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Korosta kirjoitusvirheet</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Korosta kirjoitusvirheet</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Oikeinkirjoitus</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Kun tämä on aktivoitu, Notepads avaa tiedoston aina uudessa ikkunassa uuden välilehden sijaan.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Avaa aina uusi ikkuna</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Avaa aina uusi ikkuna</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Käynnistysasetukset</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Korosta nykyinen rivi</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Korosta nykyinen rivi</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Mukautettu Hakukone</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*Syötä URL muodossa https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Asetukset oletushakukoneelle, joka valitaan verkkohaussa.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Oletushakukone</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Arvaa koodaus automaattisesti (Suositeltu)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Näyttö</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Näytä rivinumerot asiakirjassa.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Näytä rivinumerot</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Näytä rivinumerot</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Oletus Fonttityyli</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Oletus Fonttipaino</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Valitse mukautettu kieli korvaamaan Notepadsissa käytetty järjestelmän oletuskieli. Uudelleenkäynnistys on tarpeen muutosten suorittamiseksi.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Käynnistä Notepads uudelleen muutosten suorittamiseksi.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Kieliasetukset</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Kun tämä on aktivoitu, Notepads poistaa älykkäästi alussa ja lopussa olevat välilyönnit, välilehdet ja tyhjät rivit ennen valitun tekstin kopioimista leikepöydälle.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Aktivoi Älykäs Kopiointi</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Aktivoi Älykäs Kopiointi</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Älykkään Kopioinnin Asetukset</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>Järjestelmän oletus</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Sulje sovellus viimeisen välilehden sulkemisen yhteydessä</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Sulje sovellus viimeisen välilehden sulkemisen yhteydessä</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/fr-FR/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier de sous-titres Aegisub</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier source assembleur</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier ASP</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier de script AutoHotkey</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier d'alias Bash</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier d'historique Bash</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Bash Login</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Bash Logout</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier de profil Bash</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier de script Bash</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier BibTeX</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Bond</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Build Path</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier source C</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier CGI</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Clojure</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Cmake</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier CoffeeScript</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier CSV</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier de paramètres de configuration</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier source C++</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier source C#</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier CSS</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier DAT</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Diff</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Docker</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier EBuild</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier source F#</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Git Attributes</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Git Config</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Git Ignore</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier GLSP</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier source Go</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Groovy</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Handlebars</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Header</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier HLSL</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier HTML</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Hypertext Access</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Initialization</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Install</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier source Java</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier JavaScript</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier JSON</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier JSP</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Less</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier log</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier des paroles</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier LUA</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Map</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Markdown</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier NFO</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier de configuration NPM</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier source Perl 6</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier source Perl</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier source PHP</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Pod</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier PowerShell</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Profile</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Project</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Pug</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier source Python</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Razor</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier R</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier source Ruby</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Run Commands</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier source Rust</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Shader</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier de script Shell</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier de base de données SQL</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier de sous-titres SubStation Alpha</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier de sous-titres</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Swift</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier texte brute</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier T</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier TypeScript</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier User</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Verilog</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Visual Basic</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Vue Config</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Vue</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier XAML</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier XML</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier YAML</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier de configuration Z shell</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier d'historique Z shell</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier de liste de lecture M3U</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Cheat</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier de projet C#</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier Environment</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier GLSL</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier de licence</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier OPT</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier de liste de propriétés</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier PVD</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier de ressources</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier TOML</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Fichier XSL</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/fr-FR/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Annuler</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Certaines modifications n'ont pas été enregistrées.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Enregistrer tout</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ne pas enregistrer</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Voulez-vous enregistrer les modifications ?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Rien à partager car aucun texte n'a été sélectionné ou le document actuel est vide.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Après vos changements</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Avant vos changements</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads ne prend pas en charge les fichiers de plus d'1 Mo pour l'instant.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Désolé, le fichier \"{0}\" ne peut pas être ouvert : {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>OK</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Erreur lors de l'ouverture du fichier.</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Désolé, le fichier \"{0}\" ne peut pas être enregistré : {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>OK</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Erreur lors de l'enregistrement du fichier.</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Fermer</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Rechercher</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Non trouvé</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Remplacer tout (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Remplacer</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Remplacer (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Rechercher le suivant (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Options de recherche</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Respecter la casse</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Mot entier</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Rechercher…</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Nouveau</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Ouvrir…</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Imprimer…</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Remplacer…</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Enregistrer</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Enregistrer tout</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Enregistrer sous…</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Paramètres</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Annuler</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>Toutes les modifications du texte, des fins de lignes et de l'encodage apportées à \"{0}\" seront annulées !</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Oui</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Êtes-vous sûr de vouloir annuler toutes les modifications ?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Annuler</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Enregistrer le fichier \"{0}\" ?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Enregistrer</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ne pas enregistrer</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Enregistrer les modifications ?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Fermer</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Fermer les autres onglets</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Fermer les onglets à droite</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Fermer les fichiers enregistrés</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Copier le chemin complet</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Ouvrir le dossier</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Copier</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Couper</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Coller</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Afficher/masquer l'aperçu</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Rétablir</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Sélectionner tout</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Partager</value>\r\n    <comment>TextEditor: ContextFlyout \"Sharebutton display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Partager la sélection</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Annuler</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Retour automatique à la ligne</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Nouveau Document.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Ln {0}, Col {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Ln {0}, Col {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Aperçu des modifications du texte</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Annuler tous les changements</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Modifié</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Copié</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Enregistré</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Appuyez sur F11 pour quitter le mode plein écran.</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Recharger le fichier depuis le disque</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Le fichier a été modifié depuis un autre programme !</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Le fichier a été déplacé, renommé ou supprimé !</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Fichier rechargé</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Superposition compacte</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Plein écran</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Quitter la superposition compacte</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Quitter le plein écran</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>selectionnés</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>selectionné</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Déplacer l'onglet ici</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Ouvrir avec Notepads</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Ceci est une fenêtre secondaire de Notepads. La sauvegarde de la session et les paramètres sont désactivés pour cette fenêtre.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>Fichier déjà ouvert !</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Ouvre une nouvelle fenêtre</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Nouvelle fenêtre</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Nouvelle fenêtre</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Ouvrir un élément récent</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Aller à la ligne</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Aller à :</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>Le nombre de lignes dépasse le nombre total de lignes !</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Vous ne pouvez saisir qu'une valeur numérique.</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Aller à la ligne</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Chercher sur le Web</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Restaurer le zoom par défaut</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Agrandir</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Réduir</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Utiliser une expression régulière</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Imprimer tout…</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Ne peut accepter que jusqu'à une décimale.</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Valeur hors de la plage.</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Bas de page</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Haut de page</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Marge horizontale (en %)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>En % de la largeur du papier</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Erreur d'impression :</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Impossible d'imprimer.</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>L'impression n'est pas supportée sur cet appareil.</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Marge verticale (en %)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Effacer les éléments récemment ouverts</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Plus d'encodages</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Rouvrir avec l'encodage</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Enregistrer avec l'encodage</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Expression régulière invalide.</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Encodage automatique</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>L'encodage ne peut pas être déterminé.</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Rechercher le précédent (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Basculer de mode de remplacement</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Ordre de lecture de droite à gauche</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Italique</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Oblique</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Noir</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Gras</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra noir</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra gras</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra léger</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Léger</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Medium</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Demi gras</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi léger</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Mince</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Annuler</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Sauvegarder</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Renommer</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>Le nom du fichier ne doit pas contenir de caractères non valides.</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>Le nom du fichier ne doit pas commencer par un espace.</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>Le nom du fichier ne doit pas finir par un espace.</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>Le nom du fichier ne peut pas être vide ou contenir uniquement des espaces.</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>Le nom du fichier n'est pas valide ou n'est pas autorisé.</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>Le nom du fichier ne peut pas dépasser 255 caractères.</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Renommer</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Renommé</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>L'extension de fichier vide n'est pas prise en charge pour le moment.</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>L'extension de fichier \"{0}\" n'est pas prise en charge pour le moment.</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Fermer</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Échec de la récupération des données de la dernière session en raison de données corrompues. Veuillez sauvegarder tous vos fichiers non enregistrés (*.txt) dans le dossier de la session.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ouvrir le dossier de sauvegarde de la session</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Avertissement</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/fr-FR/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Dépendances et références</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>Le logiciel est fourni \"tel quel\", sans garantie d'aucune sorte, explicite ou implicite, incluant mais sans s'y limiter, les garanties de qualité marchande, d'adéquation à un usage particulier et de non-contrefaçon. En aucun cas, les auteurs ou les détenteurs de droits d'auteur ne peuvent être tenus responsables d'une quelconque réclamation, d'un quelconque dommage ou de toute autre responsabilité, que ce soit dans le cadre d'une action contractuelle, délictuelle ou autre, découlant du logiciel, de son utilisation ou d'autres transactions dans le logiciel, ou en relation avec ceux-ci.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Avis de non-responsabilité</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Éditeur de texte gratuit et open source conçu et réalisé par Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Pour contacter les auteurs :</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Pour les rapports de problèmes et les demandes de fonctionnalités :</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Code source disponible sur GitHub :</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>Pour plus d'infos, visitez notre site :</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Déclaration de confidentialité</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>À propos</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Afficher la barre d'état</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Afficher la barre d'état</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Paramètres de la barre d'état</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Avancé</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Couleur d'accentuation</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Utiliser ma couleur d'accentuation Windows</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Utiliser ma couleur d'accentuation Windows</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Opacité de la teinte de fond acrylique. Notez que l'effet acrylique sera désactivé lorsque le mode d'économie de la batterie est activé ou si vous désactivez les effets de transparence dans les paramètres de Windows.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Opacité de la teinte de fond</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Foncé</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Clair</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Thème</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Utiliser mon thème Windows</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Personalisation</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Windows code page)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Le décodage de secours sera utilisé si l'encodage du fichier ne peut pas être reconnu.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Décodage de secours</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>S'applique uniquement aux nouveaux documents.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Encodage par défaut</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Police &amp; taille par défaut</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>S'applique uniquement aux nouveaux documents.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Fin de ligne par défaut</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Par défaut (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Paramètre du comportement de la touche de tabulation. Ne s'applique qu'aux nouveaux onglets insérés par l'utilisateur.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 espaces</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 espaces</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Comportement de la touche de tabulation</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 espaces</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Habillage du texte</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Retour automatique à la ligne</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Retour automatique à la ligne</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Texte &amp; éditeur</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Journal des modifications</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Une fois activé, Notepads mémorisera la session en cours pour le prochain lancement et effectuera une sauvegarde périodique de la session pour éviter toute perte de données accidentelle liée à des modifications non validées. Notepads NE vous rappellera PAS d'enregistrer votre travail à la fermeture de l'application si cette fonctionnalité est activée. N'oubliez pas non plus que l'instantané de session ne fonctionne que dans la première fenêtre ou dans la fenêtre principale de Notepads.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Activer la sauvegarde &amp; \r\nla restauration de session</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Activer la sauvegarde &amp; \r\nla restauration de session</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Paramètres de sauvegarde de session</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Souligner les mots mal orthographiés</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Souligner les mots mal orthographiés</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Orthographe</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Une fois activé, Notepads ouvrira toujours les fichiers dans une nouvelle fenêtre au lieu de créer un nouvel onglet.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Toujours ouvrir une nouvelle fenêtre</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Toujours ouvrir une nouvelle fenêtre</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Préférences de lancement</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Mettre en surbrillance la ligne actuelle</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Mettre en surbrillance la ligne actuelle</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Moteur de recherche personnalisé</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*Entrez une URL au format suivant : https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Le moteur de recherche par défaut est utilisé lorsqu'une recherche Web est effectuée.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Moteur de recherche par défaut</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Encodage automatique (Recommandé)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Affichage</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Afficher les numéros de ligne dans le document.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Afficher les numéros de ligne</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Afficher les numéros de ligne</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Style de police par défaut</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Épaisseur de police par défaut</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Choisir une langue personalisée pour remplacer la langue par défaut du système. Le redémarrage de Notepads est nécessaire pour prendre en compte cette modification.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Redémarrer Notepads pour prendre en compte les modifications.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Préférences linguistiques</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Une fois activé, Notepads supprimera les espaces, tabulations et lignes vides en début et fin avant l'envoi au presse-papier.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Activer la copie intelligente</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Activer la copie intelligente</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Paramètres de la copie intelligente</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>Langue du système</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Quitter l'application à la \r\nfermeture du dernier onglet</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Quitter l'application à la \r\nfermeture du dernier onglet</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/hi-IN/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>एजिसब उन्नत उपशीर्षक फ़ाइल</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>आसेम्ब्ली भाषा फ़ाइल</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>एएसपी फ़ाइल</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ऑटोहॉटकी स्क्रिप्ट फ़ाइल</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>बाश उपनाम फ़ाइल</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>बास इतिहास फ़ाइल</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>बास लॉगिन फ़ाइल</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>बास लॉग आउट फ़ाइल</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>बास रूपरेखा फ़ाइल</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>बास स्क्रिप्ट फ़ाइल</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>बिब्टेक्स फ़ाइल</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>बंधन फ़ाइल</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>निर्माण मार्ग फ़ाइल</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>सी फ़ाइल</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>सीजीआई फ़ाइल</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>क्लोजुर फ़ाइल</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>सीमेक फ़ाइल</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>कॉफीस्क्रिप्ट फ़ाइल</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>अल्पविराम अलग मूल्यों फ़ाइल</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>कॉन्फ़िगरेशन सेटिंग्स</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>सी++ फ़ाइल</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>सी# फ़ाइल</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>सीएसएस फ़ाइल</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>डैट फ़ाइल</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>डीफ् फ़ाइल</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>डॉकर फ़ाइल</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>इवील्ड फ़ाइल</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>एफ# फ़ाइल</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>गिट विशेषताएं फ़ाइल</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>गिट कॉन्फिग फाइल</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>गिट अनदेखा फ़ाइल</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>जीएलएसपी फ़ाइल</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>गो फ़ाइल</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ग्रूवी फ़ाइल</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>हैंडलबार्स फ़ाइल</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>शीर्ष लेख फ़ाइल</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>एचएलएसएल फ़ाइल</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>एचटीएमएल फ़ाइल</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>हाइपरटेक्स्ट एक्सेस फ़ाइल</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>प्रारंभिक फ़ाइल</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>इंस्टॉल फ़ाइल</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>जावा फ़ाइल</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>जावास्क्रिप्ट फ़ाइल</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>जेसन फ़ाइल</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>जेएसपी फ़ाइल</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>लेस फ़ाइल</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>लॉग फ़ाइल</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>गीतिकाव्य फ़ाइल</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>लुआ फ़ाइल</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>नक्शा फ़ाइल</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>मार्कदाउन फ़ाइल</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>एनफो फ़ाइल</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>एनपीएम कॉन्फिग फाइल</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>पर्ल ६ फ़ाइल</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>पर्ल फ़ाइल</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>पीएचपी फ़ाइल</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>पड फ़ाइल</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>पावारशेल फ़ाइल</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>प्रोफ़ाइल फ़ाइल</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>प्रोजेक्ट फाइल</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>पग फ़ाइल</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>पाइथन फ़ाइल</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>रेजर फ़ाइल</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>आर फ़ाइल</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>रूबी फ़ाइल</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>चला कमांड फ़ाइल</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>रस्ट फ़ाइल</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>शेडर फ़ाइल</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>शेल स्क्रिप्ट फ़ाइल</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>एसक्यूएल फ़ाइल</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>सब स्टेशन अल्फा उपशीर्षक फ़ाइल</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>उपशीर्षक फ़ाइल</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>स्वीफ्ट फ़ाइल</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>लेख दस्तावेज़</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>टी फ़ाइल</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>टाइपस्क्रिप्ट फ़ाइल</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>उपयोगकर्ता फ़ाइल</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>भेरीलग फ़ाइल</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>विजुअल बेसिक फ़ाइल</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>वीयू कॉन्फ़िग फ़ाइल</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>वीयू फ़ाइल</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>क्सामल फ़ाइल</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>एक्सएमएल फ़ाइल</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>यामल फ़ाइल</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ज़ी शेल कॉन्फिग फाइल</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ज़ी शेल इतिहास फाइल</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>एम३यु फाइल</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>छल फाइल</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>सी# प्रोजेक्ट फाइल</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>परिस्थिति फाइल</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>जीएलएसएल फाइल</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>अनुज्ञप्ति फाइल</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ऑप्ट फाइल</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>संपत्ति सूची फाइल</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>पीवीडी फाइल</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>संसाधन फाइल</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>टिओएमएल फाइल</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>एक्सएसएल फाइल</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/hi-IN/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>रद्द करें</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>असेव परिवर्तन मौजूद हैं।</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>सभी सेव करें और निकास</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>छोड़ें और निकास</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>क्या आप परिवर्तनों को सेव करना चाहते हैं?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>साझा करने के लिए कुछ भी नहीं है क्योंकि कोई पाठ चयनित नहीं है और वर्तमान दस्तावेज़ खाली है।</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>आपके परिवर्तनों के बाद</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>आपके परिवर्तनों से पहले</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads इस समय 1MB से अधिक दस्तावेज़ का सपोर्ट नहीं करता है।</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>क्षमा करें, दस्तावेज़ \"{0}\" नहीं खोला जा सकता है: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>ठीक</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>दस्तावेज़ खोलनेका त्रुटि</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>क्षमा करें, दस्तावेज़ \"{0}\" सेव नहीं जा सकता है: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>ठीक</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>दस्तावेज़ सेव त्रुटि</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>बंद करें</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>खोजें</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>नहीं मिला</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>सब बदलें (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>बदलें</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>बदलें (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>अगला खोजें (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>खोज विकल्प</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>केस मिलायें</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>पुरा शब्द मिलायें</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>खोजें...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>नया</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>खोलें...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>प्रिंट करें...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>बदलें...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>सेव करें</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>सभी सेव करें</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>की तरह सेव करें...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>सेटिंग्स</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>रद्द करें</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>पाठ, लाइन एंडींग और एन्कोडिंग सहित \"{0}\" मे किए गए सभी परिवर्तन वापस आ जाएंगे!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>हाँ</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>क्या आप सभी परिवर्तनों को वापस करने के लिए सुनिश्चित हैं?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>रद्द करें</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>दस्तावेज़ \"{0}\" को सेव करें?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>सेव करें</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>सेव ना करें</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>अपने परिवर्तनों का सेव करें</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>बंद करें</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>इसके अलावा सभी बंद करें</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>दाएं और सभी बंद करें</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>सहेजे गए को बंद करें</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>दस्तावेज़ का पाथ कॉपी करें</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>धारक फोल्डर को खोलें</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>कॉपी</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>कट</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>पेस्ट</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>टॉगल प्रीव्यू</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>फिर से करें</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>सभी चयनित करें</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>साझा करें</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>चयनित का साझा करें</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>पूर्ववत करें</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>वर्ड रैप</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>अनामांकित.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>लॉन {0}, स्तंभ {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>लॉन {0}, स्तंभ {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>पाठ परिवर्तन प्रीव्यू</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>सभी परिवर्तनों का वापसी</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>संशोधित</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>कॉपी कीया गया</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>सेव कीया गया</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>फुल स्क्रीन से बाहर निकलने के लिए F11 दवाएं</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>डिस्क से पुनः लोड करें</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>दस्तावेज़ को बाहर संशोधित किया गया है!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>दस्तावेज़ को स्थानांतरित कर दिया गया है, नाम दिया गया है या हटा दिया गया है!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>दस्तावेज़ पुनः लोड हुआ</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>कॉम्पैक्ट ओवरले</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>फुल स्क्रीन</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>कॉम्पैक्ट ओवरले से बाहर निकलें</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>फुल स्क्रीन से बाहर निकलें</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>चुने गये</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>चुने गये</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>टैब यहां ले जाएं</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Notepads के साथ खोलें</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>यह Notepads की शैडो विन्डों है। सत्र स्नैपशॉट और सेटिंग्स अक्षम हैं।</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>दस्तावेज़ पहले से ही खोला!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>नया विन्डों</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>एक नई विन्डों खोलता है</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>नया विन्डों</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>इस लाइन पर चलें</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>लाइन संख्या लाइनों की कुल संख्या से परे है!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>आप केवल एक नंबर टाइप कर सकते हैं!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>गो टु लाइन</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>इन्टरनेट पर खोजें</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>डिफ़ॉल्ट जूम पुनर्स्थापित करें</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>बड़ा करें</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>छोटा करें</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>यहां चलें:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>सभी प्रिंट करें...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>केवल एक दशमलव स्थान तक स्वीकार कर सकते हैं</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>सीमा से बाहर मूल्य</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>फूटर</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>हेडर</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>होरीजोन्टाल मार्जिन (% में)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>कागज की चौड़ाई के % में</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>प्रिंट में त्रुटि:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>प्रिंट करने में विफल</value>\r\n    <comment>Print: Notification message on print failure</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>इस डिवाइस पर प्रिंटिंग सपोर्ट नहीं है</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>वर्टिकल मार्जिन (% में)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>रेग्युलर एक्स्प्रेशन</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>हाल ही में खुला</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>हाल ही में खोला गया को साफ़ करें</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>अधिक एनकोडिंग</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>एनकोडिंग के साथ फिर से खोलें</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>एन्कोडिंग के साथ सहेजें</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>अमान्य रेग्युलर एक्स्प्रेशन!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>स्वत: एन्कोडिंग का अनुमान लगाएं</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>एन्कोडिंग का निर्धारण नहीं किया जा सकता है</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>पिछला खोजें (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>बदल मोड टॉगल</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>दाएं-से-बाएं पढ़ने का क्रम</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>तिरछा</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>साधारण</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>टेढ़ा</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>स्याह</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>मोटा</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>अतिरिक्त स्याह</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>अतिरिक्त मोटा</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>अतिरिक्त सरल</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>सरल</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>मध्यम</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>साधारण</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>अर्ध मोटा</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>अर्ध सरल</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>पतला</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>रद्द करें</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>सेव करें</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>नाम बदलें</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>फ़ाइल नाम में अमान्य वर्ण नहीं होने चाहिए</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>फ़ाइल नाम में प्रमुख स्पेस नहीं होने चाहिए</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>फ़ाइल नाम में अनुगामी स्पेस नहीं होना चाहिए</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>फ़ाइल का नाम रिक्त या सभी स्पेस नहीं हो सकता</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>फ़ाइल का नाम अमान्य है या अनुमति नहीं है</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>फ़ाइल नाम २५५ वर्णों से अधिक नहीं हो सकता है</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>नाम बदलें</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>नाम बदला</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>इस समय खाली फ़ाइल एक्सटेंशन समर्थित नहीं है</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>फ़ाइल एक्सटेंशन \"{0}\" इस समय समर्थित नहीं है</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>बंद करें</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>अंतिम सत्र से डेटा पुनर्प्राप्त करने में विफल रहा क्योंकि डेटा भ्रष्ट हो गया था। कृपया अपनी सभी असहेजित फाइलों (*.txt) का बैकअप सत्र के फोल्डर में लें।</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>सत्र बैकअप फोल्डर खोलें</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>चेतावनी</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/hi-IN/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>निर्भरता और संदर्भ</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>सॉफ्टवेयर को किसी भी प्रकार की वारंटी के बिना ,\"जैसा कि है\", एक्सप्रेस या निहित प्रदान किया जाता है, जिसमें व्यापारीकी योग्यता की वारंटी तक सीमित नहीं है, किसी विशेष उद्देश्य के लिए फिटनेस और गैर-उल्लंघन शामिल हैं। किसी भी स्थिति में लेखक या कॉपीराइट धारक किसी भी दावे, क्षति या अन्य देयता के लिए उत्तरदायी नहीं होंगे, चाहे अनुबंध, टोट या अन्यथा की कार्रवाई में, सॉफ्टवेयर या सॉफ्टवेयर में उपयोग या अन्य सौदों के संबंध में, उत्पन्न होने वाली।</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>अस्वीकरण</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>जैकी (जियाकी) लियू द्वारा डिजाइन और लागू किए गए स्वतंत्र और खुले स्रोत पाठ संपादक</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>लेखकों से संपर्क करने के लिए:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>रिपोर्टिंग और सुविधा अनुरोध जारी करने के लिए:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>स्रोत कोड Github पर उपलब्ध है:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>अधिक जानकारी के लिए, कृपया हमारी वेबसाइट पर जाएं:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>गोपनीयता विवरण</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>करीबन</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>स्टेटस बार दिखाएं</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>स्टेटस बार दिखाएं</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>स्टेटस बार सेटिंग्स</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>वरिष्ठ</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>एक्सेंट रंग</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>मेरे Windows एक्सेंट रंग का उपयोग करें</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>मेरे Windows एक्सेंट रंग का उपयोग करें</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>एक्रेलिक बैकग्राउंड टिंट अस्पष्टता। कृपया ध्यान दें कि बैटरी सेवर मोड चालू होने पर एक्रेलिक प्रभाव अक्षम हो जाएगा या यदि आप विंडोज सेटिंग्स में पारदर्शिता प्रभाव बंद कर देते हैं।</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>पृष्ठभूमि टिंट अस्पष्टता</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>अंधेरा</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>प्रकाश</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>थीम मोड</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>मेरे Windows मोड का उपयोग करें</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>वैयक्तिकरण</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Windows कोड पेज)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>यदि फ़ाइल की एन्कोडिंग को मान्यता नहीं दी जा सकती है तो फॉलबैक डिकोडिंग का उपयोग किया जाएगा।</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>फॉलबैक डिकोडिंग</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>केवल नए दस्तावेज पर लागू होते हैं।</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>डिफ़ॉल्ट एन्कोडिंग</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>डिफ़ॉल्ट फ़ॉन्ट और आकार</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>केवल नए दस्तावेज पर लागू होते हैं।</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>डिफ़ॉल्ट लाइन एंडींग</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>डिफ़ॉल्ट (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>टैब कुंजी व्यवहार के लिए सेटिंग्स, केवल उपयोगकर्ता द्वारा डाले गए नए टैब पर लागू होती हैं।</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>८ स्थान</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>४ स्थान</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>टैब की व्यवहार</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>२ स्थान</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>टेक्स्ट रैपिंग</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>रैप वर्ड</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>रैप वर्ड</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>पाठ और संपादक</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>चेंजलाग</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>एक बार सक्षम होने के बाद, Notepads अगले लॉन्च के लिए वर्तमान सत्र को याद रखेगा और अप्रतिबद्ध परिवर्तनों के लिए आकस्मिक डेटा हानि को रोकने के लिए एक आवधिक सत्र स्नैपशॉट बैकअप करेगा। यदि यह सुविधा सक्षम है तो Notepads आपको ऐप क्लोज पर अपने काम को बचाने के लिए याद नहीं दिलाएंगे। कृपया यह भी याद रखें कि सत्र स्नैपशॉट केवल Notepads की पहली या मुख्य खिड़की में काम करता है।</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>सत्र स्नैपशॉट को सक्षम करें</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>सत्र स्नैपशॉट को सक्षम करें</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>सत्र स्नैपशॉट सेटिंग्स</value>\r\n    <comment>AdvancedPageSessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>गलत वर्तनी वाले शब्दों को हाइलाइट करें</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>गलत वर्तनी वाले शब्दों को हाइलाइट करें</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>वर्तनी</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>एक बार सक्षम होने के बाद,  Notepads हमेशा एक नया टैब बनाने के बजाय एक नई विंडो में फ़ाइल खोलेंगे।</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>हमेशा नई विन्डों खोलें</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>हमेशा नई विन्डों खोलें</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>लॉन्च प्राथमिकताएं</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>वर्तमान लाइन हाइलाइट करें</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>वर्तमान लाइन हाइलाइट करें</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>कस्टम सर्च इंजन</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*प्रारूप का एक यूआरएल दर्ज करें https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>डिफ़ॉल्ट सर्च इंजन के लिए चुनागया सेटिंग जब इन्टरनेट पर खोज की जाती है।</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>डिफ़ॉल्ट सर्च इंजन</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>स्वत: एन्कोडिंग का अनुमान लगाएं (अनुशंसित)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>देखाव</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>दस्तावेज़ में लाइन नंबर प्रदर्शित करें।</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>लाइन नंबर प्रदर्शित करें</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>लाइन नंबर प्रदर्शित करें</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>डिफ़ॉल्ट फ़ॉन्ट शैली</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>डिफ़ॉल्ट फ़ॉन्ट वजन</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Notepads में प्रयुक्त सिस्टम डिफ़ॉल्ट भाषा को ओवरराइड करने के लिए एक विशेष रूप से भाषा चुनें। परिवर्तनों को पूरा करने के लिए पुनरारंभ आवश्यक है।</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*परिवर्तनों को पूरा करने के लिए Notepads को पुनरारंभ करें।</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>भाषा प्राथमिकताएँ</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>एक बार सक्षम होने के बाद, Notepads चयनित टेक्स्ट को क्लिपबोर्ड पर कॉपी करने से पहले प्रमुख और अनुगामी रिक्त स्थान, टैब और खाली लाइनों को स्मार्ट ट्रिम करेगा।</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>स्मार्ट कॉपी सक्षम करें</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>स्मार्ट कॉपी सक्षम करें</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>स्मार्ट कॉपी सेटिंग्स</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>व्यवस्था निर्धारित</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>आखिरी टैब बंद करते समय ऐप से बाहर निकलें</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>आखिरी टैब बंद करते समय ऐप से बाहर निकलें</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/hr-HR/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub Advanced Subtitle File</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Assembly Language File</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP File</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>AutoHotkey Script File</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Aliases File</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash History File</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Login File</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Logout File</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Profile File</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Script File</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX File</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond File</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Build Path File</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C File</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI File</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure File</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake File</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript File</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Comma Separated Values File</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuration Settings</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++ File</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# File</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS File</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT File</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff File</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker File</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild File</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F# File</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Attributes File</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Config File</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Ignore File</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP File</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go File</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy File</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars File</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Header File</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HLSL File</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML File</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hypertext Access File</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Initialization File</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Install File</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java File</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Javascript File</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON File</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP File</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less File</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Log File</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Lyrics File</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA File</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map File</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown File</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO File</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NPM Config File</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 File</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl File</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP File</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod File</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell File</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profile File</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Project File</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug File</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python File</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor File</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R File</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby File</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Run Commands File</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust File</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader File</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shell Script File</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL File</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Sub Station Alpha Subtitle File</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Subtitle File</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift File</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T File</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript File</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User File</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Verilog File</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Visual Basic File</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue Config File</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue File</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML File</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML File</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML File</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell Config File</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell History File</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U File</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat File</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Project File</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Environment File</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL File</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>License File</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT File</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property List File</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD File</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Resource File</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML File</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL File</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/hr-HR/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Odustani</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Postoje nespremljene promjene.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Spremi i zatvori</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Odbaci i zatvori</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Spremiti promjene?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Nema se što dijeliti, jer nema označenog teksta i jer je trenutačni dokument prazan.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Nakon promjena</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Prije promjena</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads trenutačno ne podržava datoteke veće od 1 MB.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Nažalost se datoteka „{0}” ne može otvoriti: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>U redu</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Greška pri otvaranju datoteke</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Nažalost se datoteka „{0}” ne može spremiti: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>U redu</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Greška pri spremanju datoteke</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Zatvori</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Pronađi</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Nije pronađeno</value>\r\n    <comment>FindAndReplace: Notification message when target not found .</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Zamijeni sve (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Zamijeni</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Zamijeni (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Pronađi sljedeće (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Opcije pretrage</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Velika/mala slova</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Usporedi cijele riječi</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Pronađi …</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Nova</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Otvori …</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Ispiši …</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Zamijeni …</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Spremi</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Spremi sve</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Spremi kao …</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Postavke</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Odustani</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>Poništit će se sve promjene u datoteci „{0}” – uključujući tekst, prijelome redaka i kodiranje!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Da</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Sve promjene poništiti?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Odustani</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Spremiti datoteku „{0}”?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Spremi</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Nemoj spremiti</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Spremiti promjene?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zatvori</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zatvori druge</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zatvori prema desno</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zatvori spremljene</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kopiraj cijelu stazu</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Otvori mapu</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kopiraj</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Izreži</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Umetni</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Uklj/isklj pretprikaz</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Ponovi</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Označi sve</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Dijeli</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Dijeli označeno</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Poništi</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Prelomi riječi</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Bezimeno.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Redak {0}, Znak {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Redak {0}, Znak {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Pretprikaz promjena</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Poništi sve promjene</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Promijenjeno</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Kopirano</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Spremljeno</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Prekini cjeloekranski prikaz s tipkom F11</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Ponovo učitaj datoteku s diska</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Datoteka je promijenjena izvan Notepads programa!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Datoteka je premještena, preimenovana ili isbrisana!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Datoteka je ponovo učitana</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Kompaktni prikaz</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Cjeloekranski prikaz</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Prekini kompaktni prikaz</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Prekini cjeloekranski prikaz</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>označeno</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>označeno</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Premjesti karticu ovamo</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Otvori s Notepads</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Ovo je Notepads kopija. Snimke sesije i postavke su deaktivirane.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>Datoteka je već otvorena!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Novi prozor</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Otvara novi prozor</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Novi prozor</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Otvori nedavne</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Idi na redak</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>Broj retka je veći od ukupnog broja redaka!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Smiješ upisati samo broj!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Idi na redak</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Traži na webu</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Obnovi standardno zumiranje</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Uvećaj</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Umanji</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Idi na:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Ispiši sve …</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Dozvoljeno je samo jedno decimalno mjesto</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Vrijednost je izvan raspona</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Podnožje</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Zaglavlje</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Vodoravna margina (u %)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>U % širine papira</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Greška pri ipsisu:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Neuspio ispis</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>Ovaj uređaj ne podržava ispisivanje</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Okomita margina (u %)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Koristi regularne izraze</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Isprazni popis nedavno otvorenih</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Daljnja kodiranja</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Ponovo otvori s kodiranjem</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Spremi s kodiranjem</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Nevaljan regularni izraz!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Automatski pogodi kodiranje</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>Kodiranje se ne može odrediti</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Pronađi prethodno (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Uklj/isklj modus zamjene</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Smjer čitanja zdesna nalijevo</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Italic</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Oblique</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Black</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Bold</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra Black</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra Bold</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra Light</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Light</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Medium</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi Bold</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi Light</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Thin</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Poništi</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Spremi</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Preimenuj</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>Ime datoteke ne smije sadržavati nevažeće znakove</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>Ime datoteke ne smije sadržavati početne razmake</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>Ime datoteke ne smije sadržavati završne razmake</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>Ime datoteke ne smije biti prazno niti sadržavati samo praznine</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>Ime datoteke je nevažeće ili nije dopušteno</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>Ime datoteke ne smije biti dulje od 255 znakova</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Preimenovati</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Preimenovan</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Prazna ekstenzija datoteke trenutno nije podržana</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>Ekstenzija datoteke \"{0}\" trenutno nije podržana</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Zatvori</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Nije uspjelo vraćanje podataka iz zadnje sesije zbog oštećenih podataka. Molimo vas da sigurnosno kopirate sve vaše nespremljene datoteke (*.txt) u mapi sesije.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Otvori mapu sigurnosne kopije sesije</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Upozorenje</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/hr-HR/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Ovisnosti i reference</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>SOFTVER SE NUDI „TAKAV KAKAV JE”, BEZ JAMSTVA BILO KOJE VRSTE, EXPLICITNOG ILI IMPLICITNOG, UKLJUČUJUĆI, ALI NE OGRANIČAVAJUĆI SE NA JAMSTVO MOGUĆNOSTI PRODAJE, PRIMJENU ZA ODREĐENU SVRHU, KRŠENJA NEČIJIH PRAVA. NI U KOM SLUČAJU AUTORI ILI VLASNICI AUTORSKIH PRAVA NEĆE BITI ODGOVORNI ZA BILO KAKVA OŠTEĆENJA ILI NEDOSTATKE BILO KOJE VRSTE, DA LI ZBOG UGOVORA ILI NA NEKI DRUGI NAČIN, KOJA SU NASTALA IZ, KROZ ILI U VEZI SA SOFTVEROM ILI UPOTREBOM SOFTVERA.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Izjava o odgovornosti</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Besplatan uređivač teksta otvorenog koda izradio je i implementirao Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Kontaktiranje autora:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Za prijavu grešaka ili prijedloge za nove funkcije:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Izvorni kod je dostupan na Githubu:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>Daljnje informacije se nalaze na našoj web-stranici:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Izjava o privatnosti</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Informacije</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Prikaži traku stanja</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Prikaži traku stanja</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Postavke za traku stanja</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Napredno</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Boja isticanja</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Koristi boju isticanja Windowsa</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Koristi boju isticanja Windowsa</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Akrilna neprozirnost boje pozadine. Akrilni efekt će se deaktivirati kad se uključi štednja baterije ili ako se isključi efekt prozirnosti u postavkama Windows sustava.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Neprozirnost boje pozadine</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Tamni</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Svjetli</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Modus teme</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Koristi modus Windowsa</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Postavke</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (kodna stranica za Windows)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Rezervno dekodiranje se koristi, ako se kodiranje datoteke ne može prepoznati.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Rezervno dekodiranje</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Vrijedi samo za nove dokumente.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standardno kodiranje</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standardni font i veličina</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Vrijedi samo za nove dokumente.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standardni kraj retka</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Standardno (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Postavke za tipku tabulatora vrijede samo za novo utipkane tabulatore.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 razmaka</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 razmaka</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Ponašanje tabulatora</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 razmaka</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Prijelom teksta</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Prelomi riječi</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Prelomi riječi</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Tekst i uređivanje</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Zapis promjena</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Kad je aktivirano, Notepads će pamtiti trenutačnu sesiju za sljedeće pokretanje i redovito spremati sigurnosne kopije snimaka sesija, kako bi se spriječio slučajni gubitak podataka zbog nespremljenih promjena. Notepads te NEĆE podsjetiti da spremiš svoj rad kad se program zatvara, ako je ova funkcija aktivirana. Misli na to, da snimka sesije radi samo u prvom ili glavnom prozoru programa.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Aktiviraj snimke sesije</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Aktiviraj snimke sesije</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Postavke za snimke sesije</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Istakni pravopisne greške</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Istakni pravopisne greške</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Pravopis</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Kad je aktivirano, Notepads će uvijek otvoriti novi prozor umjesto nove kartice.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Uvijek otvori novi prozor</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Uvijek otvori novi prozor</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Postavke za pokretanje</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Istakni trenutačni redak</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Istakni trenutačni redak</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Prilagođena tražilica</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*Upiši URL u formatu https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Postavke za standardnu tražilicu za web-pretragu.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standardna tražilica</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Automatski pogodi kodiranje (preporučeno)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Display</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Prikaz brojeva redaka u dokumentu.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Prikaz brojeva redaka</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Prikaz brojeva redaka</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Zadani stil fonta</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Zadana težina fonta</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Odaberite prilagođeni jezik kako biste zamijenili zadani jezik sustava koji se koristi u Notepads. Potreban je ponovni pokretanje kako bi se promjene dovršile.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Ponovno pokrenite Notepads kako biste dovršili promjene.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Postavke jezika</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Jednom omogućeno, Notepads će pametno skraćivati početne i završne razmake, tabulatore i prazne retke prije kopiranja odabranog teksta u međuspremnik.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Omogući Pametno Kopiranje</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Omogući Pametno Kopiranje</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Postavke Pametnog Kopiranja</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>Zadani sustav</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Izađi iz aplikacije pri zatvaranju posljednjeg taba</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Izađi iz aplikacije pri zatvaranju posljednjeg taba</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/hu-HU/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub Haladó Felirat Fájl</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Assembly Language Fájl</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP Fájl</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>AutoHotkey Szkript Fájl</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Aliases File</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Előzmény Fájl</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Login Fájl</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Logout Fájl</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Profile Fájl</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Szkript Fájl</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX Fájl</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond Fájl</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Build Path Fájl</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C Fájl</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI Fájl</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure Fájl</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake Fájl</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript Fájl</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vesszővel elválasztott szöveges fájl</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Konfiguráció Beállítások</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++ Fájl</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Fájl</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS Fájl</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT Fájl</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff Fájl</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker Fájl</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild Fájl</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F# Fájl</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Attribútúmok Fájl</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Konfig Fájl</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Ignore Fájl</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP Fájl</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go Fájl</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy Fájl</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars Fájl</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Header Fájl</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HLSL Fájl</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML Fájl</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hypertext Access Fájl</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Inicializáló Fájl</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Install Fájl</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java Fájl</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Javascript Fájl</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON Fájl</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP Fájl</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less Fájl</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Log Fájl</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Lyrics Fájl</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA Fájl</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map Fájl</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown Dokumentációs Fájl</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO Fájl</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NPM Konfig Fájl</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 Fájl</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl Fájl</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP Fájl</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod Fájl</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell Fájl</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profile Fájl</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Projekt Fájl</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug Fájl</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python Fájl</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor Fájl</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R Fájl</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby Fájl</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Parancs Futtató Fájl</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust Fájl</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader Fájl</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shell Szkript Fájl</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL Fájl</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Sub Station Alpha Felirat Fájl</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Felirat Fájl</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift Fájl</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Szöveges Dokumentum</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T Fájl</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript Fájl</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User Fájl</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Verilog File</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Visual Basic Fájl</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue Konfig Fájl</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue Fájl</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML Fájl</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML Fájl</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML Fájl</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell Konfig Fájl</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell Előzmény Fájl</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U Fájl</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat Kódfájl</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Projekt Fájl</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Environment Fájl</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL Fájl</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>License Fájl</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT Fájl</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property List Beállításfájl</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD Fájl</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Resource Fájl</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML Fájl</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL Fájl</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/hu-HU/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Mégse</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Önnek nem mentett módosításai vannak.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Mentés &amp; Kilépés</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Elvetés &amp; Kilépés</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>El akarod menteni a módosításokat?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Nincs mit megosztani mert nincs szöveg kijelölve és a dokumentum üres.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Módosítások után</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Módosítások elött</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>A Notepads nem támogatja az 1MB-nál nagyobb fájlokat jelenleg.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Sajnos a(z) \"{0}\" nem nyitható meg: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Fájl Megnyitási Hiba</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Sajnos a fájl \"{0}\" nem menthető el: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Fájl Mentési Hiba</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Bezárás</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Keresendő</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Nem Található</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Összes Cseréje (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Csere</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Csere (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Következő Keresése (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Keresési Beállítások</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Kis- és nagybetűk megkülönböztetése</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Teljes szó megkülönböztetése</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Keresés...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Új</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Megnyitás...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Nyomtatás...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Csere...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Mentés</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Összes Mentése</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Mentés Másként...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Beállítások</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Mégse</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>Minden szöveg, sor végződés és kódolás-i módosítás \"{0}\"-ről vissza lesz vonva!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Igen</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Biztosan visszavonja az összes módosítást?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Mégse</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Elmenti a(z) \"{0}\" fájlt?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Mentés</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ne Mentsen</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>El szeretné menteni a módosításokat?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Bezárás</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Többi Bezárása</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Jobbra lévők Bezárása</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Elmentettek Bezárása</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Teljes Útvonal Másolása</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Tartalmazó Mappa Megnyitása</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Másolás</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kivágás</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Beillesztés</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Előnézet Kapcsolása</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Mégis</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Összes Kijelölése</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Megosztás</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kijelölt Megosztása</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Visszavonás</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Sorok Tördelése</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Névtelen.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>{0}. sor, {1}. oszlop ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>{0}. sor, {1}. oszlop</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Szövegváltozások előnézete</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Összes módosítás visszavonása</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Módosított</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Másolva</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Elmentve</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Teljes képernyős módból való kilépéshez nyomja meg az F11-et</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Fájl újratöltése a lemezről</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Fájl módosítva lett kívülről!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Fájl áthelyezve, átnevezve vagy törölve!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Fájl újratöltve</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Kompakt Átfedés</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Teljes Képernyő</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Kilépés Átfedésből</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Kilépés Teljes Képernyőből</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>Kiválasztva</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>Kiválasztva</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Fül mozgatása ide</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Megnyitás Notepads-el</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Ez egy árnyék ablaka a Notepads-nek. Munkamenet mentés és beállítások le vannak tiltva.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>Fájl már meg van nyitva!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Megnyit egy új ablakot</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Új Ablak</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Új Ablak</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Legutóbbi Megnyitása</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Ugrás Sorhoz</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Ugrás:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>Sorszám meghaladja az összes sor számát!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Csak számot írhat be!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Ugrás Sorhoz</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Keresés a weben</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Nagyítás Visszaállítása</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Nagyítás</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Kicsinyítés</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Reguláris Kifejezés Használata</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Összes Nyomtatása...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Csak egy tizedesjegyig fogadható el</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Érték a tartományon kívül</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Lábléc</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Fejléc</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Vízszintes Margó (%-ban)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>Papír Szélesség (%-ban)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Nyomtatási hiba:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Nyomtatás sikertelen</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>Nyomtatás nem támogatott ezen az eszközön</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Függőleges Margó (%-ban)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Legutóbb Megnyitottak Törlése</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Több Kódolás</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Újranyitás adott kódolással</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Kitalálva a tartalomból</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Hibás általános kifejezés!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Autómatikus Kódolás Kitalálás</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>Kódolást nem lehet meghatározni</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Előző Keresése (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Csere Mód Kapcsolása</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Jobbról-Balra Olvasási Irány</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Dőlt</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Normál</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Ferde</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Vastag</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Kövér</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra Vastag</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra Kövér</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra Vékony</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Vékony</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Közepes</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normál</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Félkövér</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Félvékony</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Kicsi</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Törlés</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Mentés</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Átnevezés</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>A fájl neve nem tartalmazhat érvénytelen karaktereket</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>A fájl neve nem tartalmazhat szóközöket</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>A fájl neve nem tartalmazhat szóközöket</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>A fájl neve nem lehet üres, és nem tartalmazhat csak szóközöket</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>A fájl neve érvénytelen vagy nem engedélyezett</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>A fájl neve nem lehet 255 karakternél hosszabb</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Átnevezés</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Átnevezve</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Fájformátum nélküli fájlok jelenleg nem engedélyezettek</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>A(z) \"{0}\" fájlkiterjesztés jelenleg nem támogatott</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Bezárás</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Nem sikerült visszaállítani az adatokat az utolsó munkamenetből a sérült adatok miatt. Kérjük, készítsen biztonsági másolatot az összes nem mentett fájlról (*.txt) a munkamenet mappájában.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Nyissa meg a munkamenet biztonsági mentésének mappáját</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Figyelmeztetés</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/hu-HU/Settings.resw",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Függőségek és Hivatkozások</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Nyilatkozat</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Ingyenes és nyílt forráskódú szövegszerkesztő tervezve és létrehozva Jackie (Jiaqi) Liu által</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>A készítőkkel való kapcsolatba lépéshez:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Probléma jelentések és funkció kérelmekhez:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>A forráskód elérhető GitHub-on:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>További információért, látogassa meg a weboldalunkat:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Adatvédelmi Nyilatkozat</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Névjegy</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Állapotsor mutatása</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Állapotsor mutatása</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Állapotsor Beállítások</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Haladó</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Témaszín</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Használja a Windows téma színét</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Használja a Windows téma színét</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Akril háttér homályosság. Az Akril effekt ki lesz kapcsolva ha az energiatakarékos mód be van kapcsolva vagy kikapcsoltad az átlátszósági effekteket a Windows beállításaiban.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Háttér homályosság</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Sötét</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Világos</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Téma</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Rendszerbeállítás használata</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Testreszabás</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Windows kódlap)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Visszaeső dekódolás lesz használva ha a fájl kódolása nem felismerhető.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Visszaeső Dekódolás</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Csak új dokumentumokra alkalmazva.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Alapértelmezett Kódolás</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Alapértelmezett Szövegtipus &amp; Méret</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Csak új dokumentumokra alkalmazva.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Alapértelmezett Sor Végződés</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Alapértelmezett (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Tabulátor viselkedés csak a felhasználó által beillesztett új tabulátorokra lesz alkalmazva.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 Szóköz</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 Szóköz</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tabulátor Viselkedés</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 Szóköz</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Szövegtördelés</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Sortörés</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Sortörés</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Szöveg &amp; Szerkesztő</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Változások</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>A Notepads emlékezni fog a jelenlegi munkamenetre a következő indításkor, és időközönként készít biztonsági mentést az esetleges adatvesztés elkerülése érdekében. Notepads NEM fog emlékeztetni hogy mentsd el a munkádat az alkalmazás bezárásakor, ha ez az opció be van kapcsolva. A munkamenet mentés csak az első vagy fő Notepads ablakban működik.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Munkamenet mentés és visszaállítás bekapcsolása</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Munkamenet mentés és visszaállítás bekapcsolása</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Munkamenet Mentési Beállítások</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Elgépelt szavak kiemelése</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Elgépelt szavak kiemelése</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Helyesírás</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Ha engedélyezve van, Notepads a fájlokat mindig új ablakban fogja megnyitni ahelyett hogy új fület nyitna.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Mindig nyisson új ablakot</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Mindig nyisson új ablakot</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Indítási Beállítások</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Aktuális sor kiemelése</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Aktuális sor kiemelése</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Egyéni Keresőmotor</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*Írja be az url-t a következő formátumban https://www.pelda.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Beállítások az alapértelmezett keresőmotorhoz ami a weben való kereséskor lesz használva.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Alapértelmezett Keresőmotor</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Autómatikus kódolás kitalálás (Ajánlott)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Megjelenítés</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Sorszámok mutatása a dokumentumban.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Sorszámok mutatása</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Sorszámok mutatása</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Alapértelmezett formázás</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Alapértelmezett kiemelés</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Válasszon egy nyelvet hogy megváltoztassa az alapértelmezett nyelvet. Újraindítás szükséges.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Újraindítás szükséges.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Nyelvi preferenciák</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Bekapcsolva a Notepads kiszedi a felesleges szóközöket, tabokat és az üres  sorokat, majd vágolapra másolja.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Okos másolás</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Okosmásolás</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Okosmásolás Beállítások</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>Rendszer alapértelmezett</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Kilépés az alkalmazásból az utolsó fül bezárásakor</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Kilépés az alkalmazásból az utolsó fül bezárásakor</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/it-IT/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub Advanced Subtitle File</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Assembly Language File</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP File</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>AutoHotkey Script File</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Aliases File</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash History File</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Login File</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Logout File</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Profile File</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Script File</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX File</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond File</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Build Path File</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C File</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI File</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure File</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake File</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript File</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Comma Separated Values File</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuration Settings</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++ File</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# File</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS File</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT File</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff File</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker File</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild File</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F# File</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Attributes File</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Config File</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Ignore File</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP File</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go File</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy File</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars File</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Header File</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HLSL File</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML File</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hypertext Access File</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Initialization File</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Install File</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java File</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Javascript File</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON File</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP File</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less File</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Log File</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Lyrics File</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA File</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map File</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown File</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO File</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NPM Config File</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 File</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl File</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP File</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod File</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell File</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profile File</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Project File</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug File</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python File</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor File</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R File</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby File</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Run Commands File</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust File</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader File</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shell Script File</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL File</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Sub Station Alpha Subtitle File</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Subtitle File</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift File</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T File</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript File</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User File</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Verilog File</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Visual Basic File</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue Config File</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue File</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML File</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML File</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML File</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell Config File</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell History File</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U File</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat File</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Project File</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Environment File</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL File</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>License File</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT File</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property List File</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD File</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Resource File</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML File</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL File</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/it-IT/Resources.resw",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Annulla</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Ci sono modifiche non salvate.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Salva ed esci</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Non salvare ed esci</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Salvare le modifiche?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Nessun elemento da condividere perché non ci sono testi selezionati ed il documento attuale è vuoto.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Dopo le modifiche</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Prima delle modifiche</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads non supporta file di dimensioni superiori ad 1MB attualmente.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Spiacenti, il file \"{0}\" non può essere aperto: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>OK</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Errore nell'apertura del file</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Spiacenti, il file \"{0}\" non può essere salvato: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>OK</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Errore nel salvataggio del file</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Chiudi</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Trova</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Non trovato</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Sostituisci tutto (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Sostituisci</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Sostituisci (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Trova successivo (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Opzioni di ricerca</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Maiuscole/minuscole</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Confronta parola intera</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Trova...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Nuova scheda</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Apri...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Stampa...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Sostituisci...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Salva</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Salva tutto</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Salva come...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Impostazioni</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>No</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>Tutte le modifiche inclusi testi, ritorni a capo e codifica apportate a \"{0}\" verranno annullate!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Si</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Annullare tutte le modifiche?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Annulla</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Salvare il file \"{0}\"?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Salva</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Non salvare</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Salvare le modifiche?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Chiudi</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Chiudi le altre schede</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Chiudi le schede a destra</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Chiudi le schede salvate</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Copia percorso completo</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Mostra nella cartella</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Copia</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Taglia</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Incolla</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Anteprima</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Ripeti</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Seleziona tutto</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Condividi</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Condividi selezione</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Annulla</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>A capo automatico</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Senza titolo.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Riga {0}, Colonna {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Riga {0}, Colonna {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Visualizza le modifiche</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Annulla tutte le modifiche</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Modificato</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Copiato</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Salvato</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Premere F11 per uscire da schermo intero</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Aggiorna il file dal disco</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>File è stato modificato di fuori!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>File è stato spostato, rinominato o eliminato!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>File ricaricato</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Overlay compatto</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Schermo intero</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Esci da Overlay compatto</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Esci da Schermo intero</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>selezionato</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>selezionato</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Sposta scheda qui</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Apri con Notepads</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Questa è una finestra secondaria di Notepads. Lo snapshot della sessione e le impostazioni sono disattivate.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>File già aperto!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Apre una nuova finestra</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Nuova finestra</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Nuova finestra</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Apri recenti</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Vai alla riga</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Vai a:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>Il numero di riga indicato supera il totale delle righe!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Sono accettati solo i numeri!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Vai alla riga</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Cerca nel web</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Ripristina zoom predefinito</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Ingrandisci</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Riduci</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Usa regular expression</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Stampa tutto...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Accetta numeri fino ad un solo decimale</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Valore fuori scala</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Piè di pagina</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Intestazione</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Margine orizzontale (in %)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>In % della larghezza della pagina</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Errore di stampa:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Stampa fallita</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>Stampa non supportata dal dispositivo</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Margine verticale (in %)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Svuota aperti di recente</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Codifiche aggiuntive</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Riapri con codifica</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Salva con codifica</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Regular expression non valida!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Autorilevamento della codifica</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>La codifica no può essere determinata</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Trova precedente (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Attiva modalità di sostituzione</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Ordine di lettura da destra a sinistra</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Corsivo</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Normale</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Obliquo</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Marcato</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Grassetto</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Marcato extra</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Grassetto extra</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra chiaro</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Chiaro</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Medio</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normale</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Mezzo grassetto</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Mezzo chiaro</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Sottile</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Annulla</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Salva</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Rinomina</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>Il nome del file non deve contenere carratteri non validi</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>Il nome del file non deve conteneri spazi all'inizio</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>Il nome del file non deve contenere spazi alla fines</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>Il nonme del file no può essere vuoto o contenere solamente spazi</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>Nome del file non valido o non permesso</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>Il nome del file non può superare i 255 caratteri</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Rinomina</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Rinominato</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Estensione del file vuota non supportata al momento</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>Estensione del file \"{0}\" non supportata al momento</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Chiudi</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Impossibile recuperare i dati dall'ultima sessione a causa di dati corrotti. Si prega di effettuare il backup di tutti i file non salvati (*.txt) nella cartella della sessione.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Apri la cartella di backup della sessione</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Avviso</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/it-IT/Settings.resw",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Dipendenze e Riferimenti</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>IL SOFTWARE VIENE FORNITO \"COSÌ COM'È\", SENZA GARANZIE DI ALCUN TIPO, ESPLICITE O IMPLICITE, IVI INCLUSE, IN VIA ESEMPLIFICATIVA, LE GARANZIE DI COMMERCIABILITÀ, IDONEITÀ A UN FINE PARTICOLARE E NON VIOLAZIONE DEI DIRITTI ALTRUI. IN NESSUN CASO GLI AUTORI O I TITOLARI DEL COPYRIGHT SARANNO RESPONSABILI PER QUALSIASI RECLAMO, DANNO O ALTRO TIPO DI RESPONSABILITÀ, A SEGUITO DI AZIONE CONTRATTUALE, ILLECITO O ALTRO, DERIVANTE DA O IN CONNESSIONE AL SOFTWARE, AL SUO UTILIZZO O AD ALTRE OPERAZIONI CON LO STESSO.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Dichiarazione di non responsabilità</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Editor di testo gratuito e open source progettato e realizzato da Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Per contattare gli autori:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Per segnalare problemi e suggerire miglioramenti:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Il codice sorgente è disponibile su Github:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>Per maggiori informazioni, visita il nostro sito Web:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Informativa sulla Privacy</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Informazioni</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Visualizza barra di stato</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Visualizza barra di stato</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Barra di stato</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Avanzate</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Colore principale</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Usa il colore di Windows</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Usa il colore di Windows</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Regola l'opacità dello sfondo dell'app.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Opacità dello sfondo</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Scuro</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Chiaro</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tema</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Predefinito di Sistema</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Aspetto</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (tabella codici di Windows)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>La decodifica secondaria verrà utilizzata nel caso la codifica principale non fosse riconosciuta.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Decodifica secondaria</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Si applica solo ai nuovi documenti.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Codifica predefinita</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Carattere e dimensione</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Si applica solo ai nuovi documenti.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Fine riga predefinito</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Predefinito (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Modifica il comportamento del tasto TAB. Valido solo per le nuove schede inserite dall'utente.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 Spazi</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 Spazi</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Comportamento del tasto TAB</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 Spazi</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Formato</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>A capo automatico</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>A capo automatico</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Generali</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Registro modifiche</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Consente di memorizzare la sessione corrente per il prossimo avvio ed eseguire periodicamente un backup dei file aperti per prevenire la perdita accidentale di dati in caso di modifiche non salvate.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Backup della sessione</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Backup della sessione</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Backup</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Evidenzia parole con errori ortografici</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Evidenzia parole con errori ortografici</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Controllo ortografico</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Consente di aprire i file in una nuova finestra anziché in una nuova scheda.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Apri file in una nuova finestra</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Apri file in una nuova finestra</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Gestione file</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Evidenzia riga corrente</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Evidenzia riga corrente</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Personalizzato</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>Inserisci url nel formato https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Motore di ricerca predefinito per quando si effettua una ricerca nel web.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Motore di ricerca predefinito</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Codifica autodeterminata (consigliata)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Righe</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Mostra il numero di righe nel documento.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Conteggio righe</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Conteggio righe</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Stile carattere</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Spessore carattere</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Cambia la lingua dell'app (richiede il riavvio).</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>Riavvio necessario per applicare le modifiche.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Lingua</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Consente di eliminare autonomamente tutti gli spazi, le tabulazioni e le righe inutili prima di copiare un qualsiasi testo selezionato.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Attiva Copia Intelligente</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Attiva Copia Intelligente</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Copia Intelligente</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>Predefinita di sistema</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Esci dall'applicazione alla chiusura dell'ultima scheda</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Esci dall'applicazione alla chiusura dell'ultima scheda</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/ja-JP/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub Advanced Subtitle File</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Assembly Language File</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP File</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>AutoHotkey Script File</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Aliases File</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash History File</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Login File</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Logout File</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Profile File</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Script File</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX File</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond File</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Build Path File</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C File</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI File</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure File</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake File</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript File</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Comma Separated Values File</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuration Settings</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++ File</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# File</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS File</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT File</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff File</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker File</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild File</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F# File</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Attributes File</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Config File</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Ignore File</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP File</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go File</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy File</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars File</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Header File</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HLSL File</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML File</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hypertext Access File</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Initialization File</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Install File</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java File</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Javascript File</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON File</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP File</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less File</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Log File</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Lyrics File</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA File</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map File</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown File</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO File</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NPM Config File</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 File</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl File</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP File</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod File</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell File</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profile File</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Project File</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug File</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python File</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor File</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R File</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby File</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Run Commands File</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust File</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader File</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shell Script File</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL File</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Sub Station Alpha Subtitle File</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Subtitle File</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift File</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T File</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript File</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User File</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Verilog File</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Visual Basic File</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue Config File</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue File</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML File</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML File</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML File</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell Config File</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell History File</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U File</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat File</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Project File</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Environment File</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL File</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>License File</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT File</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property List File</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD File</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Resource File</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML File</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL File</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/ja-JP/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>キャンセル</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>保存していない変更があります。</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>全て保存して終了</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>破棄して終了</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>変更内容を保存しますか？</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>テキストが選択されていないか、または文書が空のため共有する物がありません。</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>変更後</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>変更前</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads は現時点では1MBを超えるファイルをサポートしていません。</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>ファイル \"{0}\" を開けませんでした: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>ファイルオープンエラー</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>ファイル \"{0}\" を保存できませんでした: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>ファイル保存エラー</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>閉じる</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>検索</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>見つかりません</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>全て置換 (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>置換</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>置換 (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>次を検索 (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>検索オプション</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>大文字と小文字を区別する</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>単語単位</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>検索...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>新規作成</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>開く...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>印刷...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>置換...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>保存</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>全て保存</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>名前を付けて保存...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>設定</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>キャンセル</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>ファイル \"{0}\" に加えられた全ての文章・行末・エンコーディングの変更は元に戻ります!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>はい</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>本当に全ての変更を元に戻しますか？</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>キャンセル</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>ファイル\"{0}\"に保存しますか？</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>保存</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>保存しない</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>変更を保存しますか？</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>閉じる</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>他を閉じる</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>右側を閉じる</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>保存済みを閉じる</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ファイルの場所をコピー</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>保存フォルダーを開く</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>コピー</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>切り取り</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>貼り付け</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>プレビューの切り替え</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>やり直し</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>全て選択</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>共有</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>選択部分を共有</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>元に戻す</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>右端で折り返す</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>無題.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>{0} 行, {1} 列 ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>{0} 行, {1} 列</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>文書の変更をプレビュー</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>全ての変更を元に戻す</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>変更済み</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>コピーしました</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>保存しました</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>全画面表示を終了するには F11 キーを押してください</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>ファイルをディスクから再読み込み</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>ファイルは外部で変更されました！</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>ファイルは移動、名称変更、または削除されました！</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>ファイルを再読み込みしました</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>コンパクト オーバーレイ</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>全画面表示</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>コンパクト オーバーレイを終了</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>全画面表示を終了</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>文字選択済み</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>文字選択済み</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>タブをここに移動</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Notepads で開く</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>これはシャドウ ウィンドウ（2番目以降のウィンドウ）です。セッション スナップショットと設定は無効になっています。</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>ファイルは既に開いています！</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>新規ウィンドウで開く</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>新規ウィンドウ</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>新規ウィンドウ</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>最近開いたファイル</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>指定行へ移動</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>行番号:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>行番号が行数を超えてます</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>数字のみ入力できます</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>指定行へ移動</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ウェブ検索</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>拡大率を戻す</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>拡大</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>縮小</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>正規表現を使う</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>すべて印刷...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>小数点以下は1桁まで</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>範囲外</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>フッター</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>ヘッダー</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>左右の余白(単位：％)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>用紙サイズの比率</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>印刷エラー:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>印刷に失敗しました</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>このデバイスでは印刷はサポートされていません</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>上下の余白(単位：％)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>履歴をクリア</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>他のエンコード</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>エンコード付きで再度開く</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>エンコード付きで保存</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>無効な正規表現！</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>自動検出</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>エンコードが判別できません</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>前を検索 (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>置換モードの切り替え</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>右から左へ書く</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>イタリック体</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>標準</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>斜体</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Black</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Bold</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra Black</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra Bold</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra Light</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Light</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Medium</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi Bold</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi Light</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Thin</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>キャンセル</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>保存</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>名前の変更</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>ファイル名には無効な文字を含めないでください</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>ファイル名には先頭の空白を含めないでください</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>ファイル名には末尾の空白を含めないでください</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>ファイル名は空であってはならず、すべて空白であってもいけません</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>ファイル名が無効または許可されていません</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>ファイル名は255文字を超えてはいけません</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>名前の変更</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>名前を変更しました</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>現時点では空のファイル拡張子はサポートされていません</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>現時点ではファイル拡張子 \"{0}\" はサポートされていません</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>閉じる</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>破損したデータのため、最後のセッションからデータを回復できませんでした。セッションフォルダ内のすべての未保存ファイル（*.txt）をバックアップしてください。</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>セッションバックアップフォルダを開く</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>警告</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/ja-JP/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>使用・参照しているモジュール</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>免責事項</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Jackie (Jiaqi) Liu がデザインと実装した、フリーなオープンソース テキストエディター</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>作者の連絡先:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>問題の報告と機能追加依頼の連絡先:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>ソースコードはGithub にあります:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>詳しくは公式サイトをご覧ください:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>プライバシーについて</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>このアプリについて</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>ステータス バーを表示する</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>ステータス バーを表示する</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ステータス バー</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>詳細設定</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>アクセント カラー</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Windows のアクセント カラーを使う</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Windows のアクセント カラーを使う</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>アクリル背景の不透明度です。バッテリーセーバーモードがオンになっている場合や、Windowsの設定で透過効果をオフにしている場合は、アクリル効果が無効になるので注意してください。</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>背景色の不透明度</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>黒</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>白</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>テーマ</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Windows の設定を使う</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>個人用設定</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Windows コードページ)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>フォールバック設定は、ファイルのエンコードを認識できない場合に使用されます。</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>フォールバック設定</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>新規文書にのみ適用されます。</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>既定のエンコード</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>既定のフォントとサイズ</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>新規文書にのみ適用されます。</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>既定の行末</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>タブ文字 (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>ここで設定するタブ キーの挙動は、新規に入力されたタブにのみ適用されます。</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>半角スペース 8文字</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>半角スペース 4文字</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>タブ キーの挙動</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>半角スペース 2文字</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>文字の折り返し</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>単語で折り返す</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>単語で折り返す</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>テキストとエディター</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>変更履歴</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Notepads は次回起動時に備えて現在の状態を保存し、また定期的に内容をバックアップして明示的にファイルに保存されていないデータの消失を防ぎます。この機能を使用する場合、Notepads はアプリ終了時にファイル保存の警告を行いません。またこの機能はアプリの最初のウィンドウのみで動作し、シャドウ ウィンドウ（2番目以降のウィンドウ）では使用できません。</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>セッション スナップショットを使用する</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>セッション スナップショットを使用する</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>セッション スナップショット設定</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>スペルミスした単語をハイライト</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>スペルミスした単語をハイライト</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>スペルチェック</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>有効にすると、Notepads は新しいタブを作らず、常に新しいウィンドウでファイルを開くようになります。</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>常に新しいウィンドウで開く</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>常に新しいウィンドウで開く</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>起動時の設定</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>現在行をハイライト</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>現在行をハイライト</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>既定の検索エンジン</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>※https://www.example.com/search?q={0} という形式のURLを入力してください</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>ウェブ検索時に使用される既定の検索エンジンの設定です。</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>既定の検索エンジン</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>自動検出 (推奨)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>表示</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>文書内の行番号を表示します。</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>行番号を表示</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>行番号を表示</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>既定のフォント スタイル</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>既定のフォント ウェイト</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Notepads が使用する言語（システム既定）を上書きするには、カスタム言語を選択してください。変更を反映するには再起動が必要です。</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>※変更を反映するには、Notepadsを再起動してください。</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>言語設定</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>有効にすると、Notepads は選択したテキストをクリップボードにコピーする前に、先頭や末尾のスペース、タブ、空行などをスマートにトリミングします。</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>スマート コピーを有効にする</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>スマート コピーを有効にする</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>スマート コピー設定</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>システム既定</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>最後のタブを閉じる時にアプリを終了する</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>最後のタブを閉じる時にアプリを終了する</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/ka-GE/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub Advanced Subtitle File</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Assembly Language File</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP File</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>AutoHotkey Script File</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Aliases File</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash History File</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Login File</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Logout File</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Profile File</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Script File</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX File</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond File</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Build Path File</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C File</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI File</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure File</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake File</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript File</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Comma Separated Values File</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuration Settings</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++ File</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# File</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS File</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT File</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff File</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker File</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild File</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F# File</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Attributes File</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Config File</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Ignore File</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP File</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go File</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy File</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars File</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Header File</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HLSL File</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML File</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hypertext Access File</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Initialization File</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Install File</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java File</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Javascript File</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON File</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP File</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less File</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Log File</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Lyrics File</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA File</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map File</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown File</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO File</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NPM Config File</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 File</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl File</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP File</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod File</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell File</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profile File</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Project File</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug File</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python File</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor File</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R File</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby File</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Run Commands File</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust File</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader File</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shell Script File</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL File</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Sub Station Alpha Subtitle File</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Subtitle File</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift File</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T File</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript File</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User File</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Verilog File</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Visual Basic File</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue Config File</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue File</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML File</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML File</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML File</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell Config File</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell History File</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U File</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat File</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Project File</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Environment File</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL File</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>License File</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT File</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property List File</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD File</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Resource File</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML File</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL File</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/ka-GE/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>გაუქმება</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>ცვლილებები შენახული არ არის.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>შეინახე ყველაფერი &amp; გამოდი</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>არ შეინახო</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>გსურთ ცვლილებების შენახვა?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>არაფერია გასაზიარებელი, რადგან ტექსტი არ არის მონიშნული დამიმდინარე დოკუმენტი ცარიელია.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>თქვენი ცვლილებების შემდეგ</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>თქვენს ცვლილებებამდე</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads არ აქვს 1MB-ზე დიდი ფაილის მხარდაჭერა ამ დროისთვის.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>სამწუხაროდ ფაილი \"{0}\"-ის გახსნა შეუძლებელია: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>კარგი</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>ფაილის გახსნის შეცდომა</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>სამწუხაროდ ფაილი \"{0}\"-ის შენახვა შეუძლებელია: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>კარგი</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>ფაილის შენახვის შეცდომა</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>დახურვა</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>მოძებნე</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>ვერ მოიძებნა</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>ჩაანაცვლე ყველა (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>ჩაანაცვლე</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>ჩაანაცვლე (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>მოძებნე შემდეგი (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>ძებნის პარამეტრები</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>დამთხვევის შემთხვევა</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>მთლიანი სიტყვის დამთხვევა</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>ძებნა...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>ახალი</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>გახსნა...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>ბეჭდვა...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>ჩანაცვლება...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>შენახვა</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>ყველაფრის შენახვა</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>შენახვა როგორც...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>სეთინგები</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>შეწყვეტა</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>ყველა ცვლილება ტექსტის, ხაზის დაბოლოების და ენკოდინგის ჩათვლით გათებეული \"{0}\"-ს მიხედვით, იქნება უკუშექცეული!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>დიახ</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>ნამდვილად გსურთ ყველაფრის უკან დაბრუნება?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>შეწყვეტა</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>შეინახე ფაილი \"{0}\"?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>შეინახე</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>არ შეინახო</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>გსურთ თქვენი ფაილების შენახვა?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>დახურვა</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>დანარჩენების დახურვა</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>მარჯვნივ დახურვა</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>დახურე შენახული</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>სრული მისამართის კოპირება</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>გახსენი შემცვლელი ფოლდერი</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>კოპირება</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ამოჭრა</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ჩასმა</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>წინაჩვენებაზე გადართვა</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>დაბრუნების გაუქმება</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ყველაფრის მონიშვნა</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>გაზიარება</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>მონიშნულის გაზიარება</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>უკან დაბრუნება</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>სიტყვის შეფუთვა</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>უსახელო.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>ხაზი {0}, სვეტი {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>ხაზი {0}, სვეტი {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>ტექსტის ცვლილებების გადახედვა</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>დააბრუნე ყელა ცვლილება</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>გადაკეთებულია</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>დაკოპირებულია</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>შენახულია</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>დააჭირე F11-ს სრული ეკრანიდან გამოსასვლელად</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>გადატვირთე ფაილი დისკიდან</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>ფაილი შეიცვალა გარედან!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>ფაილი გადაადგილდა, სახელი შეეცვალა ან წაიშალა!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>ფაილი გადაიტვრითა</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>კომპაქტური ზედა ფენა</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>სრული ეკრანი</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>კომპაქტური ზედა ფენიდან გამოსვლა</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>სრული ეკრანიდან გამოსვლა</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>არჩეული</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>არჩეული</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>ტაბი მიიტანეთ აქ</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>გახსენი Notepads-ით</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>ეს არის Notepads-ის ჩრდილი ფანჯარა. სესიის ანაბეჭდი და სეთინგები არის გათიშული.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>ფაილი უკვე გახსნილია!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>ახალი ფანჯარა</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>ხსნის ახალ ფანჯარაში</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>ახალი ფანჯარა</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>გახსენი ბოლო</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>გადადი ხაზზე</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>ხაზის ნომერი აღემატება ხაზების ჯამურ რაოდენობას!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>მხოლოდ რიცვის ჩაწერა შეგიძლიათ!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>გადადი ხაზზე</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ვებში ძებნა</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>დააბრუნე საწყისი ზომა</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>მიახლოვება</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>დაშორება</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>გადადი:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>ამობეჭდე ყველაფერი...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>შესაძლებელია მხოლოდ ერთი ათელის მიღება</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>მნიშვნელობა რეინჯს სცდება</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>ფუთერი</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>ჰედერი</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>ჰორიზონტალური დაშორება (in %)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>%-ში გვერდის სიგანე</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>ერორი იბეჭდება:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>ბეჭდვა გაფეილდა</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>ბეჭდვა არ არის მხარდაჭერილი ამ მოწყობილობაზე</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>ვერტიკალური დაშორება (%-ში)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>გამოიყენე ჩვეულებრივი გამოსახულება</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>გაასუფთავე ბოლოს გახსნილი</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>დანარჩენი კოდირება</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>გახსენი კოდირებით</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>შეინახე კოდირებით</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>არასწორი რეგულარული გამოსახულება!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>ავტომატურად მიხვდი კოდირებას</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>კოდირების განსაზღვრა შეუძლებელია</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>იპოვნე წინა (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>გადართე გადაწერის რეჟიმზე</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>მარჯვნიდან მარცხნივ კითხვა</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Italic</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Oblique</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Black</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Bold</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra Black</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra Bold</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra Light</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Light</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Medium</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi Bold</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi Light</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Thin</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>გაუქმება</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>გაუქმება</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>გადარქმევა</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>ფაილის სახელი არ უნდა შეიცავდეს არასწორ სიმბოლოებს</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>ფაილის სახელი არ უნდა შეიცავდეს წინა ცარიელებებს</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>ფაილის სახელი არ უნდა შეიცავდეს უკანა ცარიელებებს</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>ფაილის სახელი არ უნდა იყოს ცარიელი ან მთლიანად ცარიელებით</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>ფაილის სახელი არასწორია ან არ არის დასაშვები</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>ფაილის სახელი არ უნდა იყოს 255 სიმბოლოზე გრძელი</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>გადარქმევა</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>გადარქმეულია</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>ცარიელი ფაილის გაფართოება ამ მომენტში არ მხარდაჭერია</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>ფაილის გაფართოება \"{0}\" ამ მომენტში არ მხარდაჭერია</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>დახურვა</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>ბოლო სესიიდან მონაცემთა აღდგენა ჩავარდნილი მონაცემების გამო ვერ მოხერხდა. გთხოვთ, გააკეთეთ ბექაფი თქვენი შეუნახავი ფაილების (*.txt) სესიის ფოლდერში.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>გახსენით სესიის ბექაფის ფოლდერი</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>გაფრთხილება</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/ka-GE/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>დეფენდენსები და რეფერენსები</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>უარყოფა</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>უფასო და ოფენ სოურს ტექსტ ედიტორის დიზაინი და იმპლემენტაცია Jackie (Jiaqi) Liu-სგან</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>ავტორებთა დასაკავშირებლად:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>იშუების რეპორტებისთვის და ფიჩერების მოთხოვნისთვის:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>სორს კოდი ხელმისაწვდომია on Github:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>დამატებითი ინფორმაციისთვის, ესტუმრეთ ვებსაიტს:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>კონფედენციალურობის შესახებგანცხადება</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>შესახებ</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>სტატუს ბარის ჩვენება</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>სტატუს ბარის ჩვენება</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>სტატუს ბარის სეთინგები</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>გაფართოებული</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>აქცენტის ფერი</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>გამოიყენე ჩემი Windows-ის აქცენტის ფერი</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>გამოიყენე ჩემი Windows-ის აქცენტის ფერი</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>აკრილის ფონის ტონის არასახამრისობა. გთხოვთ, გაითვალისწინოთ, რომ აკრილის ეფექტი გათიშული იქნება, როდესაც ენერგიის ზოგადი რეჟიმია ჩართული ან თუ გამჭვირვალე ეფექტები გაქრებიან Windows-ის პარამეტრებში.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ფონის ელფერის გამჭირვალეობა</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>მუქი</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ღია</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>თემის რეჟიმი</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>გამოიყენე ჩემი Windows-ის რეჟიმი</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>პერსონალიზაცია</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Windows code page)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>შემდგომი დეკოდირება გამოიყენება, როდესაც ფაილის კოდირება არ იცნობა.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>შემდგომი დეკოდირება</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>გავრცელდება მხოლოდ ახალ დოკუმენტებზე.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>საწყისი ენკოდირება</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>საწყისი ფონტი &amp; ზომა</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>გავრცელდება მხოლოდ ახალ დოკუმენტებზე.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>საწყისი ხაზის ენკოდინგი</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Default (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>სეთინგები tab ღილაკის ქცევისტვის მხოლოდ გავრცელდება მომხამრებლის ჩასმული ახალი ტაბებისთვის.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 ჰარი</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 ჰარი</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tab ღილაკის ქცევა</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 ჰარი</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ტექსტის შეფუთვა</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>ტექსტის შეფუთვა</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>ტექსტის შეფუთვა</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>ტექსტი &amp; ედიტორი</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>ცვლილებების ლოგი</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>ერთხელ გააქტიურდება, Notepads დაიმახსოვრებს მიმდინარე სესიას შემდეგი გახსნისთვის და გააკეთებს პერიოდულ სესიის აღბეჭვდის ბექაფებს, რომ თავიდან აირიდოთ შემთხვევითი მონაცემების დაკარგვა შეუნახავი ცვლილებებისტვის. Notepads არ შეგახსენებს, რომ შეინახო შენი სამუშაო აპლიკაციის შენახვისთვის თუ ეს ფიჩერი გააქტიურებულია. გთხოვთ ასევე დაიმახსოვროთ, სესიის აღბეჭვდა მხოლოდ იმუშავებს Notepads-ის პრიველი ან მთავარი ფანჯრებისთვის.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>გააქტიურე სესიების აღბეჭვდა</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>გააქტიურე სესიების აღბეჭვდა</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>სესიების აღბეჭვდის სეთინგები</value>\r\n    <comment>AdvancedPageSessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>აღნიშნე არასწორი სიწტყვები</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>აღნიშნე არასწორი სიწტყვები</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>მართლწერა</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>ერთხელ გააქტიურებ და Notepads ფაილს ყოველთვის გახსნის ახალ ფანჯარაში ახალი ტაბის შექნის მაგივრად.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>ყოველთვის გახსენი ახალ ფანჯარაში</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>ყოველთვის გახსენი ახალ ფანჯარაში</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>გაშვების პრეფერენციები</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>აღნიშნე მიმდინარე ხაზი</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>აღნიშნე მიმდინარე ხაზი</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>მორგებული ძიების ძრავი</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*შეიყვანე url ამ ფორმატით https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>მხარდაჭერი ძიების ძრავი-ის აირჩევა ვებ ძებნისას შესრულდება.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>სტანდარტული ძიების ძრავი</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ავტომატური ენკოდინგის ამოცნობა (რეკომენდირებულია)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ჩვენება</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>დოკუმენტში ხაზების ნომრების ჩვენება.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>აჩვენე ხაზების ნომრები</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>აჩვენე ხაზების ნომრები</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>სტანდარტული შრიფტის სტილი</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>სტანდარტული შრიფტის წონა</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>აირჩიეთ საკუთარი ენა, რომ გადააფარეთ Notepads-ში სისტემის ძირითადი ენა. გადატვირთვა საჭიროა ცვლილებების დასრულებისთვის.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*გადატვირთეთ Notepads ცვლილებების დასრულებისთვის.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ენის პრეფერენციები</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>ერთხელ ჩართულის შემდეგ, Notepads ჭკვიანად დაჭერს წინა და უკანა ცარიელებს, ტაბულაციებს და ცარიელ ხაზებს სანამ არჩეული ტექსტი დააკოპირებს ბუფერში.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>ჩართეთ ჭკვიანი კოპირება</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>ჩართეთ ჭკვიანი კოპირება</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ჭკვიანი კოპირების პარამეტრები</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>სისტემის ძირითადი</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>გასვლა აპლიკაციიდან, როდესაც ბოლო ჩანართი იქნება დახურული</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>გასვლა აპლიკაციიდან, როდესაც ბოლო ჩანართი იქნება დახურული</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/ko-KR/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub 고급 자막 파일</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>어셈블리어 파일</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP 파일</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>AutoHotkey 스크립트 파일</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash 별칭 파일</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash 내역 파일</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash 로그인 파일</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash 로그아웃 파일</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash 프로필 파일</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash 스크립트 파일</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX 파일</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond 파일</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>빌드 경로 파일</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C 파일</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI 파일</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure 파일</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake 파일</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript 파일</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>쉼표 구분 값 파일</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>구성 설정</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++ 파일</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# 파일</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS 파일</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT 파일</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff 파일</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker 파일</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild 파일</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F# 파일</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git 속성 파일</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git 구성 파일</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git 무시 파일</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP 파일</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go 파일</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy 파일</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars 파일</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>헤더 파일</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HLSL 파일</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML 파일</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hypertext 접근 파일</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>초기화 구성 파일</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>설치 파일</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java 파일</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Javascript 파일</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON 파일</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP 파일</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less 파일</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Log 파일</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Lyrics 파일</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA 파일</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map 파일</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>마크다운 파일</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO 파일</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NPM 구성 파일</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 파일</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 파일</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP 파일</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod 파일</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell 파일</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profile 파일</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Project 파일</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug 파일</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python 파일</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor 파일</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R 파일</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby 파일</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Run Commands 파일</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust 파일</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader 파일</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shell Script 파일</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL 파일</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Sub Station Alpha 자막 파일</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>자막 파일</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift 파일</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>텍스트 문서</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T 파일</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript 파일</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User 파일</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Verilog 파일</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Visual Basic 파일</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue 구성 파일</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue 파일</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML 파일</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML 파일</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML 파일</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell 구성 파일</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell 내역 파일</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U 파일</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat 파일</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# 프로젝트 파일</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>환경 파일</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL 파일</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>라이선스 파일</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT 파일</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property 목록 파일</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD 파일</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Resource 파일</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML 파일</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL 파일</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>텍스트 문서</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>\r\n"
  },
  {
    "path": "src/Notepads/Strings/ko-KR/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>취소</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>저장하지 않은 변경 사항이 있습니다.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>모두 저장</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>저장하지 않고 종료</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>변경 사항을 저장하시겠습니까?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>선택된 텍스트가 없고 현재 문서가 비어 있기 때문에 공유할 것이 없습니다.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>변경 후</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>변경 전</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads 는 현재 1MB 이상의 파일을 지원하지 않습니다.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>파일 \"{0}\" 을 열 수 없습니다: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>확인</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>파일 열기 오류</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>파일 \"{0}\" 을 저장할 수 없습니다: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>확인</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>파일 저장 오류</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>닫기</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>찾기</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>찾지 못함</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>모두 바꾸기 (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>바꾸기</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>바꾸기 (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>다음 찾기 (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>검색 옵션</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>대소문자 구분</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>단어 단위로</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>검색...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>새 파일</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>열기...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>출력...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>바꾸기...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>저장</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>모두 저장</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>다른 이름으로 저장...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>설정</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>취소</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>파일 \"{0}\" 의 모든 변경 사항이 원래대로 돌아갑니다!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>확인</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>정말 모든 변경 사항을 취소하시겠습니까?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>취소</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>\"{0}\"에 저장하시겠습니까?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>저장</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>저장하지 않음</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>변경 사항을 저장하시겠습니까?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>닫기</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>다른 파일들 닫기</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>오른쪽 파일 닫기</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>저장된 파일 닫기</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>파일 경로 복사</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>저장된 폴더 열기</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>복사</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>잘라내기</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>붙여넣기</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>미리보기 전환</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>다시 실행</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>모두 선택</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>공유</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>선택 공유</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>실행 취소</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>자동 줄바꿈</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>새 텍스트 문서.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Ln {0}, Col {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Ln {0}, Col {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>변경 내용 미리보기</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>모든 변경 사항 취소</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>수정 후</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>복사됨</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>저장됨</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>전체 화면을 종료하려면 F11을 누르세요</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>디스크에서 파일 다시 로드</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>파일이 외부에서 변경되었습니다!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>파일이 이동, 이름 변경 또는 삭제되었습니다!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>파일 다시 로드됨</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>간결히 보기</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>전체화면</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>간결히 보기 종료</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>전체 화면 종료</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>선택한 문자</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>선택한 문자</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>탭을 여기로 이동</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Notepads로 열기</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>이 창은 Shadow Window입니다. 세션 스냅샷 설정이 비활성화 되었습니다.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>파일이 이미 열려있습니다!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>새 창</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>새 창을 엽니다</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>새 창</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>최근 항목</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>이동할 줄 번호</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>이동: </value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>줄 번호가 이 파일의 줄 수를 초과합니다!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>숫자만 입력할 수 있습니다!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>줄 번호로 이동</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>웹에서 검색</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>기본 확대/ 복원</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>확대</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>축소</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>정규식 사용</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>모두 출력...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>소수점 이하 1자리까지만 허용</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>값이 범위를 벗어났습니다</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>꼬리말</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>머리말</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>가로 여백 (%)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>용지 너비의 %</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>출력 중 오류:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>출력에 실패했습니다</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>이 장치에서 인쇄가 지원되지 않습니다</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>수직 여백 (%)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>최근 항목 지우기</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>더보기</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>인코딩하여 다시 열기</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>인코딩하여 저장</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>유효하지 않은 정규식입니다!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>자동으로 인코딩 결정</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>인코딩을 결정할 수 없습니다</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>이전 찾기 (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>바꾸기 모드 토글</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>RTL 읽기 순서</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Italic</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Oblique</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Black</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Bold</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra Black</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra Bold</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra Light</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Light</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Medium</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi Bold</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi Light</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Thin</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>취소</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>저장</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>이름 변경</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>파일 이름에 유효하지 않은 문자가 포함되어서는 안 됩니다</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>파일 이름의 첫머리에 공백이 와서는 안 됩니다</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>파일 이름의 끝에 공백이 붙어서는 안 됩니다</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>파일 이름을 비워두거나 공백만으로 구성해서는 안 됩니다</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>유효하지 않거나 허용되지 않은 파일 이름입니다</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>파일 이름은 255자보다 길어서는 안 됩니다</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>이름 변경</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>이름 변경됨</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>현재는 빈 파일 확장자를 지원하지 않습니다</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value> \"{0}\" 파일 확장자를 지원하지 않습니다</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>닫기</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>데이터 손상으로 인해 지난 세션에서 데이터를 복구하지 못했습니다. 세션 폴더 내의 모든 저장되지 않은 파일 (*.txt)을 백업해 주십시오.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>세션 백업 폴더 열기</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>경고</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/ko-KR/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>의존성 및 참조</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>면책</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Jackie (Jiaqi) Liu 가 제작한 무료 오픈소스 텍스트 에디터</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>제작자에게 연락하기:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>문제 보고와 기능 추가 요청하기:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>소스 코드는 Github에 공개됩니다:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>자세한 내용은 우리의 웹 사이트를 방문하십시오:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>개인정보 보호 정책</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>애플리케이션 정보</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>상태표시줄 보이기</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>상태표시줄 보이기</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>상태표시줄 설정</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>고급</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>테마 컬러</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Windows 테마 컬러 사용</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Windows 의 강조 색상 사용</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>아크릴 배경 색조 불투명도. 아크릴 효과의 경우 기기가 절전 모드로 전환되거나 Windows 설정에서 투명 효과를 끌 때 비활성화됨에 유의하십시오.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>배경 색조 불투명도</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>어둡게</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>밝게</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>색 테마</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>기본 Windows 모드 사용</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>개인 설정</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Windows 코드 페이지)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>파일 인코딩을 인식할 수 없는 경우 대체 설정이 적용됩니다.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>대체 디코딩</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>새 문서에만 적용됩니다.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>기본 인코딩</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>기본 글꼴 및 크기</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>새 문서에만 적용됩니다.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>기본 줄바꿈</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>탭 문자 (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>탭 키 동작 설정은 사용자가 삽입한 새 탭에만 적용됩니다.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>공백 8개</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>공백 4개</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>탭 키 동작</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>공백 2개</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>텍스트 줄 바꿈</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>단어 단위로 자동 개행</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>단어 단위로 자동 개행</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>에디터 설정</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>변경 내역</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>활성화되면 메모장은 다음 실행을 위해 현재 세션을 기억하고 저장되지 않은 변경으로 인한 우발적인 데이터 손실을 방지하기 위해 주기적으로 세션 스냅샷을 백업합니다. 이 기능이 활성화 된 경우 종료 시에 변경 사항을 저장하라는 메시지를 표시하지 않습니다. 세션 스냅샷은 메모장의 첫 번째 또는 기본 창에서만 작동합니다.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>세션 스냅샷 사용</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>세션 스냅샷 사용</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>세션 스냅샷 설정</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>오타 강조</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>오타 강조</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>철자</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>활성화되면 메모장은 항상 새 탭을 만드는 대신 새 창에서 파일을 엽니다.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>항상 새 창 열기</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>항상 새 창 열기</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>실행 설정</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>선택한 줄 강조 표시</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>선택한 줄 강조 표시</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>사용자 지정 검색 엔진</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*https://www.example.com/search?q={0} 형식의 URL을 입력하세요</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>웹 검색 수행 시 선택된 기본 검색 엔진에 대한 설정입니다.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>기본 검색 엔진</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>자동으로 인코딩 결정 (추천)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>표시</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>문서에 줄 번호를 표시합니다.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>줄 번호 표시</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>줄 번호 표시</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>기본 글자 서식</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>기본 글자 굵기</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>메모장에서 시스템 기본 언어를 무시하고 사용할 언어를 지정하십시오. 변경 사항을 적용하려면 앱을 재시작해야 합니다.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*변경 사항을 적용하려면 앱을 재시작하십시오.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>언어 설정</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>사용하면 메모장에서는 선택한 글자를 클립보드로 복사하기 전에 앞뒤의 공백, 탭, 빈 줄을 제거합니다.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>스마트 복사 사용</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>스마트 복사 사용</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>스마트 복사 설정</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>시스템 </value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>마지막 탭을 닫을 때 앱 종료</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>마지막 탭을 닫을 때 앱 종료</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/nl-NL/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub Advanced Subtitle-bestand</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Assembly Language-bestand</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP-bestand</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>AutoHotkey Script-bestand</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Aliases-bestand</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash History-bestand</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Login-bestand</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Logout-bestand</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Profielbestand</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Scriptbestand</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX-bestand</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond-bestand</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Build Path-bestand</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C-bestand</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI-bestand</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure-bestand</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake-bestand</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript-bestand</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Comma Separated Values-bestand</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuratieïnstellingenbestand</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++-bestand</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C#-bestand</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS-bestand</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT-bestand</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff-bestand</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker-bestand</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild-bestand</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F#-bestand</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Attributes-bestand</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Config-bestand</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Ignore-bestand</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP-bestand</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go-bestand</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy-bestand</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars-bestand</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Header-bestand</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HSLS-bestand</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML-bestand</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hypertext Access-bestand</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Inintialisatiebestand</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Installatiebestand</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java-bestand</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JavaScript-bestand</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON-bestand</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP-bestand</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less-bestand</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Log-bestand</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Lyrics-bestand</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA-bestand</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map-bestand</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown-bestand</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO-bestand</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NPM Configuratiebestand</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6-bestand</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl-bestand</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP-bestand</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod-bestand</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell-bestand</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profielbestand</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Projectbestand</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug-bestand</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python-bestand</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor-bestand</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R-bestand</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby-bestand</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Run commandobestand</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust-bestand</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader-bestand</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shell Script-bestand</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL-bestand</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SubStation Alpha subtitle-bestand</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Subtitle-bestand</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift-bestand</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Tekstbestand</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T-bestand</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript-bestand</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User-bestand</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Verilog-bestand</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Visual Basic-bestand</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue Configuratiebestand</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue-bestand</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML-bestand</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML-bestand</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML-bestand</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell Configuratiebestand</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell History-bestand</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U-bestand</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat-bestand</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Projectbestand</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Environment-bestand</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL-bestand</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Licentiebestand</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT-bestand</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property Listbestand</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD-bestand</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Resource-bestand</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML-bestand</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL-bestand</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Tekstbestand</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/nl-NL/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Annuleren</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Er zijn niet-opgeslagen wijzigingen</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Alles opslaan &amp; Sluiten</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Negeren &amp; Sluiten</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Wilt u de wijzigingen opslaan?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Niets te delen omdat er geen tekst is geselecteerd en het document leeg is.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Ná de wijzigingen</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Vóór de wijzigingen</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads ondersteunt op het moment geen bestanden groter dan 1 MB.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Sorry, bestand \"{0}\" kon niet worden geopend: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>OK</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Fout bij bestand openen</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Sorry, bestand \"{0}\" kon niet worden opgeslagen: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>OK</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Fout bij bestand opslaan</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Sluiten</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Zoeken</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Niet gevonden</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Alles vervangen (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Vervangen</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Vervangen (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Volgende zoeken (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Zoek opties</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Identieke hoofdletters/kleine letters</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Heel woord</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Zoeken...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Nieuw</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Openen...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Afdrukken...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Vervangen...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Opslaan</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Alles opslaan</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Opslaan als...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Instellingen</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Annuleren</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>Alle wijzigingen waaronder tekst, regeleindes en codering in \"{0}\" worden teruggedraaid!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ja</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Moeten de wijzigingen worden teruggedraaid?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Annuleren</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Bestand \"{0}\" opslaan?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Opslaan</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Niet opslaan</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Wijzigingen opslaan?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Sluiten</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Andere sluiten</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Rechts sluiten</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Opgeslagen sluiten</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Volledig pad kopiëren</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Onderliggende map openen</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kopiëren</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Knippen</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Plakken</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Weergave wisselen</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Opnieuw uitvoeren</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Alles selecteren</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Delen</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Selectie delen</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Ongedaan maken</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Tekstterugloop</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Untitled.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Rg {0}, Kol {1} {2} {3}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Rg {0}, Kol {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Tekstwijzigingen bekijken</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Alle wijzigingen terugdraaien</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Aangepast</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Gekopieerd</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Opgeslagen</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Druk F11 om volledig scherm af te sluiten</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Bestand opnieuw laden van schijf</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Bestand is extern aangepast</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Bestand is verplaatst, hernoemd of verwijderd!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Bestand opnieuw geladen</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Compact venster</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Volledig scherm</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Compact vernster afsluiten</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Volledig scherm afsluiten</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>geselecteerd</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>geselecteerd</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Tab hierheen verplaatsen</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Open met Notepads</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Dit is een schaduwvenster van Notepads. Sessie-momentopnames en instellingen zijn uitgeschakeld.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>Bestand is al geopend!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Nieuw venster</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Opent een nieuw venster</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Nieuw venster</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Recente bestanden</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Ga naar regel</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>Regelnummer is groter dan het totaal aantal regels!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Voer alleen een nummer in!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Ga naar regel</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zoeken op het web</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Standaardzoom herstellen</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Inzoomen</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Uitzoomen</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Ga naar:</value>\r\n    <comment>GoTo: Go to bar label</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Alles afdrukken...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Hoogstens één decimaal toegestaan</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Waarde buiten bereik</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Voettekst</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Kptekst</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Horizontale marge (in %)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>In % van papierbreedte</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Fout bij afdrukken:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Afdruk mislukt</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>Afdrukken is niet ondersteund op dit apparaat</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Verticale marge (in %)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Reguliere expressie gebruiken</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Lijst recente bestanden wissen</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Meer coderingen</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Opnieuw openen met codering</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Opslaan met codering</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Ongeldige reguliere expressie</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Codering automatisch inschatten</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>Codering kon niet worden vastgesteld</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Vorige zoeken (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Vervangen wisselen</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Rechts-naar-links leesrichting</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Cursief</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Normaal</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Schuin</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Zwaar</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Vet</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra zwaar</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra vet</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra licht</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Licht</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Medium</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normaal</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi-vet</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi-licht</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Dun</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Annuleren</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Opslaan</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Hernoemen</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>Bestandsnaam mag geen ongeldige tekens bevatten</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>Bestandsnaam mag niet beginnen met een spatie</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>Bestandsnaam mag niet eindigen met een spatie</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>Bestandsnaam mag niet leeg zijn of alleen uit spaties bestaan</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>Bestandsnaam is ongeldig of niet toegestaan</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>Bestandsnaam mag niet langer zijn dan 255 tekens</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Hernoemen</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Hernoemd</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Lege extensie wordt op dit moment niet ondersteund</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>Bestandsextensie \"{0}\" wordt op dit moment niet ondersteund</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Sluiten</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Kan gegevens van de laatste sessie niet herstellen vanwege beschadigde gegevens. Maak een back-up van al uw niet-opgeslagen bestanden (* .txt) in de map van de sessie.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Map met sessie-backups openen</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Waarschuwing</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/nl-NL/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Afhankelijkheden en referenties</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>DE SOFTWARE WORDT GELEVERD \"ZOALS DEZE IS\", ZONDER ENIGE VORM VAN GARANTIE, EXPLICIET OF IMPLICIET, MET INBEGRIP VAN, MAAR NIET BEPERKT TOT, DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL EN NIET-INBREUK. IN GEEN GEVAL ZIJN DE AUTEURS OF HOUDERS VAN AUTEURSRECHTEN AANSPRAKELIJK VOOR ENIGE CLAIM, SCHADE OF ANDERE AANSPRAKELIJKHEID, HETZIJ IN EEN ACTIE VAN CONTRACT, ONRECHTMATIGE DAAD OF ANDERSZINS, DIE VOORTVLOEIT UIT, UIT OF VERBAND HOUDT MET DE SOFTWARE OF HET GEBRUIK OF ANDERE TRANSACTIES IN DE SOFTWARE.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Clausule</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Gratis en open source teksteditor ontworpen en geïmplementeerd door Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Contact met de auteurs:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Voor probleemrapportage en verzoeken :</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Broncode is beschikbaar op Github:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>Voor meer informatie, bezoek de website:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Privacyverklaring</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Over</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Statusbalk weergeven</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Statusbalk weergeven</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Statusbalk</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Geavanceerd</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Accentkleur</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Mijn Windows accentkleur gebruiken</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Mjn Windows accentkleur gebruiken</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Acryl achtergrond tint dekking. Houd er rekening mee dat het acryleffect wordt uitgeschakeld wanneer de batterijbesparende modus is ingeschakeld of als u de transparantie-effecten in Windows-instellingen uitschakelt.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Achtergrond tint dekking</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Donker</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Licht</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Themamodus</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Mijn Windows themamodus gebruiken</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Personalisatie</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Windows code page)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Decodering die wordt gebruikt wanneer de codering van een bestand niet wordt herkend.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Terugval-decodering</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Van toepassing op nieuwe documenten.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standaard-codering</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standaard lettertype en -grootte</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Van toepassing op nieuwe documenten.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standaard regeleinde</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Standaard (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Instellingen voor gedrag van de tab-toets zijn alleen van toepassing op nieuwe tabbladen die door de gebruiker zijn ingevoegd.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 spaties</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 spaties</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tab-toets</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 spaties</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tekstterugloop</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Terugloop</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Terugloop</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Tekst &amp; Bewerken</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Wijzigingslogboek</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Indien ingeschakeld, onthoudt Notepads de huidige sessie voor de volgende keer opstarten en wordt er periodiek een momentopname van de sessie gemaakt om onbedoeld gegevensverlies door niet-vastgelegde wijzigingen te voorkomen. Notepads herinnert u er NIET aan om uw werk op te slaan bij het sluiten van de app als deze functie is ingeschakeld. Houd er ook rekening mee dat een sessie-momentopname alleen werkt in het eerste of hoofdvenster van Notepads.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Sessie-momentopname inschakelen</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Sessie-momentopname inschakelen</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Sessie-momentopname</value>\r\n    <comment>AdvancedPageSessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Spelfouten markeren</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Spelfouten markeren</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Spelling</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Indien ingeschakeld, opent Notepads altijd het bestand in een nieuw venster in plaats van een nieuw tabblad aan te maken.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Altijd in nieuw venster openen</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Altijd in nieuw venster openen</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Opstartvoorkeuren</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Huidige regel markeren</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Huidige regel markeren</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Aangepaste zoekmachine</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*Voer een url in met opmaak https//www.example.com/search?q = {0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Instellingen voor de gekozen standaardzoekmachine bij de uitvoering van een webzoekopdracht.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standaard zoekmachine</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Codering automatisch inschatten (aanbevolen)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Weergave</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Regelnummers weergeven in het document.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Regelnummers weergeven</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Regelnummers weergeven</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standaard lettertypestijl</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Standaard lettergrootte</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Kies een aangepaste taal om de standaardtaal van het systeem te overschrijven die wordt gebruikt in Notepads. Een herstart is vereist om deze wijziging door te voeren.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Notepads opnieuw starten om wijzigingen door te voeren.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Taalvoorkeuren</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Eenmaal ingeschakeld, zal Notepads voorloop- en achterliggende spaties, tabs en lege regels slim inkorten voordat de geselecteerde tekst naar het klembord wordt gekopieerd.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Slim kopiëren inschakelen</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Slim kopiëren inschakelen</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Slim kopiëren</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>Systeemstandaard</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>App afsluiten bij het sluiten van laatste tabblad</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>App afsluiten bij het sluiten van laatste tabblad</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/or-IN/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଆଜିସାବ ଉନ୍ନତ ସବ୍ଟାଇଟ୍ ଫାଇଲ୍</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଆସେମ୍ବ୍ଲି ଭାଷା ଫାଇଲ୍</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଏସପି ଫାଇଲ୍</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଅଟୋହଟ୍କି ସ୍କ୍ରିପ୍ଟ ଫାଇଲ୍</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ବାସ୍ ଛଦ୍ମନାମ ଫାଇଲ୍</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ବାସ୍ ଇତିହାସ ଫାଇଲ୍</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ବାସ୍ ଲଗଇନ୍ ଫାଇଲ୍</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ବାସ୍ ଲଗଆଉଟ୍ ଫାଇଲ୍</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ବାସ୍ ପ୍ରୋଫାଇଲ୍ ଫାଇଲ୍</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ବାସ୍ ସ୍କ୍ରିପ୍ଟ ଫାଇଲ୍</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ବିବଟେକ୍ସ ଫାଇଲ୍</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ବଣ୍ଡ୍ ଫାଇଲ୍</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ନିର୍ମାଣ ମାର୍ଗ ଫାଇଲ୍</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ସି ଫାଇଲ୍</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ସିଜିଆଇ ଫାଇଲ୍</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>କ୍ଲୋଜୁର ଫାଇଲ୍</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ସିମେକ ଫାଇଲ୍</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>କଫିସ୍କ୍ରିପ୍ଟ ଫାଇଲ୍</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>କମା ପୃଥକ ମୂଲ୍ୟଗୁଡ଼ିକ ଫାଇଲ୍</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ବିନ୍ୟାସ ସେଟିଂସମୂହ</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ସି++ ଫାଇଲ୍</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ସି# ଫାଇଲ୍</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ସିଏସ୍ଏସ୍ ଫାଇଲ୍</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଡାଟ ଫାଇଲ୍</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଡିଫ୍ ଫାଇଲ୍</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଡକର୍ ଫାଇଲ୍</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଇବିଲ୍ଡ ଫାଇଲ୍</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଏଫ# ଫାଇଲ୍</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଗିଟ୍ ଗୁଣ ଫାଇଲ୍</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଗିଟ୍ କନଫିଗ୍ ଫାଇଲ୍</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଗିଟ୍ ଅଣଦେଖା ଫାଇଲ୍</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଜିଏଲଏସପି ଫାଇଲ୍</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଗୋ ଫାଇଲ୍</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଗ୍ରୁଭି ଫାଇଲ୍</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ହ୍ୟାଣ୍ଡଲବାର୍ସ ଫାଇଲ୍</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଶୀର୍ଷଲେଖ ଫାଇଲ୍</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଏଚଏଲଏସଏଲ ଫାଇଲ୍</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଏଚଟିଏମଲ ଫାଇଲ୍</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ହାଇପରଟେକ୍ସଟ୍ ଆକ୍ସେସ୍ ଫାଇଲ୍</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ପ୍ରାରମ୍ଭିକରଣ ଫାଇଲ୍</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ସଂସ୍ଥାପନା ଫାଇଲ୍</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଜାଭା ଫାଇଲ୍</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଜାଭାସ୍କ୍ରିପ୍ଟ ଫାଇଲ୍</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଜେସନ୍ ଫାଇଲ୍</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଜେଏସପି ଫାଇଲ୍</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଲେସ ଫାଇଲ୍</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଲଗ୍ ଫାଇଲ୍</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଗୀତ ଫାଇଲ୍</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଲୁଆ ଫାଇଲ୍</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ମାନଚିତ୍ର ଫାଇଲ୍</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ମାର୍କଡାଉନ୍ ଫାଇଲ୍</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଏନଏଫଓ ଫାଇଲ୍</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଏନପିଏମ୍ କନଫିଗ୍ ଫାଇଲ୍</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>ପର୍ଲ ୬ ଫାଇଲ୍</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ପର୍ଲ ଫାଇଲ୍</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ପିଏଚପି ଫାଇଲ୍</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ପଡ୍ ଫାଇଲ୍</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ପାୱାର୍ ସେଲ୍ ଫାଇଲ୍</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ପ୍ରୋଫାଇଲ୍ ଫାଇଲ୍</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ପ୍ରକଳ୍ପ ଫାଇଲ୍</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ପଗ୍ ଫାଇଲ୍</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ପାଇଥନ୍ ଫାଇଲ୍</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ରେଜର ଫାଇଲ୍</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଆର ଫାଇଲ୍</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ରୁବି ଫାଇଲ୍</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ନିର୍ଦ୍ଦେଶ ଚଲା ଫାଇଲ୍</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ରସ୍ଟ ଫାଇଲ୍</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଶେଡର୍ ଫାଇଲ୍</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ସେଲ୍ ସ୍କ୍ରିପ୍ଟ ଫାଇଲ୍</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ସିକ୍ୱେଲ୍ ଫାଇଲ୍</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ସବ୍ ଷ୍ଟେସନ୍ ଆଲଫା ଉପାଖ୍ୟା ଫାଇଲ୍</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଉପାଖ୍ୟା ଫାଇଲ୍</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ସ୍ୱିଫ୍ଟ ଫାଇଲ୍</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ପାଠ୍ୟ ଡକ୍ୟୁମେଣ୍ଟ୍</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଟି ଫାଇଲ୍</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଟାଇପ୍ ସ୍କ୍ରିପ୍ଟ ଫାଇଲ୍</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଉପଯୋଗକର୍ତ୍ତା ଫାଇଲ୍</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଭେରିଲଗ୍ ଫାଇଲ୍</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ବିଜୁଆଲ୍ ବେସିକ୍ ଫାଇଲ୍</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ବ୍ୟୁ କନଫିଗ୍ ଫାଇଲ୍</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ବ୍ୟୁ ଫାଇଲ୍</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>କ୍ସାମଲ ଫାଇଲ୍</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଏକ୍ସମଲ ଫାଇଲ୍</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ୟାମଲ ଫାଇଲ୍</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଜି ଶେଲ୍ କନଫିଗ୍ ଫାଇଲ୍</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଜି ଶେଲ୍ ଇତିହାସ ଫାଇଲ୍</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଏମ୩ୟୁ ଫାଇଲ୍</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ପ୍ରତାରଣା ଫାଇଲ୍</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ସି# ପ୍ରକଳ୍ପ ଫାଇଲ୍</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ପରିବେଶ ଫାଇଲ୍</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଜିଏଲଏସଏଲ ଫାଇଲ୍</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଲାଇସେନ୍ସ ଫାଇଲ୍</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଅପ୍ଟ ଫାଇଲ୍</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ସମ୍ପତ୍ତି ତାଲିକା ଫାଇଲ୍</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ପିବିଡି ଫାଇଲ୍</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଉତ୍ସ ଫାଇଲ୍</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଟିଓଏମଏଲ ଫାଇଲ୍</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ଏକ୍ସଏସଏଲ ଫାଇଲ୍</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/or-IN/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>ବାତିଲ୍ କରନ୍ତୁ</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>ଅସଞ୍ଚିତ ପରିବର୍ତ୍ତନଗୁଡିକ ଅଛି।</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>ସମସ୍ତ ସଞ୍ଚୟ କରି ପ୍ରସ୍ଥାନ</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>ପରିତ୍ୟାଗ ଏବଂ ପ୍ରସ୍ଥାନ</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>ଆପଣ ପରିବର୍ତ୍ତନଗୁଡିକ ସଞ୍ଚୟ କରିବାକୁ ଚାହୁଁଛନ୍ତି କି?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>ଅଂଶୀଦାର କରିବାକୁ କିଛି ନାହିଁ କାରଣ କୌଣସି ପାଠ୍ୟ ଚୟନ ହୋଇନାହିଁ ଏବଂ ସାମ୍ପ୍ରତିକ ଡକ୍ୟୁମେଣ୍ଟ ଖାଲି ଅଛି |</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>ଆପଣଙ୍କର ପରିବର୍ତ୍ତନଗୁଡିକୁ ପରେ</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>ଆପଣଙ୍କର ପରିବର୍ତ୍ତନଗୁଡିକୁ ପୂର୍ବରୁ</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>ଏହି ମୁହୂର୍ତ୍ତରେ Notepads 1MB ରୁ ଅଧିକ ଫାଇଲକୁ ସପୋର୍ଟ କରେନାହିଁ|</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>ଦୁଃଖିତ, ଫାଇଲ୍ \"{0}\" ଖୋଲାଯାଇ ପାରିଲା ନାହିଁ: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>ଠିକ୍ ଅଛି</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>ଫାଇଲ୍ ଖୋଲା ତ୍ରୁଟି</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>ଦୁଃଖିତ, ଫାଇଲ୍ \"{0}\" ସଞ୍ଚୟ ହୋଇପାରିଲା ନାହିଁ: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>ଠିକ୍ ଅଛି</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>ଫାଇଲ ସଞ୍ଚୟ ତ୍ରୁଟି</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>ବନ୍ଦ କର</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>ଖୋଜ</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>ମିଳିଲା ନାହିଁ</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>ସବୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>ପରିବର୍ତ୍ତନ କରନ୍ତୁ</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>ପରିବର୍ତ୍ତନ କରନ୍ତୁ (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>ପରବର୍ତ୍ତୀ ଖୋଜ (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>ସନ୍ଧାନ ବିକଳ୍ପଗୁଡ଼ିକ</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>କେସ୍ ମିଳାନ୍ତୁ</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>ସମସ୍ତ ଶବ୍ଦ ମିଳାନ୍ତୁ</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>ସନ୍ଧାନ...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>ନୂତନ</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>ଖୋଲନ୍ତୁ...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>ମୁଦ୍ରଣ...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>ପରିବର୍ତ୍ତନ କରନ୍ତୁ...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>ସଞ୍ଚୟ କରନ୍ତୁ</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>ସବୁ ସଞ୍ଚୟ କରନ୍ତୁ</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>କା ପରି ସେଭ୍ କରନ୍ତୁ...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>ସେଟିଙ୍ଗ୍ସ</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>ବାତିଲ୍ କରନ୍ତୁ</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>ଟେକ୍ସଟ୍, ଲାଇନ୍ ଏଣ୍ଡିଙ୍ଗ୍ ଏବଂ ଏନକୋଡିଂ ସହିତ \"{0}\" ର ସମସ୍ତ ପରିବର୍ତ୍ତନ ଫେରସ୍ତ ହେବ!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>ହଁ</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>ଆପଣ ସମସ୍ତ ପରିବର୍ତ୍ତନକୁ ଫେରାଇବାକୁ ନିଶ୍ଚିତ କି?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>ବାତିଲ୍ କରନ୍ତୁ</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>ଫାଇଲ୍ \"{0}\" ସଞ୍ଚୟ କରନ୍ତୁ?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>ସଞ୍ଚୟ କରନ୍ତୁ</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>ସଞ୍ଚୟ କରନ୍ତୁ ନାହିଁ</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>ଆପଣଙ୍କର ପରିବର୍ତ୍ତନଗୁଡିକ ସଞ୍ଚୟ କରନ୍ତୁ</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ବନ୍ଦ କର</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ଆକୁ ଛାଡି ସବୁ ବନ୍ଦ କରନ୍ତୁ</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ଡାହାଣ ପଟୁ ସବୁ ବନ୍ଦ କରନ୍ତୁ</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ସଞ୍ଚିଥିବା ବନ୍ଦ କରନ୍ତୁ</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ପୂର୍ଣ୍ଣ ପଥ କପି କରନ୍ତୁ</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ଧାରକ ଫୋଲ୍ଡର ଖୋଲନ୍ତୁ</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ନକଲ</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>କାଟ</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ଲେପନ</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>ପ୍ରିଭ୍ଯୁ ଟୋଗଲ୍ କରନ୍ତୁ</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ପୁନର୍ବାର କରନ୍ତୁ</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ସମସ୍ତ ଚୟନ କରନ୍ତୁ</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ଅଂଶୀଦାର କରନ୍ତୁ</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ଚୟନିତ ଅଂଶୀଦାର କରନ୍ତୁ</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ପୂର୍ବବତ୍ କରନ୍ତୁ</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ୱର୍ଡ ରାପ୍</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>ଆଖ୍ୟାବିହୀନ.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>ଲଁନ୍ {0}, ସ୍ତମ୍ଭ {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>ଲଁନ୍ {0}, ସ୍ତମ୍ଭ {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>ପାଠ୍ୟ ପରିବର୍ତ୍ତନ ପୂର୍ବାବଲୋକନ</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>ସମସ୍ତ ପରିବର୍ତ୍ତନଗୁଡିକର ଫେରସ୍ତ</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>ପରିବର୍ତ୍ତିତ</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>କପି ହେଲା</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>ସଞ୍ଚୟ ହେଲା</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>ପୂର୍ଣ୍ଣ ସ୍କ୍ରୀନରୁ ବାହାରିବା ପାଇଁ F11 ଦବାନ୍ତୁ</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>ଡିସ୍କରୁ ପୁନଃଲୋଡ୍ କରନ୍ତୁ</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>ଫାଇଲ୍ ବାହାରେ ସଂଶୋଧିତ ହୋଇଛି!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>ଫାଇଲ୍ ସ୍ଥାନାନ୍ତରିତ ହୋଇଛି, ନାମ ପରିବର୍ତ୍ତନ ହୋଇଛି କିମ୍ବା ଡିଲିଟ୍ ହୋଇଛି!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>ଫାଇଲ୍ ପୁନଃଲୋଡ୍ ହେଲା</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>କମ୍ପାକ୍ଟ ଓଭରଲେ</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>ପୂର୍ଣ୍ଣ ସ୍କ୍ରୀନ</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>କମ୍ପାକ୍ଟ ଓଭରଲେ ଛାଡନ୍ତୁ</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନ୍ ଛାଡନ୍ତୁ</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>ଚୟନୀତ</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>ଚୟନୀତ</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>ଟ୍ୟାବ୍ କୁ ଘୁଞ୍ଚାନ୍ତୁ</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Notepads ସହିତ ଖୋଲନ୍ତୁ</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>ଏହା ହେଉଛି Notepads ଛାୟା ୱିଣ୍ଡୋ| ଅଧିବେଶନ ସ୍ନାପସଟ୍ ଏବଂ ସେଟିଙ୍ଗ୍ସ ଅକ୍ଷମ ହୋଇଛି|</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>ଫାଇଲ୍ ପୂର୍ବରୁ ଖୋଲା ଯାଇଛି!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>ନୂତନ ୱିଣ୍ଡୋ</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>ଏକ ନୂତନ ୱିଣ୍ଡୋ ଖୋଲିବ</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>ନୂତନ ୱିଣ୍ଡୋ</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>ଲାଇନକୁ ଯାଆନ୍ତୁ</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>ଲାଇନ ସଂଖ୍ୟା ସମୁଦାୟ ଧାଡି ସଂଖ୍ୟା ବାହାରେ!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>ଆପଣ କେବଳ ଏକ ନମ୍ବର ଟାଇପ୍ କରିପାରିବେ!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>ଲାଇନକୁ ଯାଆନ୍ତୁ</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ଇଣ୍ଟରନେଟ୍ ସନ୍ଧାନ କରନ୍ତୁ</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>ଡିଫଲ୍ଟ ଜୁମ୍ ପୁନଃସ୍ଥାପନ</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>ବଡ କର</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>ଛୋଟ କର</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>ଲାଇନକୁ:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>ସମସ୍ତ ମୁଦ୍ରଣ କରନ୍ତୁ...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>କେବଳ ଗୋଟିଏ ଦଶମିକ ସ୍ଥାନ ପର୍ଯ୍ୟନ୍ତ ଗ୍ରହଣ କରିପାରିବ</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>ମୂଲ୍ୟ ସୀମା ବାହାରେ</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>ନିମ୍ନଭାଗ</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>ଶୀର୍ଷଲେଖ</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>ଭୂସମାନ୍ତର ମାର୍ଜିନ୍ (% ରେ)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>କାଗଜ ମୋଟେଇର % ରେ</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>ମୁଦ୍ରଣ ତ୍ରୁଟି:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>ମୁଦ୍ରଣ କରିବାରେ ବିଫଳ</value>\r\n    <comment>Print: Notification message on print failure</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>ଏହି ଡିଭାଇସରେ ମୁଦ୍ରଣ ସମର୍ଥିତ ନାହିଁ </value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>ଭର୍ଟିକାଲ୍ ମାର୍ଜିନ୍ (% ରେ)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>ରେଗୁଲାର୍ ଏକ୍ସପ୍ରେସନ</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>ସମ୍ପ୍ରତି ଖୋଲନ୍ତୁ</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>ନିକଟରେ ଖୋଲାଯାଇଥିବା ସଫା କରନ୍ତୁ</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>ଅଧିକ ଏନକୋଡିଂ</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>ଏନକୋଡିଂ ସହିତ ଖୋଲନ୍ତୁ</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>ଏନକୋଡିଂ ସହିତ ସଞ୍ଚନ୍ତୁ</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>ଅବୈଧ ରେଗୁଲାର୍ ଏକ୍ସପ୍ରେସନ!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>ସ୍ୱତଃ ଏନକୋଡିଂ ର ଅନୁମାନ</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>ଏନକୋଡିଂ ନିର୍ଣ୍ଣୟ କରାଯାଇପାରିଲା ନାହିଁ</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>ପୂର୍ବ ଖୋଜ (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>ବଦଳ ମୋଡ୍ ଟୋଗଲ୍ କରନ୍ତୁ</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ଡାହାଣରୁ-ବାମ ପଠନ କ୍ରମ</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>ତେରଛା</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>ସ‍ାଧାରଣ</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>କୁଟିଳ</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>ସ୍ୟାହ</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>ମୋଟା</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>ଅତିରିକ୍ତ ସ୍ୟାହ</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>ଅତିରିକ୍ତ ମୋଟା</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>ଅତିରିକ୍ତ ସରଳ</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>ସରଳ</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>ମଧ୍ୟମ</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>ସ‍ାଧାରଣ</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>ଅଧା ମୋଟା</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>ଅଧା ସରଳ</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>ପତଳା</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>ବାତିଲ୍ କରନ୍ତୁ</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>ସଞ୍ଚୟ କରନ୍ତୁ</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>ନାମବଦଳ</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>ଫାଇଲ୍ ନାମ ଅବୈଧ ବର୍ଣ୍ଣ ଧାରଣ କରିବା ଉଚିତ୍ ନୁହେଁ</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>ଫାଇଲ୍ ନାମ ଅଗ୍ରଣୀ ସ୍ପେସ ଧାରଣ କରିବା ଉଚିତ୍ ନୁହେଁ</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>ଫାଇଲ୍ ନାମ ପରବର୍ତି ସ୍ପେସ୍ ଧାରଣ କରିବା ଉଚିତ୍ ନୁହେଁ</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>ଫାଇଲ୍ ନାମ ଖାଲି କିମ୍ବା ସମସ୍ତ ହ୍ବାଇଟସ୍ପେସ୍ ହୋଇପାରିବ ନାହିଁ</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>ଫାଇଲ୍ ନାମ ଅବୈଧ କିମ୍ବା ଅନୁମତିପ୍ରାପ୍ତ ନୁହେଁ</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>ଫାଇଲ୍ ନାମ ୨୫୫ ବର୍ଣ୍ଣରୁ ଅଧିକ ହୋଇପାରିବ ନାହିଁ</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>ନାମବଦଳ</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>ନାମ ବଦଳିଲା</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>ଏହି ସମୟରେ ଖାଲି ଫାଇଲ୍ ଏକ୍ସଟେନ୍ସନ୍ ସମର୍ଥିତ ନୁହେଁ</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>ଫାଇଲ ଏକ୍ସଟେନ୍ସନ୍ \"{0}\" ଏହି ମୁହୂର୍ତ୍ତରେ ସମର୍ଥିତ ନୁହେଁ</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>बंद करें</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>अशुद्ध डेटा के कारण पिछले सत्र से डेटा को पुनर्प्राप्त करने में विफल रहे। कृपया सत्र के फ़ोल्डर में अपने सभी बिना सेव किए गए फ़ाइलें (*.txt) बैकअप करें।</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>सत्र बैकअप फ़ोल्डर खोलें</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>चेतावनी</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/or-IN/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>ନିର୍ଭରଶୀଳତା ଏବଂ ସନ୍ଦର୍ଭ</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>କୌଣସି ପ୍ରକାରର ୱାରେଣ୍ଟି ବିନା ସଫ୍ଟୱେୟାର “ଯେପରି” ପ୍ରଦାନ କରାଯାଇଛି, ୱାରେଣ୍ଟିର ବାଣିଜ୍ୟ ଯୋଗ୍ୟତା, ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ଉଦ୍ଦେଶ୍ୟ ପାଇଁ ଫିଟ୍ ଏବଂ ଉଲ୍ଲଂଘନ ସହିତ ସୀମିତ ନୁହେଁ| କୌଣସି ଘଟଣାରେ ଲେଖକ କିମ୍ବା କପିରାଇଟ୍ ହୋଲ୍ଡରମାନେ କୌଣସି ଦାବି, କ୍ଷତି କିମ୍ବା ଅନ୍ୟାନ୍ୟ ଦାୟିତ୍ବ ପାଇଁ ଦାୟୀ ରହିବେ ନାହିଁ, ଯାହା କୌଣସି ଚୁକ୍ତିନାମା, ଟର୍ଟ କିମ୍ବା ଅନ୍ୟାନ୍ୟ ଜ୍ଞାନ, ସଫ୍ଟୱେୟାରର ବ୍ୟବହାର କିମ୍ବା ଅନ୍ୟାନ୍ୟ ଡିଲ୍ ସହିତ ସଂଯୋଗରେ|</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>ପ୍ରତ୍ୟାଖ୍ୟାନ</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>ମାଗଣା ଏବଂ ମୁକ୍ତ ଉତ୍ସ ପାଠ୍ୟ ସମ୍ପାଦକ ଜ୍ୟାକି (ଜିଆକି) ଲିୟୁ ଦ୍ୱାରା ପରିକଳ୍ପିତ ଏବଂ କାର୍ଯ୍ୟକାରୀ|</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>ଲେଖକମାନଙ୍କ ସହିତ ଯୋଗାଯୋଗ କରିବାକୁ:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>ରିପୋର୍ଟ ଏବଂ ବୈଶିଷ୍ଟ୍ୟ ଅନୁରୋଧ ପ୍ରଦାନ କରିବାକୁ:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Github ରେ ଉତ୍ସ କୋଡ୍ ଉପଲବ୍ଧ:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>ଅଧିକ ସୂଚନା ପାଇଁ, ଦୟାକରି ଆମର ୱେବସାଇଟ୍ ପରିଦର୍ଶନ କରନ୍ତୁ:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>ଗୋପନୀୟତା ବିବୃତ୍ତି</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>ବିଷୟରେ</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>ଷ୍ଟାଟସ୍ ବାର୍ ଦେଖାନ୍ତୁ</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>ଷ୍ଟାଟସ୍ ବାର୍ ଦେଖାନ୍ତୁ</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ଷ୍ଟାଟସ୍ ବାର୍ ସେଟିଙ୍ଗ୍ସ</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>ଅଭିନବ</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ଆକ୍ସେଣ୍ଟ ରଙ୍ଗ</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>ମୋର Windows ଆକ୍ସେଣ୍ଟ ରଙ୍ଗ ବ୍ୟବହାର କରନ୍ତୁ</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>ମୋର Windows ଆକ୍ସେଣ୍ଟ ରଙ୍ଗ ବ୍ୟବହାର କରନ୍ତୁ</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>ଆକ୍ରିଲିକ୍ ପୃଷ୍ଠଭୂମି ଟିଣ୍ଟ୍ ସ୍ୱଚ୍ଛତା| ଦୟାକରି ଧ୍ୟାନ ଦିଅନ୍ତୁ ଯେ ବ୍ୟାଟେରୀ ସେଭର୍ ମୋଡ୍ ଅନ୍ ଥିବାବେଳେ କିମ୍ବା ଯଦି ଆପଣ ୱିଣ୍ଡୋଜ୍ ସେଟିଂସମୂହରେ ସ୍ୱଚ୍ଛତା ପ୍ରଭାବ ବନ୍ଦ କରନ୍ତି, ଆକ୍ରିଲିକ୍ ପ୍ରଭାବ ଅକ୍ଷମ ହେବ|</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ପୃଷ୍ଠଭୂମି ଟିଣ୍ଟ ସ୍ୱଚ୍ଛତା</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ଅନ୍ଧକାର</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ଆଲୋକ</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ଥିମ୍ ମୋଡ୍</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ମୋ Windows ମୋଡ୍ ବ୍ୟବହାର କରନ୍ତୁ</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>ବ୍ୟକ୍ତିଗତକରଣ</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Windows କୋଡ୍ ପୃଷ୍ଠା)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>ଯଦି ଫାଇଲର ଏନକୋଡିଂ ଚିହ୍ନଟ ହୋଇପାରିବ ନାହିଁ ତେବେ ଫଲବ୍ୟାକ୍ ଡିକୋଡିଂ ବ୍ୟବହାର ହେବ| </value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ଫଲବ୍ୟାକ୍ ଡିକୋଡିଂ</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>କେବଳ ନୂତନ ଡକ୍ୟୁମେଣ୍ଟ୍ ପାଇଁ ପ୍ରଯୁଜ୍ୟ|</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ଡିଫଲ୍ଟ ଏନକୋଡିଂ</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ଡିଫଲ୍ଟ ଫଣ୍ଟ ଏବଂ ଆକାର</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>କେବଳ ନୂତନ ଡକ୍ୟୁମେଣ୍ଟ୍ ପାଇଁ ପ୍ରଯୁଜ୍ୟ|</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ଡିଫଲ୍ଟ ଲାଇନ ଶେଷ</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ଡିଫଲ୍ଟ (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>ଟ୍ୟାବ୍ କି ଆଚରଣ ପାଇଁ ସେଟିଙ୍ଗ୍ସ କେବଳ ଉପଭୋକ୍ତା ଦ୍ୱାରା ସନ୍ନିବେଶିତ ନୂତନ ଟ୍ୟାବଗୁଡ଼ିକ ପାଇଁ ପ୍ରଯୁଜ୍ୟ|</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>୮ ଟି ସ୍ଥାନ</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>୪ ଟି ସ୍ଥାନ</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ଟ୍ୟାବ୍ ଆଚରଣ</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>୨ ଟି ସ୍ଥାନ</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ଟେକ୍ଷ୍ଟ ରାପିଙ୍ଗ୍</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>ରାପ୍ ୱର୍ଡ</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>ରାପ୍ ୱର୍ଡ</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>ପାଠ ଏବଂ ସମ୍ପାଦକ</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>ଚେଜ୍ଞ୍ଜଲଗ୍</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>ଥରେ ସକ୍ଷମ ହୋଇଗଲେ, Notepads ପରବର୍ତ୍ତୀ ଉନ୍ମୋଚନ ପାଇଁ ସାମ୍ପ୍ରତିକ ଅଧିବେଶନକୁ ମନେ ରଖିବ ଏବଂ ଅନାବଶ୍ୟକ ପରିବର୍ତ୍ତନଗୁଡ଼ିକ ପାଇଁ ଆକସ୍ମିକ ତଥ୍ୟ ନଷ୍ଟକୁ ରୋକିବା ପାଇଁ ଏକ ପର୍ଯ୍ୟାୟ ଅଧିବେଶନ ସ୍ନାପସଟ୍ ବ୍ୟାକଅପ୍ କରିବ| ଯଦି ଏହି ବୈଶିଷ୍ଟ୍ୟ ସକ୍ଷମ ହୋଇଛି, Notepads ଆପଣଙ୍କୁ ଆପ୍ ବନ୍ଦରେ ଆପଣଙ୍କର କାର୍ଯ୍ୟ ସଞ୍ଚୟ କରିବାକୁ ମନେ ପକାଇବ ନାହିଁ| ଦୟାକରି ଏହା ମଧ୍ୟ ମନେରଖନ୍ତୁ ଯେ ଅଧିବେଶନ ସ୍ନାପସଟ୍ କେବଳ Notepads ପ୍ରଥମ କିମ୍ବା ମୁଖ୍ୟ ୱିଣ୍ଡୋରେ କାମ କରେ|</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>ଅଧିବେଶନ ସ୍ନାପସଟ୍ ସକ୍ଷମ କରନ୍ତୁ</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>ଅଧିବେଶନ ସ୍ନାପସଟ୍ ସକ୍ଷମ କରନ୍ତୁ</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ଅଧିବେଶନ ସ୍ନାପସଟ୍ ସେଟିଙ୍ଗ୍ସ</value>\r\n    <comment>AdvancedPageSessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>ଭୁଲ ବନାନ ଶବ୍ଦଗୁଡ଼ିକୁ ହାଇଲାଇଟ୍ କରନ୍ତୁ</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>ଭୁଲ ବନାନ ଶବ୍ଦଗୁଡ଼ିକୁ ହାଇଲାଇଟ୍ କରନ୍ତୁ</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ବନାନ</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>ଥରେ ସକ୍ଷମ ହୋଇଗଲେ, Notepads ସବୁବେଳେ ଏକ ନୂଆ ଟ୍ୟାବ୍ ତିଆରି କରିବା ପରିବର୍ତ୍ତେ ଏକ ନୂତନ ୱିଣ୍ଡୋରେ ଫାଇଲ୍ ଖୋଲିବ|</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>ସର୍ବଦା ନୂତନ ୱିଣ୍ଡୋ ଖୋଲ</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>ସର୍ବଦା ନୂତନ ୱିଣ୍ଡୋ ଖୋଲ</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ପସନ୍ଦଗୁଡିକ ଆରମ୍ଭ କରନ୍ତୁ</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>ସାମ୍ପ୍ରତିକ ଲାଇନ୍ ହାଇଲାଇଟ୍ କରନ୍ତୁ</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>ସାମ୍ପ୍ରତିକ ଲାଇନ୍ ହାଇଲାଇଟ୍ କରନ୍ତୁ</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>କଷ୍ଟମ୍ ସର୍ଚ୍ଚ ଇଞ୍ଜିନ୍</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*ଏହି ଫର୍ମାଟ୍ ର ଏକ URL ପ୍ରବେଶ କରନ୍ତୁ https://www.example.com/search?q= {0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>ଇଣ୍ଟରନେଟରେ ସନ୍ଧାନ କରିବା ସମୟରେ ଡିଫଲ୍ଟ ସର୍ଚ୍ଚ ଇଞ୍ଜିନ୍ ପାଇଁ ମନୋନୀତ ସେଟିଂ</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ଡିଫଲ୍ଟ ସର୍ଚ୍ଚ ଇଞ୍ଜିନ୍</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ସ୍ୱତଃ ଏନକୋଡିଂ ର ଅନୁମାନ (ପରାମର୍ଶିତ)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ଦର୍ଶନ</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>ଡକ୍ୟୁମେଣ୍ଟ୍ ରେ ଲାଇନ୍ ନମ୍ବର ପ୍ରଦର୍ଶନ କରନ୍ତୁ|</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>ଲାଇନ୍ ନମ୍ବର ପ୍ରଦର୍ଶନ କରନ୍ତୁ</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>ଲାଇନ୍ ନମ୍ବର ପ୍ରଦର୍ଶନ କରନ୍ତୁ</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ଡିଫଲ୍ଟ ଫଣ୍ଟ ଶୈଳୀ</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ଡିଫଲ୍ଟ ଫଣ୍ଟ ଓଜନ</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Notepadsରେ ବ୍ୟବହୃତ ସିଷ୍ଟମ୍ ଡିଫଲ୍ଟ ଭାଷାକୁ ନବଲିଖନ କରିବାକୁ ଏକ ବିଶେଷ ଭାବରେ ଭାଷା ବାଛନ୍ତୁ| ପରିବର୍ତ୍ତନଗୁଡିକ ସଂପୂର୍ଣ୍ଣ କରିବାକୁ ପୁନରାରମ୍ଭ ଆବଶ୍ୟକ|</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*ପରିବର୍ତ୍ତନଗୁଡିକ ସମ୍ପୂର୍ଣ୍ଣ କରିବାକୁ Notepads ପୁନରାରମ୍ଭ କରନ୍ତୁ|</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ପସନ୍ଦିତ ଭାଷା</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>ଥରେ ସକ୍ଷମ ହୋଇଗଲେ, Notepads ଚତୁରତାର ସହିତ ଅଗ୍ରଣୀ ଏବଂ ଟ୍ରେଲିଂ ସ୍ପେସ୍, ଟ୍ୟାବ୍, ଏବଂ ଖାଲି ରେଖାଗୁଡ଼ିକୁ କ୍ଲିପବୋର୍ଡରେ କପି କରିବା ପୂର୍ବରୁ ଛେଦନ କରିବ|</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>ସ୍ମାର୍ଟ କପି ସକ୍ଷମ କରନ୍ତୁ</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>ସ୍ମାର୍ଟ କପି ସକ୍ଷମ କରନ୍ତୁ</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>ସ୍ମାର୍ଟ କପି ସେଟିଂସମୂହ</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>ବ୍ୟବସ୍ଥା ସ୍ଥିତ</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>आखरी टैब बंद करते समय ऐप बंद करें</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>आखरी टैब बंद करते समय ऐप बंद करें</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/pl-PL/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Aegisub Advanced Subtitle</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik jezyka Assembly</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Active Server Page</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik skryptu AutoHotkey</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Bash Aliases</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Bash History</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Bash Login</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Bash Logout</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Bash Profile</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik skryptu Bash</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik BibTeX</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Bond</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Eclipse Build Path</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kod źródłowy języka C</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Common Gateway Interface</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Clojure</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik CMake</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik CoffeeScript</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Comma Separated Values</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ustawienia konfiguracji</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kod źródłowy języka C++</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kod źródłowy języka C#</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kaskadowy arkusz stylów</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik DAT</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Diff</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Docker File</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik EBuild</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kod źródłowy języka F#</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik atrybutów Git</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik konfiguracyjny Git</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik ignorujący Git</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik GLSP</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kod źródłowy języka Google Go</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Groovy</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Handlebars</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Nagłowka języka C++</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik HLSL</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Strona internetowa HTML</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Hypertext Access</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ustawienia konfiguracyjne</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Install</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kod źródłowy języka Java</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Skrypt JavaScript</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik JSON</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik JavaScript Pages</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Less</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik dziennika</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik tekstu piosenki</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kod źródłowy języka LUA</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Map</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kod źródłowy języka Markdown</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik informacji Warez</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik konfiguracji NPM</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Perl 6</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kod źródłowy języka Perl</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kod źródłowy języka PHP</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Pod</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Skrypt PowerShell</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Profile</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Project</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Pug</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Skrypt języka Python</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Razor</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik R</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kod źródłowy języka Ruby</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik poleceń</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Rust</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Shader</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik skryptu Shell</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kod źródłowy języka SQL</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Sub Station Alpha Subtitle</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik napisów</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Swift</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Dokument tekstowy</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik T</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kod źródłowy języka TypeScript</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik User</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik Verilog</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kod źródłowy języka Visual Basic</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik konfiguracyjny biblioteki Vue</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kod źródłowy biblioteki Vue</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik XAML</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Dokument XML</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kod źródłowy języka YAML</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik konfiguracyjny Z shell</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik historii Z shell</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik M3U</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik kodów</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik projektu języka C#</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik środowiska</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik GLSL</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik licencji</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik OPT</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik list właściwości</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik PVD</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik zasobów</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik TOML</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Plik XSL</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/pl-PL/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Anuluj</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Zmiany nie zostały zapisane.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Zapisz</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Nie zapisuj</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Czy chcesz zapisać zmiany w pliku?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Brak zawartości do udostępnienia. Nie zaznaczono żadnego tekstu lub dokument jest pusty.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Po dokonaniu zmian</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Przed dokonaniem zmian</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads nie wspiera plików większych niż 1MB w obecnej fazie rozwoju.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Niestety, plik \"{0}\" nie może zostać otworzony: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>OK</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Nie można otworzyć pliku</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Niestety, plik \"{0}\" nie może zostać zapisany: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>OK</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Błąd zapisu pliku</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Zamknij</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Znajdź</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Nie znaleziono szukanej frazy</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Zamień wszystkie (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Zamień</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Zamień (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Znajdź następny (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Opcje szukania</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Uwzględnij wielkość liter</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Uwzględnij całe wyrazy</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Znajdź...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Nowy</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Otwórz...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Drukuj...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Zamień...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Zapisz</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Zapisz wszystkie</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Zapisz jako...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Ustawienia</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Anuluj</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>Wszystkie zmiany takie jak: wpisany tekst, zakończenia lini oraz kodowanie dokonane w pliku \"{0}\" zostaną wycofane!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Tak</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Czy chcesz wycofać wszystkie zmiany?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Anuluj</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Zmiany w pliku \"{0}\" nie zostały zapisane?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Zapisz</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Nie zapisuj</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Zapisać dokonane zmiany?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zamknij</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zamknij inne karty</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zamknij karty z prawej strony</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zamknij zapisane karty</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kopiuj ścieżkę do pliku</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Otwórz lokalizację pliku</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kopiuj</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Wytnij</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Wklej</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Zmień widok</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Wykonaj ponownie</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zaznacz wszystko</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Udostępnij</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Udostępnij zaznaczony tekst</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Cofnij</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zawijanie wierszy</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Bez tytułu.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Linia {0}, kolumna {1} ({3} {2} znak(i/ów))</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Linia {0}, kolumna {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Pokaż zmiany</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Odrzuć wszystkie zmiany</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Zmodyfikowano</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Skopiowano</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Zapisano</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Naciśnij F11 aby opuścić tryb pełnoekranowy</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Odśwież plik</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Plik został zmodyfikowany przez inny program!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Plik został przeniesiony, usunięty lub jego nazwa została zmieniona!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Odświeżono</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Tryb kompaktowy</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Tryb pełnoekranowy</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Opuść tryb kompaktowy</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Opuść tryb pełnoekranowy</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>Zaznaczono</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>Zaznaczono</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Przenieś tę kartę tutaj</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Otwórz za pomocą Notepads</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Uruchomiono klon Notepads. Migawka sesji i ustawienia są wyłączone.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>Plik jest już otworzony!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Nowe okno</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Otwiera nowe okno</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Nowe okno</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Ostatnio używane</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Numer lini</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>Wpisana wartość przekracza zakres lini w dokumencie!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Możesz wpisywać tylko liczby!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Idź do lini</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Wyszukaj w Internecie</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Przywróć powiększenie domyślne</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Powiększ</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Pomniejsz</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Idź do:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Wydrukuj wszystkie...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Możliwe jest tylko jedno miejsce po przecinku</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Wartość poza zakresem</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Stopka</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Nagłówek</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Margines poziomy (w procentach)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>Szerokość papieru (w procentach)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Błąd modułu drukowania:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Błąd drukowanie</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>Twoje urządzenie nie wspiera drukowania</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Margines poziomy (w procentach)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Wyrażenia regularne</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Wyczyść historię ostatnio używanych plików</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Więcej sposobów kodowania</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Otwórz z innym kodowaniem</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Zapisz z innym kodowaniem</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Niepoprawne wyrażenie regularne!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Wykryj kodowanie</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>Nie można określić typu kodowania</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Znajdź poprzedni (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Zmień tryb zamieniania</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kolejność czytania od prawej do lewej</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Kursywa</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Normalny</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Pochylony</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Black</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Pogrubiona</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra Black</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra Bold</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra Light</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Light</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Średnia</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normalna</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi Bold</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi Light</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Thin</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Anuluj</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Zapisz</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Zmień nazwę</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>Nazwa pliku nie powinna zawierać nieprawidłowych znaków</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>Nazwa pliku nie powinna zawierać wiodących spacji</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>Nazwa pliku nie powinna zawierać końcowych spacji</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>Nazwa pliku nie może być pusta lub być pustym znakiem</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>Nazwa pliku jest niepoprawna lub niedozwolona</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>Nazwa pliku nie może być dłuższa niż 255 znaków</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zmień nazwę</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Zmieniono nazwę</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Puste rozszerzenie nie jest jeszcze wspierane</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>Rozszerzenie \"{0}\" nie jest jeszcze wspierane</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Zamknij</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Nie udało się odzyskać danych z ostatniej sesji z powodu uszkodzonych danych. Proszę zrobić kopię zapasową wszystkich niezapisanych plików (*.txt) w folderze sesji.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Otwórz folder z kopią zapasową sesji</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Ostrzeżenie</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/pl-PL/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Użyte biblioteki oraz licencje</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>OPROGRAMOWANIE JEST DOSTARCZANE „W TAKIM STANIE, W JAKIM JEST”. NIE DAJEMY ŻADNEJ GWARANCJI NA JEGO DZIAŁANIE. W ŻADNYM WYPADKU AUTORZY LUB POSIADACZE PRAW AUTORSKICH NIE PONOSZĄ ODPOWIEDZIALNOŚCI ZA JAKIEKOLWIEK ROSZCZENIA, SZKODY LUB INNE ODPOWIEDZIALNOŚCI.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Oświadczenie</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Darmowy, otwartożródłowy edytor tekstu stworzony przez Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Kontakt z autorami:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Zgłoś błąd lub zaproponuj funkcję:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Kod źródłowy dostępny jest w serwisie Github:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>Po więcej informacji, odwiedź naszą stronę:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Polityka prywatności</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>O programie</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Pokaż pasek stanu</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Pokaż pasek stanu</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Pasek stanu</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Zaawansowane</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Kolor wiodący</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Użyj koloru wiodącego systemu</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Użyj koloru wiodącego systemu</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Poziom akrylowego rozmycia tła. Należy pamiętać, że rozmycie tła jest niedostępne, gdy jest włączone oszczędzanie baterii lub opcja przeżroczystości jest wyłączona w Ustawieniach systemu Windows.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Rozmycia tła</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Ciemny</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Jasny</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Motyw</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Użyj motywu systemu Windows</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Personalizacja</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (system Windows)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Dekodowanie rezerwowe zostanie zastosowane, jeśli kodowanie pliku nie zostanie rozpoznane.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Dekodowanie rezerwowe</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Wybierz sposób domyślnego kodowania.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Domyślne kodowanie</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Rozmiar i rodzaj czcionki</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Wybierz domyślne kończenie linii.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Kończenie linii</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Domyślne (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Ustawienia zachowania klawisza Tab, dotyczy tylko danych wpisanych przez użytkownika.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 Spacji</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 Spacje</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tryb tabulatora</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 Spacje</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Zawijanie wierszy</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Zawijaj wiersze</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Zawijaj wiersze</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Tekst i edytor</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Lista zmian</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Gdy włączone, Notepads zapamięta obecną sesję do następnego uruchomienia programu. Zrobi także kopię okresowej migawki sesji aby zapobiec przypadkowej utracie danych w przypadku niezapisania zmian. Notepads NIE BĘDZIE przypominał o zapisie Twojej pracy przy zamykaniu aplikacji gdy ta opcja jest włączona. UWAGA: Migawka sesji działa tylko w pierwszym lub głównym oknie Notepads.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Włącz migawkę sesji</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Włącz migawkę sesji</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Migawka sesji</value>\r\n    <comment>AdvancedPageSessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Wyróżniaj błędnie zapisane słowa</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Wyróżniaj błędnie zapisane słowa</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Pisownia</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Gdy włączone, nowe pliki będą otwierane w nowym oknie zamiast tworzyć nową kartę.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Zawsze otwieraj w nowym oknie</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Zawsze otwieraj w nowym oknie</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Uruchamianie</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Pokaż prowadnice wierszy</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Pokaż prowadnice wierszy</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Niestandardowy silnik wyszukiwarki</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*Wprowadź adres URL o formacie https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Wybierz domyślny silnik wyszukiwanki internetowej.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Domyślny silnik wyszukiwarki</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Automatyczne przewidywanie kodowania (Zalecane)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Wyświetlanie</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Pokazuj numery wierszy w dokumencie.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Pokaż numery wierszy</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Pokaż numery wierszy</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Domyślny styl czcionki</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Domyślna grubość czcionki</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Wybierz niestandardowy język wyświetlania do nadpisania języka systemu używanego przez Notepads. Wymagane jest uruchomienie aplikacji ponownie w celu dokonania zmian.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Uruchom ponownie Notepads, aby zastosować zmiany.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Preferencje języka</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Gdy włączone, Notepads będzie inteligentnie przycinał wiodące i końcowe spacje, wcięcia, oraz puste linie przed skopiowaniem zaznaczonego tekstu do schowka.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Włącz inteligentne kopiowanie</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Włącz inteligentne kopiowanie</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Ustawienia inteligentnego kopiowania</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>System Default</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Zamknij aplikację przy zamykaniu ostatniej karty.</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Zamknij aplikację przy zamykaniu ostatniej karty.</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/pt-BR/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Aegisub Advanced Subtitle</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo de Linguagem Assembly</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo ASP</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo AutoHotkey Script</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Bash Aliases</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Bash History</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Bash Login</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Bash Logout</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Bash Profile</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Bash Script</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo BibTeX</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Bond</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Build Path</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo C</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo CGI</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Clojure</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Cmake</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivos CoffeeScript</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Comma Separated Values</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Definições de configuração</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo C++</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo C#</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo CSS</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo DAT</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Diff</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Docker</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo EBuild</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo F#</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Git Attributes</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Git Config</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Git Ignore</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo GLSP</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Go</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Groovy</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Handlebars</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Header</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo HLSL</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo HTML</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Hypertext Access</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo de Inicialização</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Install</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Java</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Javascript</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo JSON</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo JSP</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Less</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Log</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Lyrics</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo LUA</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Map</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Markdown</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo NFO</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo NPM Config</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Perl 6</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Perl</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo PHP</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Pod</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo PowerShell</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Profile</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Project</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Pug</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Python</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Razor</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo R</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Ruby</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo de Execução de Comandos</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Rust</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Shader</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Shell Script</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo SQL</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo de Legenda Sub Station Alpha</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo de Legenda</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Swift</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Documento de Texto</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo T</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo TypeScript</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo de Usuário</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Verilog</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Visual Basic</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Vue Config</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Vue</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo XAML</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo XML</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo YAML</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Z shell Config</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Arquivo Z shell History</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U File</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat File</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Project File</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Environment File</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL File</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>License File</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT File</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property List File</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD File</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Resource File</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML File</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL File</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/pt-BR/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Cancelar</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Há alterações não salvas.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Salvar Todos</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Descartar</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Você deseja salvar as alterações?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Depois das suas alterações</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Antes das suas alterações</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>O Notepads, no momento, não suporta arquivos maiores que 1MB.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Desculpe, o arquivo \"{0}\" não pôde ser aberto: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Erro ao abrir o arquivo</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Desculpe, o arquivo \"{0}\" não pôde ser salvo: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Erro ao salvar o arquivo</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Fechar</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Localizar</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Não localizado</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Substituir Tudo (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Substituir</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Substituir (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Localizar próxima (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Opções de busca</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Diferenciar maiúsculas de minúsculas</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Coincidir palavra inteira</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Localizar...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Novo</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Abrir...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Imprimir...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Substituir...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Salvar</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Salvar Todos</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Salvar Como...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Configurações</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Cancelar</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>Todas as alterações incluindo texto, terminação e codificação de linha feitas no \"{0}\" serão revertidas!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Sim</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Reverter todas as alterações?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Cancelar</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Salvar o arquivo \"{0}\"?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Salvar</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Não Salvar</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Salvar as alterações?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Fechar</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Fechar Outros</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Fechar à direita</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Fechar Salvos</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Copiar o caminho completo</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Abrir pasta do arquivo</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Copiar</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Recortar</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Colar</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Ativar pré-visualização</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Refazer</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Selecionar Tudo</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Compartilhar</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Compartilhar o selecionado</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Desfazer</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Quebra automática de linha</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Sem título.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Ln {0}, Col {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for selected word form. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Ln {0}, Col {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Visualizar alterações no texto</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Reverter todas as alterações</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Modificado</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Copiado</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Salvo</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Pressione F11 para sair da tela cheia</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Recarregar arquivo do disco</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>O arquivo foi modificado externamente!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>O arquivo foi movido, renomeado ou deletado!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Arquivo recarregado</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Manter na parte superior</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Tela Cheia</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Voltar para visualização completa</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Sair da Tela Cheia</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Não há nada para compartilhar, porque nenhum texto foi selecionado e o atual documento está vazio.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>selecionados</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>selecionado</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Mover a guia aqui</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Abrir com o Notepads</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Esta é uma janela de sombra do Notepads. A sessão instantânea e configurações estão desativadas.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>Arquivo já aberto!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Abre uma nova janela</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Nova janela</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Nova janela</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Abrir Recentes</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Ir para a linha</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Ir para:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>O número da linha está além do número total de linhas!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Você só pode digitar números!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Ir para a linha</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Procurar na web</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Restaurar Zoom Padrão</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Ampliar</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Reduzir</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Usar Expressão Regular</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Imprimir Todos...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Só é aceito até uma casa decimal</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Valor fora do alcance</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Rodapé</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Cabeçalho</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Margem Horizontal (em %)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>Na % da largura do papel</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Erro na impressão:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Falha ao imprimir</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>A impressão não é suportada neste dispositivo</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Margem Vertical (em %)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Limpar Recentemente Aberto</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Mais Codificações</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Reabrir com codificação</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Salvar com codificação</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Expressão regular inválida!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Adivinhar Codificação</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>Não foi possível determinar a codificação</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Localizar Anterior (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Alternar modo de Substituição</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Leitura da Direita para Esquerda</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Itálico</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Regular</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Oblíquo</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Black</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Negrito</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra Black</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra Negrito</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra Leve</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Leve</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Média</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Regular</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi Negrito</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi Leve</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Fina</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Cancelar</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Salvar</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Renomear</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>O nome do arquivo não deve conter caracteres inválidos</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>O nome do arquivo não deve conter espaços à esquerda</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>O nome do arquivo não deve conter espaços à direita</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>O nome do arquivo não deve estar vazio ou todo com os espaços em branco</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>O nome do arquivo é inválido ou não autorizado</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>O nome do arquivo não deve ter mais do que 255 caracteres</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Renomear</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Renomeado</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Arquivo sem extensão não é suportado no momento</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>A extensão \"{0}\" não é suportada no momento</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Fechar</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Falha ao recuperar dados da última sessão devido a dados corrompidos. Por favor, faça backup de todos os seus arquivos não salvos (*.txt) na pasta da sessão.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Abrir pasta de backup da sessão</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Aviso</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/pt-BR/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Dependências e referências</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Aviso legal</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Editor de texto gratuito e de código aberto projetado e implementado por Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Para contactar os autores:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Para reportar problemas e pedidos de novas funcionalidades:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Código fonte disponível no Github:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>Para mais informações, visite o nosso site:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Declaração de privacidade</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Sobre</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Mostrar barra de status</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Mostrar barra de status</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Configurações da barra de status</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Avançado</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Cor de destaque</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Usar cor de destaque do sistema</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Usar cor de destaque do sistema</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Opacidade do tom de fundo do acrílico. Saiba que o efeito acrílico será desativado quando o modo de economia de bateria estiver ativado ou se você desativar os efeitos de transparência nas configurações do Windows.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Opacidade do tom de fundo</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Escuro</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Claro</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tema</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Usar configuração do sistema</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Personalização</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Página de código do Windows)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>A decodificação reserva será utilizada se a codificação do arquivo não for reconhecida.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Decodificação reserva</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Se aplica apenas a novos documentos.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Codificação padrão</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Fonte e tamanho padrão</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Se aplica apenas a novos documentos.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Terminação de linha padrão</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Padrão (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>As configurações do funcionamento da tecla tab, se aplicam apenas a novos tabs inserido pelo usuário.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 Espaços</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 Espaços</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Comportamento do tab</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 Espaços</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Quebra automática</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Ativar quebra de linha</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Desativar quebra de linha</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Editor e texto</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Changelog</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Quando ativada, o Notepads irá lembrar a sessão atual na próxima utilização do aplicativo e fará um backup periódico para prevenir perda acidental de dados das alterações não salvas. O aplicativo não irá te lembrar de salvar o seu trabalho se essa opção estiver ativada. Lembre-se também que a sessão instantânea funciona somente na primeira/principal janela do Notepads.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Ativar sessão instantânea</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Desativar sessão instantânea</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Configurações de sessão instantânea</value>\r\n    <comment>AdvancedPageSessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Destacar erros ortográficos</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Destacar erros ortográficos</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Ortografia</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Quando ativada, o Notepads irá sempre abrir o arquivo em uma nova janela ao invés de criar uma nova aba.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Sempre abrir em uma nova janela</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Sempre abrir em uma nova janela</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Preferências de Inicialização</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Destacar linha atual</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Destacar linha atual</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Personalizado</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*Digite uma URL com o formato https://www.exemplo.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Configurações do motor de busca padrão escolhido, para quando é realizada uma busca na web.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Mecanismo de pesquisa padrão</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Detectar Codificação (Recomendado)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Exibição</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Exibe a numeração das linhas no documento.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Mostrar numeração das linhas</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Mostrar numeração das linhas</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Estilo padrão da fonte</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Espessura padrão da fonte</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>O idioma escolhido irá substituir o idioma padrão usado no Notepads. É necessário reiniciar para concluir as alterações.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Reinicie o Notepads para concluir as alterações.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Preferências de idioma</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Após ativado, o Notepads removerá inteligentemente espaços iniciais e finais, tabulações e linhas vazias antes de copiar o texto selecionado para a área de transferência.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Ativar Cópia Inteligente</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Ativar Cópia Inteligente</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Configurações de Cópia Inteligente</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>Padrão do Sistema</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Fechar o aplicativo ao fechar a última aba.</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Fechar o aplicativo ao fechar a última aba.</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/pt-PT/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Legenda Aegisub</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro de Linguagem Assembly</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro ASP</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Script de AutoHotkey</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Bash Aliases</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro de Histórico Bash</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Bash Login</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Bash Logout</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Bash Profile</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Bash Script</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Base de Dados BibTeX</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Bond</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Build Path</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro C</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Script de Common Gateway Interface</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Clojure</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro CMake</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro CoffeeScript</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro de Valores Separados por Vírgulas</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Definições de configuração</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro C++</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro C#</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Folha de Estilos CSS</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro DAT</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Diff</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Docker</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Script de Portage eBuild</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro F#</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Git Attributes</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuração de Git</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Git Ignore</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro GLSP</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Go</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Groovy</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Handlebars</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Header</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Sombreador HLSL</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Documento HTML</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Hypertext Access</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro de Inicialização</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Install</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Java</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro JavaScript</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro JSON</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro JSP</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Folha de Estilos LESS</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro de Registo</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Letras de Música</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro LUA</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Map</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Documento Markdown</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro de Informação NFO</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuração de NPM</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Perl 6</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Perl</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro PHP</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Pod</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Script de PowerShell</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro de Perfil</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro de Projeto</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Modelo de Pug</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Script de Python</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Razor</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro R</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Ruby</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro de Execução de Comandos</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Rust</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Sombreador Shader</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Script de Bash Shell</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Base de Dados SQL</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Legenda Sub Station Alpha</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Legenda SubRip</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Swift</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Documento de Texto</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro T</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro TypeScript</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuração de utilizador do Visual Studio</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Verilog</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Visual Basic</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuração do Vue</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Vue</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro de Marcação XAML</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro de Marcação XML</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Documento YAML</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuração de Z shell</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro de Histórico Z shell</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Lista de Reprodução M3U</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro Cheat</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro de Projeto C#</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro de Ambiente</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Sombreador GLSL</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro de Licença</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuração OPT</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuração do macOS</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro PVD</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Recursos de Localização .NET</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ficheiro TOML</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Folha de Estilos XML</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Documento de texto</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/pt-PT/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Cancelar</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Há alterações não guardadas.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Guardar tudo</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Não guardar</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Pretende guardar as alterações?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Não existe nada para partilhar porque não está selecionado nenhum texto e o documento atual está vazio.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Depois das suas alterações</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Antes das suas alterações</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Neste momento, o Notepads não suporta ficheiros superiores a 1MB.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Lamentamos, mas não foi possível abrir o ficheiro \"{0}\": {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Erro ao abrir o ficheiro</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Lamentamos, mas não foi possível guardar o ficheiro \"{0}\": {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Ok</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Erro ao guardar o ficheiro</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Fechar</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Localizar</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Não encontrado</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Substituir tudo (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Substituir</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Substituir (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Localizar seguinte (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Opções de pesquisa</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Respeitar maiúsculas de minúsculas</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Corresponder palavra inteira</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Localizar...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Novo</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Abrir...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Imprimir...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Substituir...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Guardar</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Guardar tudo</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Guardar como...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Definições</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Cancelar</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>Todas as alterações incluindo texto, terminação e codificação de linha feitas no \"{0}\" serão revertidas!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Sim</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Tem a certeza de que pretende reverter todas as alterações?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Cancelar</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Guardar o ficheiro \"{0}\"?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Guardar</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Não Guardar</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Guardar as alterações?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Fechar</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Fechar outros</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Fechar à direita</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Fechar guardados</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Copiar o caminho completo</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Abrir a pasta do ficheiro</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Copiar</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Cortar</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Colar</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Ativar/desativar pré-visualização</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Refazer</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Selecionar tudo</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Partilhar</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Partilhar seleção</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Desfazer</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Moldar o texto</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Sem título.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Ln {0}, Col {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Ln {0}, Col {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Pré-visualizar alterações no texto</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Reverter todas as alterações</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Modificado</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Copiado</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Guardado</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Prima F11 para sair do modo de ecrã inteiro</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Recarregar ficheiro a partir do disco</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>O ficheiro foi modificado externamente!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>O ficheiro foi movido, o nome foi mudado ou apagado!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Ficheiro recarregado</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Manter na parte superior</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Ecrã inteiro</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Voltar para visualização completa</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Sair do ecrã inteiro</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>selecionados</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>selecionado</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Mover a guia aqui</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Abrir com o Notepads</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Esta é uma janela de sombra do Notepads. A sessão instantânea e configurações estão desativadas.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>Ficheiro já aberto!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Nova janela</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Abre uma nova janela</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Nova janela</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Abrir recentes</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Ir para a linha</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>O número da linha está para além do número total de linhas!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Só pode digitar números!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Ir para a linha</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Pesquisar na web</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Restaurar zoom predefinido</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Ampliar</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Reduzir</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Ir para:</value>\r\n    <comment>GoTo: Go to bar label</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Imprimir tudo...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Só pode aceitar até uma casa decimal</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Valor fora do intervalo</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Rodapé</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Cabeçalho</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Margem horizontal (%)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>Na % da largura do papel</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Erro ao imprimir:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Falha ao imprimir</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>A impressão não é suportada neste dispositivo</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Margem vertical (%)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Utilizar Expressão Regular</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Limpar recentemente abertos</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Mais codificações</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Reabrir com a codificação</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Guardar com a codificação</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Expressão regular inválida!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Adivinhar Codificação</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>Não é possível determinar a codificação</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Localizar anterior (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Alternar modo de substituição</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Sentido da leitura da direita para a esquerda</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Itálico</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Oblíquo</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Preto</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Negrito</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra Black</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Super Negrito</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Ultra Leve</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Leve</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Médio</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi Negrito</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi Leve</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Fino</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Cancelar</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Guardar</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Mudar o nome</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>O nome do ficheiro não pode conter caracteres inválidos</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>O nome do ficheiro não pode conter espaços no início</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>O nome do ficheiro não pode conter espaços no fim</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>O nome do ficheiro não pode ficar em branco ou apenas espaços em branco</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>O nome do ficheiro é inválido ou não é permitido</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>O nome do ficheiro não pode ter mais de 255 caracteres</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Mudar o nome</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Nome mudado</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Neste momento, ficheiro sem extensão não é suportado</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>Neste momento, a extensão \"{0}\" não é suportada</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Fechar</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Não foi possível recuperar os dados da última sessão devido a dados corrompidos. Por favor, faça uma cópia de segurança de todos os seus ficheiros não guardados (*.txt) na pasta da sessão.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Abrir pasta de cópia de segurança da sessão</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Aviso</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/pt-PT/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Dependências e referências</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>O SOFTWARE É FORNECIDO \"TAL COMO ESTÁ\", SEM GARANTIAS DE QUALQUER TIPO, EXPRESSAS OU IMPLÍCITAS, INCLUINDO, MAS NÃO SE LIMITANDO A, GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM FIM ESPECÍFICO E NÃO INFRAÇÃO. EM CASO ALGUM SERÃO OS AUTORES OU TITULARES DOS DIREITOS DE AUTOR RESPONSÁVEIS POR QUAISQUER QUEIXAS, DANOS OU OUTRA RESPONSABILIDADE, SEJA POR AÇÃO DO CONTRATO, AÇÃO ILÍCITA OU OUTRA, DE ALGUM MODO DECORRENTE DE OU RELACIONADA COM O SOFTWARE OU A UTILIZAÇÃO OU OUTRAS TRANSAÇÕES NO SOFTWARE.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Exclusão de responsabilidade</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Editor de texto gratuito e de código aberto concebido e implementado por Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Para entrar em contacto com os autores:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Para reportar problemas e pedidos de funcionalidades:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>O código fonte está disponível no Github:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>Para obter mais informações, visite o nosso site:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Declaração de privacidade</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Acerca</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Mostrar barra de estado</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Mostrar barra de estado</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Barra de estado</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Avançado</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Cor de destaque</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Utilizar definição do sistema</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Utilizar definição do sistema</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Opacidade do tom de fundo acrílico. Note que o efeito acrílico será desativado quando o modo poupança de bateria está ativo ou se desligar os efeitos de transparência nas Definições do Windows.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Opacidade do fundo</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Escuro</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Claro</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tema</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Utilizar definição do sistema</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Personalização</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Página de código do Windows)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Se não for possível reconhecer a codificação do ficheiro, será utilizada a descodificação de contingência.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Decodificação de contingência</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Aplica-se apenas a novos documentos.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Codificação predefinida</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tipo de letra e tamanho</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Aplica-se apenas a novos documentos.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Quebra de linha predefinida</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Predefinação (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>As alterações do comportamento da tecla tabulação, só serão aplicadas às novas tabulações inseridas pelo utilizador.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 Espaços</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 Espaços</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Comportamento da tecla de tabulação</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 Espaços</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Moldagem do texto</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Moldar o texto</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Moldar o texto</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Editor e texto</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Notas de versão</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Após a ativação, o Notepads memoriza a sessão atual para o próximo lançamento e fará periodicamente uma cópia de segurança do instantâneo da sessão para prevenir a perda acidental de dados não guardados. NÃO será lembrado de guardar as suas alterações ao fechar a aplicação. Lembre-se de que o instantâneo da sessão só funciona na primeira ou janela principal do Notepads.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Ativar instantâneo da sessão</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Ativar instantâneo da sessão</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Instantâneo da sessão</value>\r\n    <comment>AdvancedPageSessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Realçar erros ortográficos</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Realçar erros ortográficos</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Ortografia</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Após ativação, será sempre aberta uma nova janela ao abrir um ficheiro em vez de abrir num novo separador.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Abrir sempre numa nova janela</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Abrir sempre numa nova janela</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Preferências de início</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Realçar a linha atual</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Realçar a linha atual</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Personalizado</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*Introduza um URL no formato https://www.exemplo.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Escolher o motor de pesquisa que é utilizado quando é efetuada uma pesquisa na web.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Motor de pesquisa predefinido</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Detectar automaticamente a codificação (Recomendado)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Apresentação</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Mostrar os números de linha no documento.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Mostrar números de linha</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Mostrar números de linha</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Estilo</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Peso</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>O idioma escolhido irá substituir o idioma predefinido utilizado no Notepads. Será necessário reiniciar para concluir as alterações.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Verá a sua alteração quando voltar a iniciar a aplicação.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Idioma</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Após ativação, antes de copiar o texto selecionado para a área de transferência o Notepads irá inteligentemente cortar os espaços no início ou no fim, tabulações e as linhas em branco.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Ativar copiar inteligente</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Ativar copiar inteligente</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Copiar inteligente</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>Predefinação do sistema</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Sair ao fechar o último separador</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Sair ao fechar o último separador</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/ru-RU/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Aegisub Advanced Subtitle</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Assembly Language File</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл ASP</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл сценария AutoHotkey</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Aliases File</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл истории Bash</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Login File</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Logout File</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Profile File</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл сценария Bash</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл BibTeX</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond File</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Build Path</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл C</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл CGI</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure File</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Cmake</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript File</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Comma Separated Values File</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл конфигурации</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл C++</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл C#</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл CSS</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT File</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff File</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker File</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild File</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F# File</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл аттрибутов Git</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл конфигурации Git</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Git Ignore</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP File</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Go</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy File</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars File</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл заголовка</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HLSL File</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл HTML</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hypertext Access File</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Параметры конфигурации</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Install File</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Java</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Javascript</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл JSON</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл JSP</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less File</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл журнала</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Lyrics</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл LUA</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map File</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Markdown</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл NFO</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл конфигурации NPM</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 File</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Perl</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл PHP</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod File</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell File</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profile File</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл проекта</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug File</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Python</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor File</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R File</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Ruby</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Run Commands File</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust File</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader File</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл сценария оболочки</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл SQL</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Sub Station Alpha Subtitle</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Subtitle</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift File</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Текстовый документ</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T File</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл TypeScript</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User File</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Verilog</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Visual Basic</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл настроек Vue</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Vue</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML File</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл XML</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл YAML</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell Config File</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell History File</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U File</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat File</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Project File</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Environment File</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL File</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>License File</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT File</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property List File</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD File</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Resource File</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML File</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL File</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/ru-RU/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Отмена</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>У вас есть не сохраненные изменения.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Сохранить все</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Не сохранять</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Вы хотите сохранить изменения?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Нет информации для отправки: текст не выбран, а текущий документ пустой.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>С вашими изменениями</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>До ваших изменений</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads на текущий момент не поддерживает файлы более 1МБ.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Извините, файл \"{0}\" не может быть открыт: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>ОК</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Ошибка открытия файла</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Извините, файл \"{0}\" не может быть сохранен: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>ОК</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Ошибка сохранения файла</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Закрыть</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Найти</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Не найдено</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Заменить всё (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Заменить</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Заменить (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Найти далее (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Настройки поиска</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Учитывать регистр</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Только целые слова</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Найти...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Новый документ</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Открыть...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Печать...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Заменить...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Сохранить</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Сохранить всё</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Сохранить как...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Настройки</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Отмена</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>Все внесенные изменения, включая текст, разрыв строки и кодировку, сделанные в \"{0}\" будут отменены!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Да</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Вы действительно хотите отменить все изменения?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Отмена</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Сохранить файл \"{0}\"?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Сохранить</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Не сохранять</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Сохранить изменения?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Закрыть</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Закрыть другие вкладки</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Закрыть вкладки справа</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Закрыть сохраненные файлы</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Скопировать путь</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Открыть папку, содержащую этот файл</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Копировать</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Вырезать</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Вставить</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Предпросмотр</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Вернуть</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Выбрать всё</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Поделиться</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Поделиться выбраным</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Отменить</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Перенос по словам</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Безымянный.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Стр {0}, стлб {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Стр {0}, стлб {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Просмотр изменений</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Отменить все изменения</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Изменен</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Скопировано</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Сохранено</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Нажмите клавишу F11, чтобы выйти из полноэкранного режима</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Перезагрузка файла с диска</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Файл был изменен другой программой!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Файл был перемещен, переименован или удален!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Файл перезагружен</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Поверх остальных окон</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Полноэкранный режим</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Вернуться к полному представлению</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Выйти из полноэкранного режима</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>выбрано</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>выбрано</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Переместить вкладку сюда</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Открыть в Notepads</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Это теневое окно Notepads. Снапшоты сессий и настройки отключены.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>Файл уже открыт!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Открыть новое окно</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Новое окно</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Новое окно</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Последние документы</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Перейти к строке</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Перейти к:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>Номер строки превышает общее количество строк!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Вы можете вводить только числа!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Перейти к строке</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Поиск в интернете</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Масштаб по умолчанию</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Увеличить</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Уменьшить</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Использовать регулярные выражения</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Печатать все...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Можно принять с точностью только до одного знака после запятой</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Значение не входит в диапазон</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Нижний колонтитул</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Верхний колонтитул</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Горизонтальный отступ (в %)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>В % от ширины листа</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Ошибка печати:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>При печати произошла ошибка</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>Это устройство не поддерживает печать</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Вертикальный отступ (в %)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Очистить список последних документов</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Больше кодировок</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Повторно открыть в кодировке</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Сохранить в кодировке</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Некорректное регулярное выражение!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Автоматическое определение кодировки</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>Не удается определить кодировку</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Найти раннее (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Режим замены</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Порядок чтения: справа налево</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Italic</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Oblique</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Black</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Bold</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra Black</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra Bold</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra Light</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Light</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Medium</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi Bold</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi Light</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Thin</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Отмена</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Сохранить</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Переименовать</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>Имя файла не должно содержать некорректные символы</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>Имя файла не должно начинаться с пробелов</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>Имя файла не должно заканчиваться пробелами</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>Имя файла не может быть пустым</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>Некорректное имя файла</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>Имя файла не может превышать 255 символов</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Переименовать</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Файл переименован</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Пустое расширение файла неподдерживается</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>Расширение файла \"{0}\" не поддерживается</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Закрыть</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Не удалось восстановить данные из последней сессии из-за поврежденных данных. Пожалуйста, сделайте резервную копию всех ваших несохраненных файлов (*.txt) в папке сессии.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Открыть папку резервной копии сессии</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Предупреждение</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>\r\n"
  },
  {
    "path": "src/Notepads/Strings/ru-RU/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Зависимости и ссылки</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, ЗА УЩЕРБ ИЛИ ПО ИНЫМ ТРЕБОВАНИЯМ, В ТОМ ЧИСЛЕ, ПРИ ДЕЙСТВИИ КОНТРАКТА, ДЕЛИКТЕ ИЛИ ИНОЙ СИТУАЦИИ, ВОЗНИКШИМ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫХ ДЕЙСТВИЙ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Отказ от ответственности</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Бесплатный текстовый редактор с открытым исходным кодом, созданный Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Связь с разработчиками:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Сообщить об ошибке или предложить функцию:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Исходный код доступен на Github:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>Больше информации на нашем веб-сайте:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Заявление о конфиденциальности</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>О программе</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Показывать строку состояния</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Показывать строку состояния</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Строка состояния</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Дополнительно</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Цвет элементов</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Использовать мой цвет Windows</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Использовать мой цвет Windows</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Непрозрачность окна и акрилового фона. Учитывайте, что акриловое размытие работает только тогда, когда включены эффекты прозрачности и отключается в режиме экономии заряда.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Непрозрачность окна</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Темная</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Светлая</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Тема</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Стандартная Windows</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Персонализация</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (кодировка Windows)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Кодировка, которая будет использоваться, если не удастся распознать кодировку файла.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Кодировка по умолчанию</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Применяется только к новым документам.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Сохранять в кодировке</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Шрифт</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Применяется только к новым документам.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Разрыв строки</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>По умолчанию (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Настройки клавиши Tab, применяются только к новым табуляциям.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 пробелов</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 пробела</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Клавиша Tab</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 пробела</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Перенос текста</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Перенос по словам</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Перенос по словам</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Текст и редактирование</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Список изменений</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Если включено, Notepads будет сохранять текущую сессию для следующего запуска и периодически делать ее резервную копию для защиты несохраненных изменений от потери данных. Notepads НЕ будет напоминать вам сохранить изменения при закрытии программы если эта функция включена. Учтите, что резервное копирование сессии работает только в первом (основном) окне Notepads.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Включить снимки сессии</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Включить снимки сессии</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Снимки сессии</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Выделять слова с ошибками</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Выделять слова с ошибками</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Правописание</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Если включено, Notepads будет открывать файл в новом окне, а не в новой вкладке.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Всегда открывать новое окно</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Всегда открывать новое окно</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Запуск</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Выделять текущую линию</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Выделять текущую линию</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Поисковая система</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*Введите URL вида https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Поисковая система, в которой будет производиться поиск.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Поисковая система по умолчанию</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Автоматически определять кодировку (рекомендуется)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Отображение</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Показывать номера строк.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Нумерация строк</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Нумерация строк</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Стиль шрифта</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Насыщенность шрифта</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Выберите собственный язык для игнорирования языка системы используемого в Notepads. Требуется перезагрузка для сохранения изменений.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Перезагрузите Notepads чтобы сохранить изменения.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Настройки языка</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>После включения, Notepads будет аккуратно обрезать начальные и конечные пробелы, табуляции и пустые строки перед копированием выделенного текста в буфер обмена.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Включить умное копирование</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Включить умное копирование</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Настройки умного копирования</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>Системный по умолчанию</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Закрыть приложение при закрытии последней вкладки.</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Закрыть приложение при закрытии последней вкладки.</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/sr-Latn/Manifest.resw",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub Advanced Subtitle datoteka</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Assembly Language datoteka</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP datoteka</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>AutoHotkey skripta</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Aliases datoteka</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash History datoteka</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Login datoteka</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Logout datoteka</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Profile datoteka</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Script datoteka</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX datoteka</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond datoteka</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Build Path datoteka</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C datoteka</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI datoteka</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure datoteka</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake datoteka</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript datoteka</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Comma Separated Values datoteka</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuration Settings</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++ datoteka</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# datoteka</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS datoteka</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT datoteka</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff datoteka</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker datoteka</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild datoteka</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F# datoteka</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Attributes datoteka</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Config datoteka</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Ignore datoteka</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP datoteka</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go datoteka</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy datoteka</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars datoteka</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Header datoteka</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HLSL datoteka</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML datoteka</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hypertext Access datoteka</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Initialization datoteka</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Install datoteka</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java datoteka</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Javascript datoteka</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON datoteka</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP datoteka</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less datoteka</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Log datoteka</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Lyrics datoteka</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA datoteka</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map datoteka</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown datoteka</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO datoteka</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NPM Config datoteka</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 datoteka</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl datoteka</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP datoteka</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod datoteka</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell datoteka</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profile datoteka</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Project datoteka</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug datoteka</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python datoteka</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor datoteka</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R datoteka</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby datoteka</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Run Commands datoteka</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust datoteka</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader datoteka</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shell Script datoteka</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL datoteka</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Sub Station Alpha Subtitle datoteka</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Subtitle datoteka</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift datoteka</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Tekstualni dokument</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T datoteka</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript datoteka</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User datoteka</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Verilog datoteka</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Visual Basic datoteka</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue Config datoteka</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue datoteka</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML datoteka</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML datoteka</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML datoteka</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell Config datoteka</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell History datoteka</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U datoteka</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat datoteka</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Project datoteka</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Environment datoteka</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL datoteka</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>License datoteka</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT datoteka</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property List datoteka</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD datoteka</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Resource datoteka</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML datoteka</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL datoteka</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Tekstualni dokument</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>\r\n\r\n"
  },
  {
    "path": "src/Notepads/Strings/sr-Latn/Resources.resw",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Otkaži</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Postoje nesačuvane promene.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Sačuvaj i zatvori</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Odbaci i zatvori</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Sačuvati promene?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Nema šta da se podeli, jer nikakav tekst nije označen i trenutni dokument je prazan.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Nakon promena</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Pre promena</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads trenutno ne podržava datoteke veće od 1 MB.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Nažalost, datoteka „{0}” se ne može otvoriti: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>U redu</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Greška pri otvaranju datoteke</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Nažalost, datoteka „{0}” se ne može sačuvati: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>U redu</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Greška pri čuvanju datoteke</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Zatvori</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Pronađi</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Nije pronađeno</value>\r\n    <comment>FindAndReplace: Notification message when target not found .</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Zameni sve (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Zameni</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Zameni (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Pronađi sledeće (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Opcije pretrage</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Velika/mala slova</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Uporedi cele reči</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Pronađi...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Novo</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Otvori...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Odštampaj</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Zameni...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Sačuvaj</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Sačuvaj sve</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Sačuvaj kao...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Postavke</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Otkaži</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>Poništiće se sve promene u datoteci „{0}” – uključujući tekst, prelome redova i kodiranje!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Da</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Poništiti sve promene?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Nemoj da sačuvaš</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Sačuvati datoteku „{0}”?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Sačuvaj</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Nemoj čuvati</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Sačuvati promene?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zatvori</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zatvori ostale</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zatvori sa desne strane</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Zatvori sačuvane</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kopiraj celu putanju</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Otvori fasciklu</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kopiraj</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Iseci</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Nalepi</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Uključi/isključi pregled</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Ponovi</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Označi sve</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Deli</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Deli označeno</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Poništi</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Prelomi reči</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Bez naslova.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Red {0}, Kolona {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Red {0}, Kolona {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Prikaz promena</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Poništi sve promene</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Promenjeno</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Kopirano</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Sačuvano</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Napusti prikaz preko celog ekrana pomoću tastera F11</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Ponovo učitaj datoteku s diska</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Datoteka je promenjena izvan Notepads programa!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Datoteka je premeštena, preimenovana ili izbrisana!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Datoteka je ponovo učitana</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Kompaktni prikaz</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Prikaz preko celog ekrana</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Prekini kompaktni prikaz</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Prekini prikaz preko celog ekrana</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>označeno</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>označeno</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Premesti karticu ovamo</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Otvori pomoću Notepads</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Ovo je kopija prozora Notepads. Snimanje sesije i postavke su deaktivirane.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>Datoteka je već otvorena!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Novi prozor</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Otvara novi prozor</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Novi prozor</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Otvori nedavne</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Idi na red</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>Broj reda je veći od ukupnog broja redova!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Prihvataju se samo brojevi!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Idi na red</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Pretraži na vebu</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Vrati podrazumevani zum</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Uvećaj</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Umanji</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Idi na:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Odštampaj sve...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Dozvoljeno je samo jedno decimalno mesto</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Vrednost je izvan raspona</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Podnožje</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Zaglavlje</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Vodoravna margina (u %)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>U % širine papira</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Greška pri štampanju:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Štampanje nije uspelo</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>Ovaj uređaj ne podržava štampanje</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Uspravna margina (u %)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Koristi regularne izraze</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Isprazni spisak nedavno otvorenih</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Još kodiranja</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Ponovo otvori s kodiranjem</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Sačuvaj s kodiranjem</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Nevažeći regularni izraz!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Automatski pogađaj kodiranje</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>Kodiranje se ne može odrediti</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Pronađi prethodno (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Uključi/isključi režim zamene</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Čitanje sa desna na levo</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Kurziv</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Standardni</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Oblique</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Crna</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Podebljana</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Ekstra crna</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Ekstra podebljana</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Ekstra lagana</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Lagana</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Srednja</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normalna</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Polupodebljana</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Polulagana</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Tanka</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Otkaži</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Sačuvaj</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Preimenuj</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>Ime datoteke ne sme da sadrži nedozvoljene karaktere</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>Ime datoteke ne sme počinjati razmakom</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>Ime datoteke se ne sme završavati razmakom</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>Ime datoteke ne sme biti prazno ili se sastojati samo od razmaka</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>Ime datoteke je nevažeće ili nedozvoljeno</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>Ime datoteke ne sme biti duže od 255 karaktera</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Preimenuj</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Preimenovano</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Prazna ekstenzija datoteke trenutno nije podržana</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>Ekstenzija datoteke \"{0}\" trenutno nije podržana</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Zatvorite</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Nije uspelo oporavljanje podataka iz poslednje sesije zbog oštećenih podataka. Molimo vas da napravite rezervnu kopiju svih vaših nesačuvanih fajlova (*.txt) u fascikli sesije.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Otvorite fasciklu sa rezervnim kopijama sesije</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Upozorenje</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/sr-Latn/Settings.resw",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Zavisnosti i reference</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Odricanje od odgovornosti</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Besplatan i open source uređivač teksta dizajniran i implementiran od strane Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Da kontaktirate autore:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Za prijavljivanje problema i predloge mogućnosti:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Izvorni kod je dostupan na GitHub-u:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>Za još informacija, molimo posetite naš veb-sajt:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Izjava o privatnosti</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>O aplikaciji</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Prikaži statusnu traku</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Prikaži statusnu traku</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Postavke statusne trake</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Napredno</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Boja za isticanje</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Koristi sistemsku boju za isticanje</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Koristi sistemsku boju za isticanje</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Akrilna neprozirnost boje pozadine. Akrilni efekt će se deaktivirati kad se uključi štednja baterije ili ako se isključi efekt prozirnosti u postavkama Windows-a.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Neprozirnost boje pozadine</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Tamna</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Svetla</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tema</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Koristi moju Windows temu</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Personalizacija</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (kodna stranica za Windows)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Rezervno dekodiranje će biti iskorišćeno ako se kodiranje datoteke ne može prepoznati.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Rezervno dekodiranje</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Važi samo za nove dokumente.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Podrazumevano kodiranje</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Podrazumevani font i veličina</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Važi samo za nove dokumente.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Podrazumevani završetak redova</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Standardno (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Postavke ponašanja tastera Tab, važi samo za nove tabulatore umetnute od strane korisnika.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 razmaka</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 razmaka</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Ponašanje tastera Tab</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 razmaka</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Prelamanje teksta</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Prelamanje reči</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Prelamanje reči</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Tekst i uređivanje</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Dnevnik izmena</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Kad je aktivno, Notepads će pamtiti trenutnu sesiju za sledeće pokretanje i redovno čuvati sigurnosne kopije snimaka sesija, da bi se sprečio slučajni gubitak podataka zbog nespremljenih promena. Notepads vas NEĆE podsećati da spremite svoj rad kad se program zatvara, ako je ova funkcija aktivirana. Imajte u vidu da snimanje sesije radi samo u prvom ili glavnom prozoru programa.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Omogući snimanje sesije</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Omogući snimanje sesije</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Podešavanja snimaka sesije</value>\r\n    <comment>AdvancedPageSessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Markiraj pogrešno otkucane reči</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Markiraj pogrešno otkucane reči</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Pravopis</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Kada je aktivno, Notepads će uvek otvarati fajlove u novom prozoru, umesto da otvori novu karticu.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Uvek otvori u novom prozoru</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Uvek otvori u novom prozoru</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Postavke pokretanja</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Označi trenutni red</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Označi trenutni red</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Sopstveni pretraživač</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*Unesite URL u formatu https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Podešavanja podrazumevanog pretraživača za veb-pretrage.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Podrazumevani pretraživač</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Automatski pogađaj kodiranje (preporučeno)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Prikaz</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Prikaži brojeve redova u dokumentu.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Prikaži brojeve redova</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Prikaži brojeve redova</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Podrazumevani stil fonta</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Podrazumevana težina fonta</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Izaberite sopstveni jezik da premostite sistemski jezik koji se koristi u Notepads-u. Ponovno pokretanje je neophodno za završetak promena.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Ponovo pokrenite Notepads za završetak promena.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Postavke jezika</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Kada je aktivno, Notepads će pametno opseći razmake, tabulatore i prazne redove na početku i kraju pre kopiranja teksta u ostavu.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Omogući Pametno kopiranje</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Omogući Pametno kopiranje</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Postavke Pametnog kopiranja</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>Sistemski podrazumevani</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Izađite iz aplikacije prilikom zatvaranja poslednjeg taba.</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Izađite iz aplikacije prilikom zatvaranja poslednjeg taba.</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/sr-cyrl/Manifest.resw",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub Advanced Subtitle датотека</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Assembly Language датотека</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP датотека</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>AutoHotkey skripta</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Aliases датотека</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash History датотека</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Login датотека</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Logout датотека</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Profile датотека</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Script датотека</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX датотека</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond датотека</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Build Path датотека</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C датотека</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI датотека</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure датотека</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake датотека</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript датотека</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Comma Separated Values датотека</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuration Settings</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++ датотека</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# датотека</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS датотека</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT датотека</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff датотека</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker датотека</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild датотека</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F# датотека</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Attributes датотека</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Config датотека</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Ignore датотека</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP датотека</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go датотека</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy датотека</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars датотека</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Header датотека</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HLSL датотека</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML датотека</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hypertext Access датотека</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Initialization датотека</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Install датотека</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java датотека</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Javascript датотека</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON датотека</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP датотека</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less датотека</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Log датотека</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Lyrics датотека</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA датотека</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map датотека</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown датотека</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO датотека</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NPM Config датотека</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 датотека</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl датотека</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP датотека</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod датотека</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell датотека</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profile датотека</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Project датотека</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug датотека</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python датотека</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor датотека</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R датотека</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby датотека</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Run Commands датотека</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust датотека</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader датотека</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shell Script датотека</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL датотека</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Sub Station Alpha Subtitle датотека</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Subtitle датотека</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift датотека</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Текстуални документ</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T датотека</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript датотека</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User датотека</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Verilog датотека</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Visual Basic датотека</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue Config датотека</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue датотека</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML датотека</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML датотека</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML датотека</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell Config датотека</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell History датотека</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U датотека</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat датотека</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Project датотека</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Environment датотека</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL датотека</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>License датотека</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT датотека</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property List датотека</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD датотека</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Resource датотека</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML датотека</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL датотека</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Текстуални документ</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>\r\n"
  },
  {
    "path": "src/Notepads/Strings/sr-cyrl/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Откажи</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Постоје несачуване промене.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Сачувај и затвори</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Одбаци и затвори</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Сачувати промене?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Нема шта да се подели, јер никакав текст није означен и тренутни документ је празан.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Након промена</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Пре промена</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads тренутно не подржава датотеке веће од 1 МБ.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Нажалост, датотека „{0}” се не може отворити: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>У реду</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Грешка при отварању датотеке</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Нажалост, датотека „{0}” се не може сачувати: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>У реду</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Грешка при чувању датотеке</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Затвори</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Пронађи</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Није пронађено</value>\r\n    <comment>FindAndReplace: Notification message when target not found .</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Замени све (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Замени</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Замени (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Пронађи следеће (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Опције претраге</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Велика/мала слова</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Упореди целе речи</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Пронађи...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Ново</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Отвори...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Одштампај</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Замени...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Сачувај</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Сачувај све</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Сачувај као...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Поставке</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Откажи</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>Поништиће се све промене у датотеци „{0}” – укључујући текст, преломе редова и кодирање!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Да</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Поништити све промене?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Немој да сачуваш</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Сачувати датотеку „{0}”?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Сачувај</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Немој чувати</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Сачувати промене?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Затвори</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Затвори остале</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Затвори са десне стране</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Затвори сачуване</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Копирај целу путању</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Отвори фасциклу</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Копирај</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Исеци</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Налепи</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Укључи/искључи преглед</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Понови</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Означи све</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Дели</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Дели означено</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Поништи</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Преломи речи</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Без наслова.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Ред {0}, Колона {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Ред {0}, Колона {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Приказ промена</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Поништи све промене</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Промењено</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Копирано</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Сачувано</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Напусти приказ преко целог екрана помоћу тастера F11</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Поново учитај датотеку с диска</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Датотека је промењена изван Notepads програма!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Датотека је премештена, преименована или избрисана!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Датотека је поново учитана</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Компактни приказ</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Приказ преко целог екрана</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Прекини компактни приказ</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Прекини приказ преко целог екрана</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>означено</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>означено</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Премести картицу овамо</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Отвори помоћу Notepads</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Ово је копија прозора Notepads. Снимање сесије и поставке су деактивиране.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>Датотека је већ отворена!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Нови прозор</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Отвара нови прозор</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Нови прозор</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Отвори недавне</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Иди на ред</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>Број реда је већи од укупног броја редова!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Прихватају се само бројеви!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Иди на ред</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Претражи на вебу</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Врати подразумевани зум</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Увећај</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Умањи</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Иди на:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Одштампај све...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Дозвољено је само једно децимално место</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Вредност је изван распона</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Подножје</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Заглавље</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Водоравна маргина (у %)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>У % ширине папира</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Грешка при штампању:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Штампање није успело</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>Овај уређај не подржава штампање</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Усправна маргина (у %)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Користи регуларне изразе</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Испразни списак недавно отворених</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Још кодирања</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Поново отвори с кодирањем</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Сачувај с кодирањем</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Неважећи регуларни израз!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Аутоматски погађај кодирање</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>Кодирање се не може одредити</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Пронађи претходно (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Укључи/искључи режим замене</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Читање са десна на лево</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Курзив</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Стандардни</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Oblique</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Црна</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Подебљана</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Екстра црна</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Екстра подебљана</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Екстра лагана</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Лагана</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Средња</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Нормална</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Полуподебљана</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Полулагана</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Танка</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Откажи</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Сачувај</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Преименуј</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>Име датотеке не сме да садржи недозвољене карактере</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>Име датотеке не сме почињати размаком</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>Име датотеке се не сме завршавати размаком</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>Име датотеке не сме бити празно или се састојати само од размака</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>Име датотеке је неважеће или недозвољено</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>Име датотеке не сме бити дуже од 255 карактера</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Преименуј</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Преименовано</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Празна екстензија датотеке тренутно није подржана</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>Екстензија датотеке \"{0}\" тренутно није подржана</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Затворите</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Неуспешно је опорављање података из последње сесије због оштећених података. Молимо вас да направите резервну копију свих ваших несачуваних фајлова (*.txt) у фасцикли сесије.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Отворите фасциклу за резервну копију сесије</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Упозорење</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/sr-cyrl/Settings.resw",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Зависности и референце</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Одрицање од одговорности</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Бесплатан и open source уређивач текста дизајниран и имплементиран од стране Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Да контактирате ауторе:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>За пријављивање проблема и предлоге могућности:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Изворни код је доступан на GitHub-у:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>За још информација, молимо посетите наш веб-сајт:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Изјава о приватности</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>О апликацији</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Прикажи статусну траку</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Прикажи статусну траку</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Поставке статусне траке</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Напредно</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Боја за истицање</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Користи системску боју за истицање</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Користи системску боју за истицање</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Акрилна непрозирност боје позадине. Акрилни ефект ће се деактивирати кад се укључи штедња батерије или ако се искључи ефект прозирности у поставкама Windows-а.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Непрозирност боје позадине</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Тамна</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Светла</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Тема</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Користи моју Windows тему</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Персонализација</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (кодна страница за Windows)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Резервно декодирање ће бити искоришћено ако се кодирање датотеке не може препознати.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Резервно декодирање</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Важи само за нове документе.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Подразумевано кодирање</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Подразумевани фонт и величина</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Важи само за нове документе.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Подразумевани завршетак редова</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Стандардно (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Поставке понашања тастера Таб, важи само за нове табулаторе уметнуте од стране корисника.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 размака</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 размака</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Понашање тастера Таб</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 размака</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Преламање текста</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Преламање речи</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Преламање речи</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Текст и уређивање</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Дневник измена</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Кад је активно, Notepads ће памтити тренутну сесију за следеће покретање и редовно чувати сигурносне копије снимака сесија, да би се спречио случајни губитак података због неспремљених промена. Notepads вас НЕЋЕ подсећати да спремите свој рад кад се програм затвара, ако је ова функција активирана. Имајте у виду да снимање сесије ради само у првом или главном прозору програма.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Омогући снимање сесије</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Омогући снимање сесије</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Подешавања снимака сесије</value>\r\n    <comment>AdvancedPageSessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Маркирај погрешно откуцане речи</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Маркирај погрешно откуцане речи</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Правопис</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Када је активно, Notepads ће увек отварати фајлове у новом прозору, уместо да отвори нову картицу.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Увек отвори у новом прозору</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Увек отвори у новом прозору</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Поставке покретања</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Означи тренутни ред</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Означи тренутни ред</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Сопствени претраживач</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*Унесите URL у формату https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Подешавања подразумеваног претраживача за веб-претраге.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Подразумевани претраживач</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Аутоматски погађај кодирање (препоручено)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Приказ</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Прикажи бројеве редова у документу.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Прикажи бројеве редова</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Прикажи бројеве редова</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Подразумевани стил фонта</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Подразумевана тежина фонта</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Изаберите сопствени језик да премостите системски језик који се користи у Notepads-у. Поновно покретање је неопходно за завршетак промена.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Поново покрените Notepads за завршетак промена.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Поставке језика</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Када је активно, Notepads ће паметно опсећи размаке, табулаторе и празне редове на почетку и крају пре копирања текста у оставу.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Омогући Паметно копирање</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Омогући Паметно копирање</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Поставке Паметног копирања</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>Системски подразумевани</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Затворите апликацију при затварању последњег језичка.</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Затворите апликацију при затварању последњег језичка.</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/tr-TR/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub Gelişmiş Altyazı Dosyası</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Assembly Dili Dosyası</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP Dosyası</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>AutoHotkey Betiği Dosyası</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Lakap Dosyası</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Geçmişi Dosyası</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Login Dosyası</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Logout Dosyası</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Profil Dosyası</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Betiği Dosyası</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX Dosyası</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond Dosyası</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Derleme Yolu Dosyası</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C Dosyası</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI Dosyası</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure File</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake Dosyası</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript Dosyası</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Virgülle Ayrılmış Değerler Dosyası</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Yapılandırma Ayarları</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++ Dosyası</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Dosyası</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS Dosyası</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT Dosyası</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff Dosyası</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker Dosyası</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild Dosyası</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F# Dosyası</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Öznitelikleri Dosyası</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Yapılandırma Dosyası</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Yoksayma Dosyası</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP Dosyası</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go Dosyası</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy Dosyası</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars Dosyası</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Header Dosyası</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">☻\r\n    <value>HLSL Dosyası</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML Dosyası</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hipermetin Erişim Dosyası</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Başlatma Dosyası</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Yükleme Dosyası</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java Dosyası</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Javascript Dosyası</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON Dosyası</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP Dosyası</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less Dosyası</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Log Dosyası</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Lyrics Dosyası</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA Dosyası</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map Dosyası</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown Dosyası</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO Dosyası</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NPM Yapılandırma Dosyası</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 Dosyası</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl Dosyası</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP Dosyası</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod Dosyası</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell Dosyası</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profile Dosyası</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Project Dosyası</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug Dosyası</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python Dosyası</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor Dosyası</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R Dosyası</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby Dosyası</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Çalıştırma Komut Dosyası</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust Dosyası</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader Dosyası</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kabuk Betiği Dosyası</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL Dosyası</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SubStation Alpha Altyazı Dosyası</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Altyazı Dosyası</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift Dosyası</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Metin Belgesi</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T Dosyası</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript Dosyası</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User Dosyası</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Verilog Dosyası</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Visual Basic Dosyası</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue Yapılandırma Dosyası</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue Dosyası</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML Dosyası</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML Dosyası</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML Dosyası</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell Yapılandırma Dosyası</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell Geçmişi Dosyası</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U Dosyası</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat Dosyası</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Proje Dosyası</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Environment Dosyası</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL Dosyası</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Lisans Dosyası</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT Dosyası</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property List Dosyası</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD Dosyası</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Kaynak Dosyası</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML Dosyası</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL Dosyası</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Metin Belgesi</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/tr-TR/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>İptal Et</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Kaydedilmemiş değişiklikler var.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Tümünü Kaydet ve Çık</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>İptal Et ve Çık</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Değişiklikleri kaydetmek istiyor musunuz?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Hiçbir metin seçilmediğinden ve geçerli belge boş olduğundan paylaşılacak bir şey yok.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Değişikliklerden sonra</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Değişikliklerden önce</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads şu anda 1MB üzeri dosyaları desteklemiyor.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Üzgünüm, \"{0}\" dosyası açılamıyor: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Tamam</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Dosya Açma Hatası</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Üzgünüm, \"{0}\" dosyası kaydedilemedi: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Tamam</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Dosya Kaydetme Hatası</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Kapat</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Ara</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Bulunamadı</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Tümünü Değiştir (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Değiştir</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Değiştir (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Sonrakini Bul (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Arama Ayarları</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Eşleştir</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Tüm Kelimeyi Eşleştir</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Ara...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Yeni</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Aç...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Yazdır...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Değiştir...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Kaydet</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Tümünü Kaydet</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Farklı Kaydet...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Ayarlar</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>İptal Et</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>\"{0}\" dosyasına yapılan tüm değişiklikler geri alınacak!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Evet</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Tüm değişiklikleri geri almak istediğinizden emin misiniz?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>İptal Et</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>\"{0}\" dosyası kaydedilsin mi?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Kaydet</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Kaydetme</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Değişiklikler kaydedilsin mi?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kapat</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Diğerlerini Kapat</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Sağdakini Kapat</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kaydedileni Kapat</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Dosya Yolunu Kopyala</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>İçeren Klasörü Aç</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kopyala</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Kes</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Yapıştır</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Geçiş Önizlemesi</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Yinele</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Tümünü Seç</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Paylaş</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Seçileni Paylaş</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Geri Al</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Sözcük Kaydır</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Yeni Belge.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Sat {0}, Süt {1} ({2} {3})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Sat {0}, Süt {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Metin değişikliklerini önizle</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Tüm değişiklikleri geri al</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Değiştirildi</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Kopyalandı</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Kaydedildi</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Tam ekrandan çıkmak için F11 tuşuna basın</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Var olan dosyadan geri yükle</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Dosya dışarıda değişikliğe uğradı!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Dosya taşınmış, yeniden adlandırılmış veya silinmiş!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Dosya yeniden yüklendi</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Kompakt Mod</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Tam Ekran</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Kompakt Moddan Çık</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Tam Ekrandan Çık</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>seçildi</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>seçildi</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Sekmeyi buraya taşı</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Notepads ile aç</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Bu bir Notepads gölge penceresidir. Oturum görüntüsü ve ayarları devre dışı bırakıldı.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>Dosya zaten açık!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Yeni pencere aç</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Yeni pencere</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Yeni Pencere</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>En Son Açılanlar</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Satıra Git</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Git:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>Satır sayısı toplam satır sayısından fazla!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Sadece sayı yazabilirsiniz!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Satıra Git</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Web'de ara</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Yakınlaştırma Ayarını Varsayılan Hale Getir</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Yakınlaştır</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Uzaklaştır</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Düzenli İfade Kullan</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Tümünü Yazdır...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Yalnızca bir ondalık basamağa kadar kabul edilebilir</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Değer sınırın dışında</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Alt Bilgi</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Üst Bilgi</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Yatay Kenar Boşluğu (yüzde olarak)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>Kağıt genişliğinin yüzdesi olarak</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Yazdırma hatası:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Yazdırılamadı</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>Bu cihazda yazdırma desteklenmiyor</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Dikey Kenar Boşluğu (yüzde olarak)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Son Açılanları Temizle</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Daha Fazla Kodlama</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Kodlama ile Yeniden Aç</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Kodlama ile Kaydet</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Geçersiz düzenli ifade!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Otomatik Tahmin Kodlaması</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>Kodlama belirlenemiyor</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Öncekini Bul (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Değiştirme Modunu Değiştir</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Sağdan sola okuma sırası</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>İtalik</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Oblik</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Siyah</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Kalın</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Ekstra Siyah</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Ekstra Kalın</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Ekstra İnce</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>İnce</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Orta</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Yarı Kalın</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Yarı İnce</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>İnce</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>İptal Et</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Kaydet</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Yeniden Adlandır</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>Dosya adı geçersiz karakterler içermemelidir</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>Dosya adı önde boşluk içermemelidir</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>Dosya adı arka boşluk içermemelidir</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>Dosya adı boş olamaz ve tamamen boşluktan oluşamaz</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>Dosya adı geçersiz veya izin verilmiyor</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>Dosya adı 255 karakterden uzun olamaz</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Yeniden Adlandır</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Yeniden Adlandırıldı</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Boş dosya uzantısı şu anda desteklenmiyor</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>\"{0}\" dosya uzantısı şu anda desteklenmiyor</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Kapat</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Veri bozulması nedeniyle son oturumdan veri kurtarılamadı. Lütfen oturumun klasöründe bulunan tüm kaydedilmemiş dosyalarınızı (*.txt) yedekleyin.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Oturum yedekleme klasörünü aç</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Uyarı</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/tr-TR/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Bağımlılıklar ve Referanslar</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>YAZILIM “HİÇBİR DEĞİŞİKLİK YAPILMADAN” ESASINA BAĞLI OLARAK, TİCARETE ELVERİŞLİLİK, ÖZEL BİR AMACA UYGUNLUK VE İHLAL OLMAMASI DA DAHİL VE BUNUNLA KISITLI OLMAKSIZIN AÇIKÇA VEYA ÜSTÜ KAPALI OLARAK HİÇBİR TEMİNAT OLMAKSIZIN SUNULMUŞTUR. HİÇBİR KOŞULDA YAZARLAR VEYA TELİF HAKKI SAHİPLERİ HERHANGİ BİR İDDİAYA, HASARA VEYA DİĞER YÜKÜMLÜLÜKLERE KARŞI, YAZILIMLA VEYA KULLANIMLA VEYA YAZILIMIN BAŞKA BAĞLANTILARIYLA İLGİLİ, BUNLARDAN KAYNAKLANAN VE BUNLARIN SONUCU BİR SÖZLEŞME DAVASI, HAKSIZ FİİL VEYA DİĞER EYLEMLERDEN SORUMLU DEĞİLDİR.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Sorumluluk Reddi Beyanı</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Jackie (Jiaqi) Liu tarafından oluşturulmuş, özgür ve açık kaynak bir metin düzenleyicisi</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Yazarlara ulaşmak için:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Hata bildirimleri ve özellik istekleri için:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Uygulamanın kaynak kodu Github vasıtasıyla ulaşılabilir:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>Daha fazla bilgi için, web sitemizi ziyaret edin:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Gizlilik Beyanı</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Hakkında</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Durum çubuğunu göster</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Durum çubuğunu göster</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Durum Çubuğu Ayarları</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Gelişmiş</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tema Rengi</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Windows tema rengimi kullan</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Windows tema rengimi kullan</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Arkaplan bulanıklık opaklığı. Eğer batarya tasarrufu moduna geçilirse veya Ayarlar'dan saydamlık ayarı kapatılırsa bulanıklık efekti devre dışı bırakılır.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Arkaplan Bulanıklık Opaklığı</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Koyu</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Açık</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tema Modu</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Windows rengini kullan</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Kişiselleştirme</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Windows kod sayfası)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Eğer dosya kodlayıcısı tanınmazsa alternatif çözücü kullanılacak.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Alternatif Çözücü</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Sadece yeni dosyaya uygula.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Varsayılan Çözücü</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Varsayılan Font ve Büyüklüğü</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Sadece yeni dosyaya uygula.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Varsayılan Satır Sonu Karakteri</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Varsayılan (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Tab tuşu davranışı ayarları yalnızca yeni sekmelere uygulanır.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 Boşluk</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 Boşluk</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tab Tuşu Davranışı</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 Boşluk</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Metin Kaydırma</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Sözcük kaydır</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Sözcük kaydır</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Metin ve Editor</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Değişiklik günlüğü</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Notepads şu anki oturumu sonraki açılışta hatırlayacak ve olası veri kayıpları için periyodik yedeklemeler yapacak. Notepads bu seçenek etkinken size uygulama kapanırken çalışmalarınızı kaydetmenizle alakalı bir hatırlatma YAPMAYACAK.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Oturum yedekleme ve geri yüklemeyi etkinleştir</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Oturum yedekleme ve geri yüklemeyi etkinleştir</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Oturum Yedekleme Ayarları</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Yanlış yazılmış kelimeleri vurgula</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Yanlış yazılmış kelimeleri vurgula</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>İmlâ</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Etkinleştirildiğinde, Notepads dosyayı yeni bir sekme oluşturmak yerine her zaman yeni bir pencerede açar.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Her zaman yeni pencere aç</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Her zaman yeni pencere aç</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Başlatma Tercihleri</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Bulunan satırı vurgula</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Bulunan satırı vurgula</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Özel Arama Motoru</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*https://www.example.com/search?q={0} formatında bir adres giriniz</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Bir web araması yapıldığında varsayılan arama motoru ayarları seçilir.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Varsayılan Arama Motoru</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Otomatik Tahmin Kodlaması (Önerilen)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Görüntü</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Belgede satır numaralarını görüntüle.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Satır numaralarını görüntüle</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Satır numaralarını görüntüle</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Varsayılan Yazı Tipi Biçimi</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Varsayılan Yazı Tipi Ağırlığı</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Notepads'te kullanılan sistem varsayılan dilini değiştirmek için özel bir dil seçin. Değişiklikleri tamamlamak için yeniden başlatma gereklidir.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Değişiklikleri tamamlamak için Notepads'i yeniden başlat.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Dil Tercihleri</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Etkinleştirildiğinde, Notepads seçilen metni panoya kopyalamadan önce baştaki ve sondaki boşlukları, satır aralarını ve boş satırları akıllıca kırpar.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Akıllı Kopyalama'yı Aktif et</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Akıllı Kopyalama'yı Aktif et</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Akıllı Kopyalama Ayarları</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>Sistem Varsayılanı</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Son sekme kapatıldığında uygulamadan çık.</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Son sekme kapatıldığında uygulamadan çık.</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/uk-UA/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub Advanced Subtitle файл</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Assembly Language файл</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP-файл</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл сценарію AutoHotkey</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл аліасів Bash</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл історії Bash</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Bash Login</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Bash Logout</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл профілю Bash</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Bash-сценарію</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX-файл</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond-файл</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Build Path файл</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C-файл</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI-файл</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure-файл</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake-файл</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript-файл</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Comma Separated Values файл</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл конфігурації</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++-файл</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C#-файл</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS-файл</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT-файл</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл різниці</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker-файл</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild-файл</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F#-файл</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл атрибутів Git</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл конфігурації Git</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл ігнорування Git</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP-файл</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go-файл</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy-файл</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars-файл</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Header-файл</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HLSL-файл</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML-файл</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Hypertext Access</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>INI-файл</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл інсталяції</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java-файл</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Javascript-файл</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON-файл</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP-файл</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less-файл</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл журналу</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Lyrics</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA-файл</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map-файл</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown-файл</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO-файл</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл конфігурації NPM</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 файл</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl-файл</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP-файл</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod-файл</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл сценарію PowerShell</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл профілю</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл проекта</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug-файл</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python-файл</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor-файл</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R-файл</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby-файл</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл запуску команд</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust-файл</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл шейдера</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл сценарію оболонки</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL-файл</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Sub Station Alpha Subtitle</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл субтитрів</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift-файл</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Текстовий документ</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T-файл</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript-файл</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл користувача</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Verilog</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Visual Basic</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл конфігурації Vue</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue-файл</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML-файл</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML-файл</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML-файл</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл конфігурації ZSH</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл історії ZSH</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U-файл</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл Cheatsheet</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл проекту C#</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл змінних середовища</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL-файл</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл ліцензії</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT-файл</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Файл списку властивостей</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD-файл</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ресурсний файл</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML-файл</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL-файл</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/uk-UA/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Скасувати</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>У вас є незбережені зміни.</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Зберегти</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Не зберігати</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Хочете зберегти зміни?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Немає чим поділитися тому, що текст не вибраний і в цей документ порожній.</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Після ваших змін</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>До ваших змін</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads на даний момент не підтримує файли важчі, ніж 1 МБ.</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Вибачте, файл \"{0}\" не може бути відкритий: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>ОК</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Помилка відкриття файлу</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Вибачте, файл \"{0}\" не може бути збережений: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>ОК</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Помилка збереження файлу</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Скасувати</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Пошук</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Не вдається знайти</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Замінити все (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Заміна</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Замінити (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Знайти далі (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Налаштування пошуку</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Враховувати регістр</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Враховувати ціле слово</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Знайти...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Створити</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Відкрити...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>Друк...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Замінити...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Зберегти</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Зберегти все</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Зберегти як...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Настройки</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Ні</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>Усі зміни, включаючи текст, закінчення рядків та кодування, внесені до файлу \"{0}\" будуть cкасовані!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Так</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Ви впевнені, що хочете скасувати всі зміни?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Скасувати</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Зберегти файл \"{0}\"?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Зберегти</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Не зберігати</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Зберегти зміни?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Закрити</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Закрити інші</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Закрити всі, що з правої сторони</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Закрити збережені</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Копіювати повний шлях файлу</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Відкрити папку з файлом</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Копіювати</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Вирізати</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Вставити</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Попередній перегляд</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Повернути</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Виділити все</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Поділитися</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Поділитися вибраним</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Скасувати</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Перенесення по словах</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Без імені.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Рд {0}, ствп {1} ({3} {2})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Рд {0}, ствп {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Подивитися зміни тексту</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Скасувати всі зміни</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Змінено</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Скопійовано</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Збережено</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Натисніть F11, щоб вийти з повноекранного режиму</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Перезавантаження файлу з диска</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Файл було змінено за межами!</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Файл переміщено, перейменовано або видалено!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Файл перевідкритий</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Режим плаваючого вікна</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Повноекранний режим</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Вимкнути режим плаваючого вікна</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Вийти з повноекранного режиму</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>вибрано</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>вибрано</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Перемістити вкладку сюди</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Відкрити в Notepads</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Це фонове вікно Notepads. Збереження відкритих файлів і налаштування вимкнені.</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>Файл вже відкритий!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Відкрити нове вікно</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Нове вікно</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Нове вікно</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Недавні</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Перейти до рядка</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Перейти до:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>Номер рядка більший, ніж загальна кількість рядків!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Ви можете вводити тільки ціле число!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Перейти до рядка</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Шукати в Інтернеті</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Відновити масштаб</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Збільшити масштаб</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Зменшити масштаб</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Використовувати регулярний вираз</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>Друкувати усі...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Може бути лише один знак після коми</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Значення вийшло за межі</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Додатковий текст знизу</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Додатковий текст зверху</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Горизонтальний відступ (%)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>У % від ширини листа</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Помилка друку:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Не вдалося виконати друк</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>Друк не підтримується на цьому пристрої</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Вертикальний відступ (%)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Очистити список недавніх</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Більше кодувань</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Відкрити з іншим кодуванням</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Зберегти з вибраним кодуванням</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Неправильний регулярний вираз!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Автоматично визначати кодування</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>Кодування не може бути визначено</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Знайти попередній (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Перемкнути пошук/заміна</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Режим читання \"справа наліво\"</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Курсив</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Звичайний</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Нахилений</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Black</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Bold</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra Black</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra Bold</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra Light</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Light</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Medium</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi Bold</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi Light</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Thin</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Скасувати</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Зберегти</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Перейменування</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>Ім'я файлу не повинне містити неправильні символи</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>Ім'я файлу не повинне містити пробілів на початку</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>Ім'я файлу не повинне містити пробілів в кінці</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>Ім'я файлу не може бути порожнім</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>Ім'я файлу задано невірно</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>Ім'я файлу не може бути довшим, ніж 255 символів</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Перейменувати</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Перейменовано</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Порожнє розширення файлу не підтримується</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>Розширення файлу \"{0}\" не підтримується</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Закрити</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Не вдалося відновити дані з попередньої сесії через пошкоджені дані. Будь ласка, зробіть резервну копію всіх незбережених файлів (*.txt) у папці сесії.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Відкрити папку резервних копій сесій</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Попередження</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/uk-UA/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Використані компоненти</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>ДІЙСНЕ ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ НАДАЄТЬСЯ «ЯК Є», БЕЗ ГАРАНТІЙ БУДЬ-ЯКОГО ВИДУ, ПРЯМИХ АБО НЕПРЯМИХ, ВКЛЮЧАЮЧИ, АЛЕ НЕ ОБМЕЖУЮЧИСЬ, ГАРАНТІЯМИ КОМЕРЦІЙНОЇ ВИГОДИ, ВІДПОВІДНОСТІ ЙОГО КОНКРЕТНОМУ ПРИЗНАЧЕННЮ Й ВІДСУТНОСТІ ПОРУШЕННЯ ПРАВ. У ЖОДНОМУ РАЗІ АВТОРИ АБО ВЛАСНИКИ АВТОРСЬКИХ ПРАВ НЕ ВІДПОВІДАЮТЬ ЗА БУДЬ-ЯКИМИ СУДОВИМИ ПОЗОВАМИ, ЩОДО ЗБИТКІВ АБО ІНШИХ ПРЕТЕНЗІЙ, ЧИ ДІЙ ДОГОВОРУ, ЦИВІЛЬНОГО ПРАВОПОРУШЕННЯ АБО ІНШИХ, ЩО ВИНИКАЮТЬ ПОЗА, АБО У ЗВ'ЯЗКУ З ПРОГРАМНИМ ЗАБЕЗПЕЧЕННЯМ АБО ВИКОРИСТАННЯМ ЧИ ІНШИМИ ДІЯМИ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Відмова від відповідальності</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Безкоштовний редактор з відкритим кодом, спроєктований та розроблений Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Щоб зв'язатися з авторами:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Для того, щоб повідомити про проблему, або запропонувати покращення:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Код програми доступний на GitHub:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>Для додаткової інформації відвідайте наш сайт:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Конфіденційність</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Про програму</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Не показувати рядок стану</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Показувати рядок стану</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Налаштування рядка стану</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Додатково</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Основний колір</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Використовувати основний колір Windows</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Використовувати мій основний колір</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Прозорість \"акрилового\" фону. Please note that Acrylic effect will be disabled when battery saver mode is on or if you turn off transparency effects in Windows Settings.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Прозорість фону</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Темна</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Світла</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Тема</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Використовувати тему Windows</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Персоналізація</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (кодова сторінка Windows)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Запасне кодування буде використане, якщо неможливо визначити кодування файлу.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Запасне кодування</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Тільки для нових файлів.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Стандартне кодування</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Стандартний шрифт і розмір тексту</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Тільки для нових файлів.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Стандартний кінець рядків</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Без змін (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Не впливає на раніше введений текст.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 пробілів</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 пробіли</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Налаштування клавіши Tab</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 пробіли</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Перенесення слів</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Не переносити слова</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Переносити слова</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Текст і редактор</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Журнал змін</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Notepads запам'ятає список відкритих файлів до наступного запуску та робитиме періодичне резервне копіювання відкритих документів щоб уникнути втрати незбережених змін. Notepads НЕ пропонуватиме вам зберігати ваші файли коли ви закриваєте Notepads, якщо ця опція увімкнена. Зверніть увагу, ця функція працює тільки в першому/основному вікні Notepads.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Вимкнути збереження і відновлення відкритих документів</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Увімкнути збереження і відновлення відкритих документів</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Збереження і відновлення відкритих документів</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Не підсвічувати невідомі слова</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Підсвічувати невідомі слова</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Перевірка правильності слів</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Якщо увімкнено, Notepads завжди відкриватиме файл у новому вікні замість вкладки.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Не відкривати у новому вікні</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Завжди відкривати у новому вікні</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Налаштування запуску</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Підсвічувати вибраний рядок</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Підсвічувати вибраний рядок</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Інший</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*Введіть адресу у форматі https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Налаштування для пошуковика (шукати в Інтернеті).</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Стандартний пошуковик</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Автоматично визначати кодування (рекомендовано)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Відображення</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Показувати номери рядків в документі.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Не показувати номери рядків</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Показувати номери рядків</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Стандартний стиль тексту</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Стандартна жирність тексту</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Виберіть іншу мову інтерфейсу для Notepads. Перезапуск необхідний для того, щоб застосувати зміни.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*Перезапустіть Notepads щоб застосувати зміни.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Налаштування мови</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Якщо увімкнено, Notepads буде розумно обрізати початкові та кінцеві пробіли, таби і порожні рядки перед копіюванням вибраного тексту в буфер обміну.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Вимкнути розумне копіювання</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Увімкнути розумне копіювання</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Налаштування розумного копіювання</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>З налаштувань системи</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Вийти з програми при закритті останньої вкладки.</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Вийти з програми при закритті останньої вкладки.</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/vi-VN/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub Advanced Subtitle File</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Assembly Language File</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP File</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>AutoHotkey Script File</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Aliases File</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash History File</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Login File</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Logout File</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Profile File</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Script File</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX File</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond File</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Build Path File</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C File</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI File</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure File</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake File</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript File</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Comma Separated Values File</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Configuration Settings</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++ File</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# File</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS File</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT File</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff File</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker File</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild File</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F# File</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Attributes File</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Config File</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Ignore File</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP File</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go File</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy File</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars File</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Header File</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HLSL File</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML File</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hypertext Access File</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Initialization File</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Install File</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java File</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Javascript File</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON File</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP File</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less File</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Log File</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Lyrics File</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA File</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map File</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown File</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO File</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NPM Config File</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 File</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl File</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP File</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod File</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell File</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profile File</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Project File</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug File</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python File</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor File</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R File</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby File</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Run Commands File</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust File</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader File</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shell Script File</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL File</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Sub Station Alpha Subtitle File</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Subtitle File</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift File</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Text Document</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T File</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript File</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User File</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Verilog File</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Visual Basic File</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue Config File</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue File</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML File</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML File</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML File</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell Config File</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell History File</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U File</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat File</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# Project File</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Environment File</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL File</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>License File</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT File</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property List File</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD File</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Resource File</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML File</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL File</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>Tài Liệu Mới</value>\r\n    <comment>Tên tệp .txt mới</comment>\r\n  </data>\r\n</root>\r\n"
  },
  {
    "path": "src/Notepads/Strings/vi-VN/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Hủy bỏ</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Các thay đổi chưa được lưu</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Lưu và thoát</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Hủy bỏ và thoát</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Bạn có muốn lưu lại nội dung này</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>Chưa chọn văn bản nào &amp; tài liệu hiện tại trống</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Sau thay đổi</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>Trước thay đổi</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads chưa hỗ trợ file có kích cỡ lớn hơn 1MB。</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Không thể mở tệp {0} vì: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>OK</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Lỗi khi mở tệp</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Không thể lưu tệp \"{0}\" vì: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>OK</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Lỗi khi lưu tệp</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Đóng</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Tìm kiếm</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>Không tìm thấy</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Thay thế tất cả (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Thay thế</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Thay thế (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Kết quả kế tiếp (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Tùy chọn</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>Phân biệt chữ hoa và chữ thường</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>Khớp cả chữ</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>Tìm kiếm</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>Tệp mới</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>Mở</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>In</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>Thay thế</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>Lưu</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>Lưu tất cả</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>Lưu thành...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>Cài đặt</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Hủy bỏ</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>Tất cả các thay đổi bao gồm văn bản, kết thúc dòng và mã hóa được thực hiện đối với \"{0}\" sẽ được hoàn nguyên!</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>OK</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>Bạn có chắc muốn hủy bỏ tất cả thay đổi không?</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Hủy bỏ</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>Lưu tệp \"{0}\"?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Lưu</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>Không lưu</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>Lưu thay đổi</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Đóng</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Đóng những tab khác</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Đóng tab phía bên phải</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Đóng những tab đã lưu</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Sao chép đường dẫn</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Mở thư mục chứa</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Sao chép</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Cắt</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Dán</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>Chuyển chế độ xem trước</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Làm lại</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Chọn tất cả</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Chia sẻ</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Chia sẻ nội dung đã chọn</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Hoàn tác</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Tự động xuống dòng</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>Untitled.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>Dòng {0}, Cột {1} ({3} {2})</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>Dòng {0}, Cột {1}</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>Xem trước các thay đổi</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>Hủy bỏ các thay đổi</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>Đã sửa đổi</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>Đã sao chép</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>Đã lưu</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>Nhấn F11 để thoát chế độ toàn màn hình</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>Tải lại tệp từ đĩa</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Tệp đang được sửa đổi bởi ứng dụng khác</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>Tệp đã bị di chuyển, đổi tên hoặc xóa!</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>Đã tải lại tệp</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Bật chế độ mini</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Bật chế độ toàn màn hình</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>Tắt chế độ mini</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>Tắt chế độ toàn màn hình</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>Đã chọn</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>Đã chọn</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>Di chuyển tab ở đây</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>Mở bằng Notepads</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>Đây là cửa sổ mờ của Notepads. Chế độ sao lưu và cài đặt bị vô hiệu hóa</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>Tệp đã được mở rồi!</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>Mở trong cửa sổ mới</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>Cửa sổ mới</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>Cửa sổ mới</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>Tệp đã mở gần đây</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>Đi đến dòng</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>Số dòng:</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>Vượt quá số dòng cho phép</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>Chỉ được phép nhập số</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Đi đến dòng</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Tìm kiếm trên Web</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>Khôi phục mặc định</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>Phóng to</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>Thu nhỏ</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>Sử dụng biểu thức chính quy</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>In tất cả</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>Chỉ được nhập một chữ số thập phân</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>Ngoài phạm vi</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>Chân trang</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>Đầu trang</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Lề ngang (đơn vị：％)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>Theo % chiều rộng của giấy</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>Lỗi in:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>Không in được</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>Thiết bị này không hỗ trợ tính năng in</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>Lề dọc (đơn vị：％)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>Xóa lịch sử</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>Thêm mã hóa</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>Mở lại bằng mã hóa</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>Lưu với mã hóa</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>Biểu thức không hợp lệ！</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>Tự đoán</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>Mã hóa không thể được xác định</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Kết quả trước đó (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>Chuyển đổi chế độ so sánh</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Thứ tự đọc từ phải sang trái</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>Chữ nghiêng</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>Chữ thường</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Chữ xiên</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>Black</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>Bold</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra Black</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra Bold</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra Light</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Light</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Medium</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>Normal</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi Bold</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi Light</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Thin</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Hủy bỏ</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Lưu</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>Đổi tên</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>Tên tệp chứa ký tự không hợp lệ</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>Tên tệp chứa khoảng trắng phía trước tên</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>Tên tệp chứa khoảng trắng phía sau tên</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>Tên tệp không được trống hoặc chứa khoảng trắng</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>Tên tệp không hợp lệ hoặc không được cho phép</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>Tên tệp tối đa 255 ký tự</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>Đổi tên</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>Đã đổi tên</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Notepads chưa hỗ trợ định dạng tệp trống</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>Chưa hỗ trợ định dạng \"{0}\" tại thời điểm này</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>Đóng</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>Không thể khôi phục dữ liệu từ phiên trước do dữ liệu bị hỏng. Vui lòng sao lưu tất cả các tệp chưa lưu (*.txt) trong thư mục phiên làm việc.</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>Mở thư mục sao lưu phiên làm việc</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>Cảnh báo</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>\r\n"
  },
  {
    "path": "src/Notepads/Strings/vi-VN/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>Các thành phần có sử dụng</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>PHẦN MỀM ĐƯỢC CUNG CẤP \"NGUYÊN SI\", KHÔNG CÓ BẤT KỲ BẢO HÀNH NÀO, DÙ RÕ RÀNG HAY NGỤ Ý, BAO GỒM NHƯNG KHÔNG GIỚI HẠN Ở CÁC BẢO HÀNH VỀ KHẢ NĂNG THƯƠNG MẠI, SỰ PHÙ HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ VÀ KHÔNG VI PHẠM. TRONG MỌI TRƯỜNG HỢP, TÁC GIẢ HOẶC NGƯỜI GIỮ BẢN QUYỀN SẼ KHÔNG CHỊU TRÁCH NHIỆM ĐỐI VỚI BẤT KỲ KHIẾU NẠI, THIỆT HẠI HOẶC TRÁCH NHIỆM NÀO KHÁC, CHO DÙ TRONG HÀNH ĐỘNG HỢP ĐỒNG, HÀNH VI PHẠM PHÁP LÝ HOẶC CÁCH KHÁC, PHÁT SINH TỪ, DO HOẶC LIÊN QUAN ĐẾN PHẦN MỀM HOẶC VIỆC SỬ DỤNG HOẶC CÁC GIAO DỊCH KHÁC TRONG PHẦN MỀM.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>Miễn trách nhiệm</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>Trình soạn thảo văn bản tự do và mã nguồn mở được thiết kế và triển khai bởi Jackie (Jiaqi) Liu</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Liên hệ tác giả:</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>Báo lỗi và đề xuất tính năng:</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>Mã nguồn công khai trên Github:</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>Trang chủ:</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>Cam kết bảo mật</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Giới thiệu</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Hiện thanh trạng thái</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Hiện thanh trạng thái</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Thanh trạng thái</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Nâng cao</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Màu</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Giống màu hệ thống</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Giống màu hệ thống</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Hiệu ứng màu acrylic. Sẽ bị tắt khi bật chế độ tiết kiệm pin hoặc tắt hiệu ứng trong suốt trong Cài đặt Windows.</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Độ đậm</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Tối</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Sáng</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Chủ đề</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Giống hệ thống</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Giao diện</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (trang mã Windows)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Áp dụng khi không thể nhận dạng loại mã hóa của tệp.</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Giải mã dự phòng</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Chỉ áp dụng cho tài liệu mới.</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Mã hóa mặc định</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Phông &amp; kích cỡ</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Chỉ áp dụng cho tài liệu mới.</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Kết thúc dòng</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Mặc định (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Cài đặt thao tác phím Tab, chỉ áp dụng cho các Tab mới do người dùng thêm vào.</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 dấu cách</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 dấu cách</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Hành vi phímTab</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 dấu cách</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Xuống dòng</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Tự xuống dòng</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Tự xuống dòng</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>Soạn thảo</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>Nhật ký thay đổi</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Ghi nhớ vị trí hiện tại cho lần mở tệp tiếp theo và thực hiện sao lưu định kỳ để tránh sự cố mất dữ liệu không thể đoán trước. Notepads sẽ KHÔNG nhắc bạn lưu công việc của mình khi đóng ứng dụng, nếu tính năng này được bật. Lưu ý rằng sao lưu chỉ áp dụng trong cửa sổ đầu tiên hoặc cửa sổ chính của Notepads.</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Sao lưu định kỳ</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Bật sao lưu</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Sao lưu</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Đánh dấu các từ sai chính tả</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Đánh dấu các từ sai chính tả</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Chính tả</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>Luôn mở tệp trong cửa sổ mới thay vì tạo tab mới.</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Mở cửa sổ mới</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Mở cửa sổ mới</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Thoát ứng dụng khi đóng tab cuối cùng</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Thoát ứng dụng nếu đóng hết tab</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Khi mở app</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Làm nổi bật dòng hiện tại</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Đánh dấu dòng hiện tại</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>Tùy chỉnh</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*Nhập url có định dạng https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Chọn công cụ tìm kiếm mặc định khi tìm kiếm trên web.</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Công cụ tìm kiếm</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>Mã hóa tự đoán (Đề xuất)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Hiển thị</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Hiện số thứ tự dòng ở đầu dòng.</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Hiện số dòng</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Hiện số dòng</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Kiểu chữ</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Độ đậm chữ</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Cần phải khởi động lại ứng dụng để áp dụng các thay đổi.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>* Hãy khởi động lại Notepads.</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Ngôn ngữ ứng dụng</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Tự động bỏ các khoảng trống ở đầu và cuối, các tab và các dòng trống một cách thông minh khi sao chép văn bản vào bộ nhớ tạm.</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>Sao chép thông minh</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>Sao chép thông minh</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Sao chép</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>Giống hệ thống</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n</root>\r\n"
  },
  {
    "path": "src/Notepads/Strings/zh-CN/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub 高级字幕文件</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>汇编语言文件</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP 文件</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>AutoHotkey 脚本文件</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Aliases 文件</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash 历史文件</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Login 文件</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Logout 文件</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Profile 文件</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash 脚本文件</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX 文件</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond 文件</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Build Path 文件</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C 文件</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI 文件</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure 文件</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake 文件</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript 文件</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>逗号分隔值文件</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>配置文件</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++ 文件</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# 文件</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS 文件</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT 文件</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff 文件</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker 文件</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild 文件</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F# 文件</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Attributes 文件</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git 配置文件</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git Ignore 文件</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP 文件</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go 文件</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy 文件</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars 文件</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>头文件</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HLSL 文件</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML 文件</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hypertext Access 文件</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>初始化文件</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Install 文件</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java 文件</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Javascript 文件</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON 文件</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP 文件</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less 文件</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>日志文件</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>歌词文件</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA 文件</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map 文件</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown 文件</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO 文件</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NPM 配置文件</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 文件</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 文件</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP 文件</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod 文件</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell 文件</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profile 文件</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>项目文件</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug File</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python 文件</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor 文件</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R 文件</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby 文件</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Run Commands 文件</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust 文件</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader 文件</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shell 脚本文件</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL 文件</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Sub Station Alpha 字幕文件</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Srt 字幕文件</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift 文件</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TXT 文本文档</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T 文件</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript 文件</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User 文件</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Verilog 文件</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Visual Basic 文件</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue 配置文件</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue 文件</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML 文件</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML 文件</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML 文件</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell 配置文件</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell 历史文件</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U 文件</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat 文件</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# 工程文件</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>环境变量文件</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL 文件</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>License 文件</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT 文件</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Property List File</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD 文件</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>资源文件</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML 文件</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL 文件</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>文本文档</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/zh-CN/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>取消</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>您有尚未保存的内容。</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>全部保存并退出</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>退出不保存</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>是否保存更改?</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>找不到可分享内容，请确保文档存在内容同时选择了文本。</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>改动之后</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>改动之前</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads 暂时不支持打开 1MB 以上的文件。</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>抱歉，文件 \"{0}\" 打开失败: {1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>明白</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>文件打开失败</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>抱歉，文件 \"{0}\" 保存失败: {1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>明白</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>文件保存失败</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>关闭</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>查找</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>未找到</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>全部替换 (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>替换</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>替换 (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>查找下一个 (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>查找选项</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>区分大小写</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>全字符匹配</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>查找...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>新建文件</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>打开...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>打印...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>替换...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>保存</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>全部保存</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>另存为...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>设置</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>取消</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>所有对 \"{0}\" 的改动包括文字，换行符和编码将会被撤消！</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>是的</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>是否撤消所有改动？</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>取消</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>是否将更改保存到 \"{0}\"?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>保存</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>不保存</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>是否保存更改?</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>关闭</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>关闭其他</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>关闭右侧所有</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>关闭已保存</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>复制文件路径</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>打开文件所在文件夹</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>复制</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>剪切</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>粘贴</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>打开/关闭预览</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>恢复</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>全选</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>分享</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>分享所选内容</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>撤消</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>自动换行</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>新建文本文档.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>第 {0} 行，第 {1} 列 ( {3} {2} )</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>第 {0} 行，第 {1} 列</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>预览文字改动</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>撤消所有改动</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>已改动</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>已复制</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>已保存</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>按下 F11 可退出全屏</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>从磁盘重新加载文件</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>文件已在外部被修改！</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>文件已移动、重命名或删除！</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>文件已重新加载</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>置顶模式</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>全屏模式</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>退出置顶模式</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>退出全屏模式</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>已选择</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>已选择</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>移动标签到此窗口</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>在Notepads中打开</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>这是Notepads的一个影子窗口，快照备份功能和设置已被禁用。</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>文件已打开！</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>打开一个新窗口</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>新建窗口</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>新建窗口</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>打开最近的文件</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>转到此行</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>跳转至(指定行):</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>行数超过当前文本总行数!</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>请输入合法数字!</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>跳转至指定行</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>在互联网中搜索</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>重置缩放</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>放大</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>缩小</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>使用正则表达式查找</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>打印全部...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>仅支持到小数点后一位</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>数值超出范围</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>页脚</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>页眉</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>水平边距 (%)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>打印纸所占百分比数值</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>打印错误:</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>打印失败</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>此设备不支持打印</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>垂直边距  (%)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>清除最近打开记录</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>更多编码选项</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>通过编码重新打开</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>通过编码保存</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>正则表达式不合法!</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>自动猜测编码</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>无法识别当前文件编码</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>查找上一个 (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>切换替换模式</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>从右到左阅读顺序</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>斜体</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>正常</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>Oblique</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>黑体</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>粗体</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>Extra Black</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>Extra Bold</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>Extra Light</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>Light</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>Medium</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>正常</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>Semi Bold</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>Semi Light</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>Thin</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>取消</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>确认</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>重命名</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>文件名不能包含非法字符</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>文件名不能以空格开头</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>文件名不能以空格结尾</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>文件名不能为空或者全是空格</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>文件名非法或无效</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>文件名不能超过255个字符</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>重命名</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>已重命名</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>Notepads暂时不支持无文件后缀名</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>Notepads暂时不支持文件后缀名 \"{0}\"</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>关闭</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>由于数据损坏，无法从上次会话中恢复数据。请将快照备份文件夹中的所有文件（*.txt）备份以免丢失重要文档。</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>打开快照备份文件夹</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>警告</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/zh-CN/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>依赖及参考</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>该软件是\"按原样\"提供的，没有任何形式的明示或暗示，包括但不限于为特定目的和不侵权的适销性和适用性的保证担保。在任何情况下，作者或版权持有人，都无权要求任何索赔，或有关损害赔偿的其他责任。无论在本软件的使用上或其他买卖交易中， 是否涉及合同，侵权或其他行为。</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>声明</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>一款由柒才设计的简约轻量级文本编辑器</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>您也可以通过电子邮件联系作者：</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>如果您有什么问题或者建议，请点击：</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>项目源代码已开源至Github：</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>更多信息，请访问Notepads官网：</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>隐私声明</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>关于</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>开启状态栏</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>开启状态栏</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>状态栏设置</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>高级</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>主题颜色</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>使用Windows颜色</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>使用Windows颜色</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>亚克力背景透明度设置。请注意，当系统处于节能模式中或者Windows设置中禁用了透明效果，您将无法更改此设置并且亚克力效果会被禁用。</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>背景透明度</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>深色</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>浅色</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>主题模式</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>使用我的Windows模式</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>个性化</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Windows 当前默认代码页)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>如果文件开头不含有BOM(字节顺序标记)，Notepads将使用此编码作为默认读取编码。如果选择自动猜测识别编码，Notepads将会猜测文件编码并打开。</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>默认读取编码</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>改变设置后只会影响新打开或者创建的文件。</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>默认写入编码</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>默认字体和大小</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>改变设置后只会影响新打开或者创建的文件。</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>默认换行符</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>插入默认制表符 (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>改变制表符行为之后，只有新键入的制表符才会生效，已有制表符不会被替换。</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>插入八个空格</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>插入四个空格</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>制表符键(Tab)行为</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>插入两个空格</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>自动换行设置</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>自动换行</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>自动换行</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>文本与编辑器</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>更新日志</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>开启此设置后，Notepads会定期保存当前应用状态并在下一次启动时自动恢复。当此设置打开后，关闭应用时Notepads将不会提醒你保存文件。另外请注意，快照备份在影子窗口中将会被禁用，此设置只会作用于第一个被打开的窗口。</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>开启快照备份与还原</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>开启快照备份与还原</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>快照备份设置</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>高亮拼写错误 (英文)</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>高亮拼写错误 (英文)</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>拼写检查</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>选中此设置后，Notepads将会在新窗口中打开文件而不是在新标签栏中。</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>永远在新窗口中打开文件</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>永远在新窗口中打开文件</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>启动偏好设置</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>高亮光标所在行</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>高亮光标所在行</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>自定义搜索</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*示例:  https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>文本搜索默认所使用的搜索引擎。</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>默认搜索引擎</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>自动猜测编码 (推荐)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>显示设置</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>在当前文本中显示行号栏。</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>显示行号</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>显示行号</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>默认字体样式</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>默认字体粗细</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>选择Notepads应用显示语言，选择后需要重启应用才会生效。</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*需要重启应用后才会生效。</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>语言设置</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>开启后，当复制选中文字时（Ctrl+C），Notepads会智能的帮你剪裁起始和结尾处的多余空格，制表符以及空白行。</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>开启智能复制功能</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>开启智能复制功能</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>智能复制设置</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>使用系统默认语言</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>关闭最后一个标签时退出应用</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>关闭最后一个标签时退出应用</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/zh-TW/Manifest.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AegisubAdvancedSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Aegisub Advanced 字幕檔</value>\r\n    <comment>.ass</comment>\r\n  </data>\r\n  <data name=\"AsmFileDisplayName\" xml:space=\"preserve\">\r\n    <value>組合語言檔案</value>\r\n    <comment>.asm</comment>\r\n  </data>\r\n  <data name=\"AspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>ASP 檔案</value>\r\n    <comment>.asp, .aspx</comment>\r\n  </data>\r\n  <data name=\"AutoHotkeyScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>AutoHotkey 指令檔</value>\r\n    <comment>.ahk</comment>\r\n  </data>\r\n  <data name=\"BashAliasesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Aliases 檔案</value>\r\n    <comment>.bash_aliases</comment>\r\n  </data>\r\n  <data name=\"BashHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash 歷史檔</value>\r\n    <comment>.bash_history</comment>\r\n  </data>\r\n  <data name=\"BashLoginFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Login 檔案</value>\r\n    <comment>.bash_login</comment>\r\n  </data>\r\n  <data name=\"BashLogoutFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Logout 檔案</value>\r\n    <comment>.bash_logout</comment>\r\n  </data>\r\n  <data name=\"BashProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash Profile 檔案</value>\r\n    <comment>.bash_profile</comment>\r\n  </data>\r\n  <data name=\"BashScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bash 指令檔</value>\r\n    <comment>.bash</comment>\r\n  </data>\r\n  <data name=\"BibTeXFileDisplayName\" xml:space=\"preserve\">\r\n    <value>BibTeX 檔案</value>\r\n    <comment>.bib</comment>\r\n  </data>\r\n  <data name=\"BondFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Bond 檔案</value>\r\n    <comment>.bond</comment>\r\n  </data>\r\n  <data name=\"BuildPathFileDisplayName\" xml:space=\"preserve\">\r\n    <value>建置路徑檔案</value>\r\n    <comment>.buildpath</comment>\r\n  </data>\r\n  <data name=\"CFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C 檔案</value>\r\n    <comment>.c, .m, .i</comment>\r\n  </data>\r\n  <data name=\"CgiFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CGI 檔案</value>\r\n    <comment>.cgi</comment>\r\n  </data>\r\n  <data name=\"ClojureFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Clojure 檔案</value>\r\n    <comment>.clj, .cljs, .cljc, .cljx, .clojure, .edn</comment>\r\n  </data>\r\n  <data name=\"CmakeFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cmake 檔案</value>\r\n    <comment>.cmake</comment>\r\n  </data>\r\n  <data name=\"CoffeeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CoffeeScript 檔案</value>\r\n    <comment>.coffee, .cson, .iced</comment>\r\n  </data>\r\n  <data name=\"CommaSeparatedValuesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>逗點分隔值檔案</value>\r\n    <comment>.csv</comment>\r\n  </data>\r\n  <data name=\"ConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>組態設定</value>\r\n    <comment>.cfg, .config, .cnf, .conf, .properties, .directory</comment>\r\n  </data>\r\n  <data name=\"CppFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C++ 檔案</value>\r\n    <comment>.cpp, .cc, .mm, .cxx, .ii, .ino</comment>\r\n  </data>\r\n  <data name=\"CSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# 檔案</value>\r\n    <comment>.cs, .csx, .cake</comment>\r\n  </data>\r\n  <data name=\"CssFileDisplayName\" xml:space=\"preserve\">\r\n    <value>CSS 檔案</value>\r\n    <comment>.css, .scss</comment>\r\n  </data>\r\n  <data name=\"DatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>DAT 檔案</value>\r\n    <comment>.dat</comment>\r\n  </data>\r\n  <data name=\"DiffFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Diff 檔案</value>\r\n    <comment>.patch, .diff, .rej</comment>\r\n  </data>\r\n  <data name=\"DockerFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Docker 檔案</value>\r\n    <comment>.dockerfile</comment>\r\n  </data>\r\n  <data name=\"EBuildFileDisplayName\" xml:space=\"preserve\">\r\n    <value>EBuild 檔案</value>\r\n    <comment>.ebuild</comment>\r\n  </data>\r\n  <data name=\"FSharpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>F# 檔案</value>\r\n    <comment>.fs, .fsi, .fsx, .fsscript</comment>\r\n  </data>\r\n  <data name=\"GitAttributesFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git 屬性檔案</value>\r\n    <comment>.gitattributes</comment>\r\n  </data>\r\n  <data name=\"GitConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git 設定檔案</value>\r\n    <comment>.gitconfig</comment>\r\n  </data>\r\n  <data name=\"GitIgnoreFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Git 忽略檔案</value>\r\n    <comment>.gitignore</comment>\r\n  </data>\r\n  <data name=\"GlspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSP 檔案</value>\r\n    <comment>.glsp</comment>\r\n  </data>\r\n  <data name=\"GoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Go 檔案</value>\r\n    <comment>.go</comment>\r\n  </data>\r\n  <data name=\"GroovyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Groovy 檔案</value>\r\n    <comment>.groovy, .gvy, .gradle</comment>\r\n  </data>\r\n  <data name=\"HandlebarsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Handlebars 檔案</value>\r\n    <comment>.handlebars, .hbs, .hjs</comment>\r\n  </data>\r\n  <data name=\"HeaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>標頭檔</value>\r\n    <comment>.h, .hpp, .hh, .hxx</comment>\r\n  </data>\r\n  <data name=\"HlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HLSL 檔案</value>\r\n    <comment>.hlsl, .hlsli, .fx, .fxh, .vsh, .psh, .cginc, .compute</comment>\r\n  </data>\r\n  <data name=\"HtmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>HTML 檔案</value>\r\n    <comment>.html, .htm, .shtml, .xhtml, .mdoc, .jshtm, .volt</comment>\r\n  </data>\r\n  <data name=\"HypertextAccessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Hypertext Access 檔案</value>\r\n    <comment>.htaccess</comment>\r\n  </data>\r\n  <data name=\"InitializationFileDisplayName\" xml:space=\"preserve\">\r\n    <value>初始設定檔案</value>\r\n    <comment>.ini</comment>\r\n  </data>\r\n  <data name=\"InstallFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Install 檔案</value>\r\n    <comment>.install</comment>\r\n  </data>\r\n  <data name=\"JavaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Java 檔案</value>\r\n    <comment>.java, .jav</comment>\r\n  </data>\r\n  <data name=\"JavascriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Javascript 檔案</value>\r\n    <comment>.js, .jsx, .es6, .mjs, .cjs, .pac</comment>\r\n  </data>\r\n  <data name=\"JsonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSON 檔案</value>\r\n    <comment>.json, .hintrc, .jsonc, .jsonld, .babelrc, .eslintrc, .jslintrc, .bowerrc, .jscsrc, .webmanifest, .har</comment>\r\n  </data>\r\n  <data name=\"JspFileDisplayName\" xml:space=\"preserve\">\r\n    <value>JSP 檔案</value>\r\n    <comment>.jsp, .jspx</comment>\r\n  </data>\r\n  <data name=\"LessFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Less 檔案</value>\r\n    <comment>.less</comment>\r\n  </data>\r\n  <data name=\"LogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>日誌檔</value>\r\n    <comment>.log</comment>\r\n  </data>\r\n  <data name=\"LrcFileDisplayName\" xml:space=\"preserve\">\r\n    <value>歌詞檔</value>\r\n    <comment>.lrc</comment>\r\n  </data>\r\n  <data name=\"LuaFileDisplayName\" xml:space=\"preserve\">\r\n    <value>LUA 檔案</value>\r\n    <comment>.lua</comment>\r\n  </data>\r\n  <data name=\"MapFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Map 檔案</value>\r\n    <comment>.map</comment>\r\n  </data>\r\n  <data name=\"MarkdownFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Markdown 檔案</value>\r\n    <comment>.md, .markdown, .mkd, .mdwn, .mdown, .markn, .mdtxt</comment>\r\n  </data>\r\n  <data name=\"NfoFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NFO 檔案</value>\r\n    <comment>.nfo</comment>\r\n  </data>\r\n  <data name=\"NpmConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>NPM 設定檔</value>\r\n    <comment>.npmrc</comment>\r\n  </data>\r\n  <data name=\"Perl6FileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 6 檔案</value>\r\n    <comment>.p6, .pl6, .pm6, .nqp</comment>\r\n  </data>\r\n  <data name=\"PerlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Perl 檔案</value>\r\n    <comment>.pl, .pm, .psgi</comment>\r\n  </data>\r\n  <data name=\"PhpFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PHP 檔案</value>\r\n    <comment>.php, .php4, .php5, .phtml, .ctp</comment>\r\n  </data>\r\n  <data name=\"PodFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pod 檔案</value>\r\n    <comment>.pod, .podspec</comment>\r\n  </data>\r\n  <data name=\"PowerShellFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PowerShell 檔案</value>\r\n    <comment>.ps1, .psm1, .psd1, .pssc, .psrc</comment>\r\n  </data>\r\n  <data name=\"ProfileFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Profile 檔案</value>\r\n    <comment>.profile</comment>\r\n  </data>\r\n  <data name=\"ProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Project 檔案</value>\r\n    <comment>.project, .prj</comment>\r\n  </data>\r\n  <data name=\"PugFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Pug 檔案</value>\r\n    <comment>.jade, .pug</comment>\r\n  </data>\r\n  <data name=\"PythonFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Python 檔案</value>\r\n    <comment>.py</comment>\r\n  </data>\r\n  <data name=\"RazorFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Razor 檔案</value>\r\n    <comment>.cshtml</comment>\r\n  </data>\r\n  <data name=\"RFileDisplayName\" xml:space=\"preserve\">\r\n    <value>R 檔案</value>\r\n    <comment>.r, .rhistory, .rprofile, .rt</comment>\r\n  </data>\r\n  <data name=\"RubyFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Ruby 檔案</value>\r\n    <comment>.rb, .rbx, .rjs, .gemspec, .rake, .ru, .erb, .rbi, .arb</comment>\r\n  </data>\r\n  <data name=\"RunCommandsFileDisplayName\" xml:space=\"preserve\">\r\n    <value>命令執行檔</value>\r\n    <comment>.bashrc, .vimrc, .rc</comment>\r\n  </data>\r\n  <data name=\"RustFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Rust 檔案</value>\r\n    <comment>.rs</comment>\r\n  </data>\r\n  <data name=\"ShaderFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shader 檔案</value>\r\n    <comment>.shader</comment>\r\n  </data>\r\n  <data name=\"ShellScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Shell 指令檔</value>\r\n    <comment>.sh</comment>\r\n  </data>\r\n  <data name=\"SqlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>SQL 檔案</value>\r\n    <comment>.sql, .dsql</comment>\r\n  </data>\r\n  <data name=\"SubStationAlphaSubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Sub Station Alpha 字幕檔</value>\r\n    <comment>.ssa</comment>\r\n  </data>\r\n  <data name=\"SubtitleFileDisplayName\" xml:space=\"preserve\">\r\n    <value>字幕檔</value>\r\n    <comment>.srt</comment>\r\n  </data>\r\n  <data name=\"SwiftFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Swift 檔案</value>\r\n    <comment>.swift</comment>\r\n  </data>\r\n  <data name=\"TextFileDisplayName\" xml:space=\"preserve\">\r\n    <value>文字文件</value>\r\n    <comment>.txt</comment>\r\n  </data>\r\n  <data name=\"TFileDisplayName\" xml:space=\"preserve\">\r\n    <value>T 檔案</value>\r\n    <comment>.t</comment>\r\n  </data>\r\n  <data name=\"TypeScriptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TypeScript 檔案</value>\r\n    <comment>.ts, .tsx</comment>\r\n  </data>\r\n  <data name=\"UserFileDisplayName\" xml:space=\"preserve\">\r\n    <value>User 檔案</value>\r\n    <comment>.user</comment>\r\n  </data>\r\n  <data name=\"VerilogFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Verilog 檔案</value>\r\n    <comment>.v</comment>\r\n  </data>\r\n  <data name=\"VisualBasicFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Visual Basic 檔案</value>\r\n    <comment>.vb, .vbs, .brs, .bas</comment>\r\n  </data>\r\n  <data name=\"VueConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue 設定檔</value>\r\n    <comment>.vuerc</comment>\r\n  </data>\r\n  <data name=\"VueFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Vue 檔案</value>\r\n    <comment>.vue</comment>\r\n  </data>\r\n  <data name=\"XamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XAML 檔案</value>\r\n    <comment>.xaml</comment>\r\n  </data>\r\n  <data name=\"XmlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XML 檔案</value>\r\n    <comment>.xml, .xsd, .ascx, .atom, .axml, .bpmn, .cpt, .csl</comment>\r\n  </data>\r\n  <data name=\"YamlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>YAML檔案</value>\r\n    <comment>.yml, .yaml</comment>\r\n  </data>\r\n  <data name=\"ZshellConfigFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell 設定檔</value>\r\n    <comment>.zshrc</comment>\r\n  </data>\r\n  <data name=\"ZshellHistoryFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Z shell 歷史檔</value>\r\n    <comment>.zsh_history</comment>\r\n  </data>\r\n  <data name=\"M3uFileDisplayName\" xml:space=\"preserve\">\r\n    <value>M3U 檔案</value>\r\n    <comment>.m3u, .m3u8</comment>\r\n  </data>\r\n  <data name=\"CheatFileDisplayName\" xml:space=\"preserve\">\r\n    <value>Cheat 檔案</value>\r\n    <comment>.cht</comment>\r\n  </data>\r\n  <data name=\"CSharpeProjectFileDisplayName\" xml:space=\"preserve\">\r\n    <value>C# 專案檔</value>\r\n    <comment>.csproj</comment>\r\n  </data>\r\n  <data name=\"EnvironmentFileDisplayName\" xml:space=\"preserve\">\r\n    <value>環境檔案</value>\r\n    <comment>.env</comment>\r\n  </data>\r\n  <data name=\"GlslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>GLSL 檔案</value>\r\n    <comment>.glslp</comment>\r\n  </data>\r\n  <data name=\"LicenseFileDisplayName\" xml:space=\"preserve\">\r\n    <value>License 檔案</value>\r\n    <comment>.lic</comment>\r\n  </data>\r\n  <data name=\"OptFileDisplayName\" xml:space=\"preserve\">\r\n    <value>OPT 檔案</value>\r\n    <comment>.opt</comment>\r\n  </data>\r\n  <data name=\"PropertyListFileDisplayName\" xml:space=\"preserve\">\r\n    <value>屬性列表檔案</value>\r\n    <comment>.plist</comment>\r\n  </data>\r\n  <data name=\"PvdFileDisplayName\" xml:space=\"preserve\">\r\n    <value>PVD 檔案</value>\r\n    <comment>.pvd</comment>\r\n  </data>\r\n  <data name=\"ResourceFileDisplayName\" xml:space=\"preserve\">\r\n    <value>資源檔案</value>\r\n    <comment>.resx</comment>\r\n  </data>\r\n  <data name=\"TomlFileDisplayName\" xml:space=\"preserve\">\r\n    <value>TOML 檔案</value>\r\n    <comment>.toml</comment>\r\n  </data>\r\n  <data name=\"XslFileDisplayName\" xml:space=\"preserve\">\r\n    <value>XSL 檔案</value>\r\n    <comment>.xsl</comment>\r\n  </data>\r\n  <data name=\"NewTextDocumentDisplayName\" xml:space=\"preserve\">\r\n    <value>文字文件</value>\r\n    <comment>New .txt file name</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/zh-TW/Resources.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AppCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>取消</value>\r\n    <comment>AppCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>尚還有未儲存的內容。</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>全部儲存並退出</value>\r\n    <comment>AppCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>退出不儲存</value>\r\n    <comment>AppCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"AppCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>您要儲存這些變更嗎？</value>\r\n    <comment>AppCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"ContentSharing_FailureDisplayText\" xml:space=\"preserve\">\r\n    <value>找不到任何可以分享的內容。請確認是否有已經選取好文字或者檔案內存在著內容。</value>\r\n    <comment>ContentSharing: Failure message when user trying to share empty content.</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_NewTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>變更後</value>\r\n    <comment>DiffViewer: Header's text for new text (After changes).</comment>\r\n  </data>\r\n  <data name=\"DiffViewer_Header_OldTextTittle.Text\" xml:space=\"preserve\">\r\n    <value>變更前</value>\r\n    <comment>DiffViewer: Header's text for old text (Before changes).</comment>\r\n  </data>\r\n  <data name=\"ErrorMessage_NotepadsFileSizeLimit\" xml:space=\"preserve\">\r\n    <value>Notepads 尚未支援開啟超過 1MB 以上的檔案。</value>\r\n    <comment>ErrorMessage: NotepadsFileSizeLimit text.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>抱歉，檔案「{0}」開啟時發生錯誤：{1}</value>\r\n    <comment>FileOpenErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>確定</value>\r\n    <comment>FileOpenErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileOpenErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>檔案開啟錯誤</value>\r\n    <comment>FileOpenErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>抱歉，檔案「{0}」儲存時發生錯誤：{1}</value>\r\n    <comment>FileSaveErrorDialog: \"Content\" display text, {0} stands for file path, {1} stands for error message. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>確定</value>\r\n    <comment>FileSaveErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileSaveErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>檔案儲存錯誤</value>\r\n    <comment>FileSaveErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_DismissButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>關閉</value>\r\n    <comment>FindAndReplace: \"Dismiss\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_FindBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>尋找</value>\r\n    <comment>FindAndReplace: Find bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_NotFound\" xml:space=\"preserve\">\r\n    <value>未找到</value>\r\n    <comment>FindAndReplace: Notification message when target not found.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceAllButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>取代全部 (Ctrl+Alt+Enter)</value>\r\n    <comment>FindAndReplace: \"Replace All\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>取代</value>\r\n    <comment>FindAndReplace: Replace bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ReplaceButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>取代 (Alt+R)</value>\r\n    <comment>FindAndReplace: \"Replace\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchForwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>尋找下一個 (F3)</value>\r\n    <comment>FindAndReplace: \"Find Next\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>搜尋選項</value>\r\n    <comment>FindAndReplace: \"SearchOptions\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchCase.Text\" xml:space=\"preserve\">\r\n    <value>大小寫視為相異</value>\r\n    <comment>FindAndReplace: \"Match Case\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_MatchWholeWord.Text\" xml:space=\"preserve\">\r\n    <value>全字相符</value>\r\n    <comment>FindAndReplace: \"Match Whole Word\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Find.Text\" xml:space=\"preserve\">\r\n    <value>尋找...</value>\r\n    <comment>MainMenu: \"Find\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New.Text\" xml:space=\"preserve\">\r\n    <value>開新檔案</value>\r\n    <comment>MainMenu: \"New\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open.Text\" xml:space=\"preserve\">\r\n    <value>開啟舊檔...</value>\r\n    <comment>MainMenu: \"Open\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Print.Text\" xml:space=\"preserve\">\r\n    <value>列印...</value>\r\n    <comment>MainMenu: \"Print\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Replace.Text\" xml:space=\"preserve\">\r\n    <value>取代...</value>\r\n    <comment>MainMenu: \"Replace\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Save.Text\" xml:space=\"preserve\">\r\n    <value>儲存檔案</value>\r\n    <comment>MainMenu: \"Save\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAll.Text\" xml:space=\"preserve\">\r\n    <value>儲存全部</value>\r\n    <comment>MainMenu: \"Save All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_SaveAs.Text\" xml:space=\"preserve\">\r\n    <value>另存新檔...</value>\r\n    <comment>MainMenu: \"Save As\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Settings.Text\" xml:space=\"preserve\">\r\n    <value>設定</value>\r\n    <comment>MainMenu: \"Settings\" button display text.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>取消</value>\r\n    <comment>RevertAllChangesConfirmationDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Content\" xml:space=\"preserve\">\r\n    <value>所有對「{0}」的變更包括文字、行尾以及編碼將會被還原！</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Content\" display text, {0} stands for file name. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>是</value>\r\n    <comment>RevertAllChangesConfirmationDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"RevertAllChangesConfirmationDialog_Title\" xml:space=\"preserve\">\r\n    <value>您確定要還原所有變更嗎？</value>\r\n    <comment>RevertAllChangesConfirmationDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>取消</value>\r\n    <comment>SetCloseSaveReminderDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Content\" xml:space=\"preserve\">\r\n    <value>要儲存對「{0}」的變更嗎？</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Content\" display text.  {0} stands for file name/path. You can change the order but DO NOT REMOVE it from the string.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>儲存</value>\r\n    <comment>SetCloseSaveReminderDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_SecondaryButtonText\" xml:space=\"preserve\">\r\n    <value>不要儲存</value>\r\n    <comment>SetCloseSaveReminderDialog: SecondaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SetCloseSaveReminderDialog_Title\" xml:space=\"preserve\">\r\n    <value>是否儲存變更？</value>\r\n    <comment>SetCloseSaveReminderDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>關閉</value>\r\n    <comment>Tab: ContextFlyout \"Close\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseOthersButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>關閉其它索引標籤</value>\r\n    <comment>Tab: ContextFlyout \"Close Others\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseRightButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>關閉右邊的項目</value>\r\n    <comment>Tab: ContextFlyout \"Close to the Right\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CloseSavedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>關閉已儲存的項目</value>\r\n    <comment>Tab: ContextFlyout \"Close Saved\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>複製完整路徑</value>\r\n    <comment>Tab: ContextFlyout \"Copy Full Path\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>開啟檔案所在之資料夾</value>\r\n    <comment>Tab: ContextFlyout \"Open Containing Folder\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CopyButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>複製</value>\r\n    <comment>TextEditor: ContextFlyout \"Copy\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_CutButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>剪下</value>\r\n    <comment>TextEditor: ContextFlyout \"Cut\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PasteButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>貼上</value>\r\n    <comment>TextEditor: ContextFlyout \"Paste\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_PreviewToggleDisplay_Text\" xml:space=\"preserve\">\r\n    <value>切換預覽檢視</value>\r\n    <comment>TextEditor: ContextFlyout \"Toggle Preview\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RedoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>取消復原</value>\r\n    <comment>TextEditor: ContextFlyout \"Redo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_SelectAllButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>選取全部</value>\r\n    <comment>TextEditor: ContextFlyout \"Select All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>共用</value>\r\n    <comment>TextEditor: ContextFlyout \"Share\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_ShareSelectedButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>共用選取的文字</value>\r\n    <comment>TextEditor: ContextFlyout \"Share Selected\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_UndoButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>復原</value>\r\n    <comment>TextEditor: ContextFlyout \"Undo\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WordWrapButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>自動換行</value>\r\n    <comment>TextEditor: ContextFlyout \"Word Wrap\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_DefaultNewFileName\" xml:space=\"preserve\">\r\n    <value>未命名.txt</value>\r\n    <comment>TextEditor: Default file name for new document.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText\" xml:space=\"preserve\">\r\n    <value>第 {0} 列，第 {1} 行（{3} {2}）</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when character(s) is(are) selected. {0} stands for line number, {1} stands for column index, {2} stands for number of selected characters, {3} stands for \"selected\" (based on singular and plural). You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_ShortText\" xml:space=\"preserve\">\r\n    <value>第 {0} 列，第 {1} 行</value>\r\n    <comment>TextEditor: LineColumnIndicator display text when no character is selected. {0} stands for line number, {1} stands for column index. You can change the order but DO NOT REMOVE them from the string.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges.Text\" xml:space=\"preserve\">\r\n    <value>預覽文字變更</value>\r\n    <comment>TextEditor: ModificationIndicator \"PreviewTextChanges\" MenuFlyoutItem display text. DiffViewer will be shown upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges.Text\" xml:space=\"preserve\">\r\n    <value>還原所有變更</value>\r\n    <comment>TextEditor: ModificationIndicator \"RevertAllChanges\" MenuFlyoutItem display text. All changes including text, encoding and line ending will be reverted to original state upon selection.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ModificationIndicator_Text\" xml:space=\"preserve\">\r\n    <value>已變更</value>\r\n    <comment>TextEditor: ModificationIndicator display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileNameOrPathCopied\" xml:space=\"preserve\">\r\n    <value>已複製</value>\r\n    <comment>TextEditor: Notification message when user tap or click file name/path on status bar (Bottom left corner).</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileSaved\" xml:space=\"preserve\">\r\n    <value>已儲存</value>\r\n    <comment>TextEditor: Notification message when file has been saved successfully.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_ExitFullScreenHint\" xml:space=\"preserve\">\r\n    <value>按下 F11 來退出全螢幕模式</value>\r\n    <comment>TextEditor: Notification message when app entering full screen mode.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk.Text\" xml:space=\"preserve\">\r\n    <value>從硬碟重新讀取檔案</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator \"ReloadFileFromDisk\" MenuFlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileModifiedOutsideIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>檔案已在外部修改過！</value>\r\n    <comment>TextEditor: FileModifiedOutsideIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\" xml:space=\"preserve\">\r\n    <value>檔案已被移動、重新命名或刪除！</value>\r\n    <comment>TextEditor: FileRenamedMovedOrDeletedIndicator tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileReloaded\" xml:space=\"preserve\">\r\n    <value>檔案已重新讀取</value>\r\n    <comment>TextEditor: Notification message when file has been reloaded successfully.</comment>\r\n  </data>\r\n  <data name=\"App_EnterCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>迷你檢視模式</value>\r\n    <comment>App: \"Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_EnterFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>全螢幕模式</value>\r\n    <comment>App: \"Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitCompactOverlayMode_Text\" xml:space=\"preserve\">\r\n    <value>退出迷你檢視模式</value>\r\n    <comment>App: \"Exit Compact Overlay\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ExitFullScreenMode_Text\" xml:space=\"preserve\">\r\n    <value>退出全螢幕模式</value>\r\n    <comment>App: \"Exit Full Screen\" display text</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\" xml:space=\"preserve\">\r\n    <value>已選取</value>\r\n    <comment>TextEditor: Plural form for the selected word count indicator. Leave it with the same value of SingularSelectedWord if your language doesen't have a plural form.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\" xml:space=\"preserve\">\r\n    <value>已選取</value>\r\n    <comment>TextEditor: Singular form for the selected word count indicator.</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_MoveTabHere\" xml:space=\"preserve\">\r\n    <value>移動索引標籤到此視窗</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Move tab here\" display text</comment>\r\n  </data>\r\n  <data name=\"App_DragAndDrop_UIOverride_Caption_OpenWithNotepads\" xml:space=\"preserve\">\r\n    <value>在 Notepads 中打開</value>\r\n    <comment>App: DragAndDrop UIOverride Caption: \"Open with Notepads\" display text</comment>\r\n  </data>\r\n  <data name=\"App_ShadowWindowIndicator_Description\" xml:space=\"preserve\">\r\n    <value>這是 Notepads 的陰影視窗。工作階段快照以及設定已被停用。</value>\r\n    <comment>App: ShadowWindowIndicator Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileAlreadyOpened\" xml:space=\"preserve\">\r\n    <value>檔案已經被開啟了！</value>\r\n    <comment>TextEditor: Notification message when file has been opened in current app instance.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Title\" xml:space=\"preserve\">\r\n    <value>新增視窗</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item display text.</comment>\r\n  </data>\r\n  <data name=\"JumpList_Tasks_NewWindow_Description\" xml:space=\"preserve\">\r\n    <value>開啟一個新視窗</value>\r\n    <comment>JumpList: Windows Taskbar JumpList Items \"New window\" item description display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_New_Window.Text\" xml:space=\"preserve\">\r\n    <value>新增視窗</value>\r\n    <comment>MainMenu: \"New Window\" button display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent.Text\" xml:space=\"preserve\">\r\n    <value>開啟最近的檔案</value>\r\n    <comment>MainMenu: \"Open Recent\" button display text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBar.PlaceholderText\" xml:space=\"preserve\">\r\n    <value>跳至此行</value>\r\n    <comment>GoTo: Go to bar placeholder text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_ExceedInputLimit\" xml:space=\"preserve\">\r\n    <value>行數超過當前文件之總行數！</value>\r\n    <comment>GoTo: Notification message when input exceeds input limit.</comment>\r\n  </data>\r\n  <data name=\"GoTo_NotificationMsg_InputError_InvalidInput\" xml:space=\"preserve\">\r\n    <value>請輸入有效的數字！</value>\r\n    <comment>GoTo: Notification message when invalid input entered.</comment>\r\n  </data>\r\n  <data name=\"GoTo_SearchButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>跳至行</value>\r\n    <comment>GoTo: \"Search\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_WebSearchButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>在網路中搜尋</value>\r\n    <comment>TextEditor: ContextFlyout \"Web Search\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom.Label\" xml:space=\"preserve\">\r\n    <value>重設回預設縮放</value>\r\n    <comment>TextEditor: FontZoomIndicator \"Restore Default Zoom\" FlyoutItem display text. Restores to default zoom for selected text editor.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn.Label\" xml:space=\"preserve\">\r\n    <value>放大</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomIn\" FlyoutItem display text. Zooms in selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut.Label\" xml:space=\"preserve\">\r\n    <value>縮小</value>\r\n    <comment>TextEditor: FontZoomIndicator \"ZoomOut\" FlyoutItem display text. Zooms out selected text editor text.</comment>\r\n  </data>\r\n  <data name=\"GoTo_GoToBarLabel.Text\" xml:space=\"preserve\">\r\n    <value>跳至：</value>\r\n    <comment>GoTo:Go to bar label</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_PrintAll.Text\" xml:space=\"preserve\">\r\n    <value>列印全部...</value>\r\n    <comment>MainMenu: \"Print All\" button display text.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_DecimalOutOfRange\" xml:space=\"preserve\">\r\n    <value>僅支援至小數點後一位</value>\r\n    <comment>Print: Error message when decimal places for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_ErrorMsg_ValueOutOfRange\" xml:space=\"preserve\">\r\n    <value>數值超出範圍</value>\r\n    <comment>Print: Error message when value for margin entry exceeds limit.</comment>\r\n  </data>\r\n  <data name=\"Print_FooterEntry_Title\" xml:space=\"preserve\">\r\n    <value>頁尾</value>\r\n    <comment>Print: PrintManager custom option \"FooterText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_HeaderEntry_Title\" xml:space=\"preserve\">\r\n    <value>頁首</value>\r\n    <comment>Print: PrintManager custom option \"HeaderText\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_LeftMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>水平邊距 (%)</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"Print_MarginEntry_Description\" xml:space=\"preserve\">\r\n    <value>紙張寬度或高度的百分比</value>\r\n    <comment>Print: PrintManager custom option \"LeftMargin\" and \"TopMargin\" description.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintError\" xml:space=\"preserve\">\r\n    <value>列印時發生錯誤：</value>\r\n    <comment>Print: Notification message when error occurs while showing print ui.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintFailed\" xml:space=\"preserve\">\r\n    <value>列印失敗</value>\r\n    <comment>Print: Notification message on print failure.</comment>\r\n  </data>\r\n  <data name=\"Print_NotificationMsg_PrintNotSupported\" xml:space=\"preserve\">\r\n    <value>此裝置不支援列印</value>\r\n    <comment>Print: Notification message when printing attempted in a non-supported device.</comment>\r\n  </data>\r\n  <data name=\"Print_TopMarginEntry_Title\" xml:space=\"preserve\">\r\n    <value>垂直邊距 (%)</value>\r\n    <comment>Print: PrintManager custom option \"TopMargin\" title.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchOptionToggleButton_UseRegex.Text\" xml:space=\"preserve\">\r\n    <value>使用規則運算式</value>\r\n    <comment>FindAndReplace: \"Use Regular Expression\" OptionToggleButton display text.</comment>\r\n  </data>\r\n  <data name=\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\" xml:space=\"preserve\">\r\n    <value>清除最近開啟的項目</value>\r\n    <comment>MainMenu: \"Open Recent\" button ClearRecentlyOpenedSubItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\" xml:space=\"preserve\">\r\n    <value>更多編碼</value>\r\n    <comment>TextEditor: EncodingIndicator \"More Encodings\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\" xml:space=\"preserve\">\r\n    <value>以編碼重新開啟</value>\r\n    <comment>TextEditor: EncodingIndicator \"Reopen with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\" xml:space=\"preserve\">\r\n    <value>以編碼儲存</value>\r\n    <comment>TextEditor: EncodingIndicator \"Save with Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_NotificationMsg_InvalidRegex\" xml:space=\"preserve\">\r\n    <value>無效的規則運算式！</value>\r\n    <comment>FindAndReplace: Notification message when regular expression text is invalid.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\" xml:space=\"preserve\">\r\n    <value>自動猜測編碼</value>\r\n    <comment>TextEditor: EncodingIndicator \"Auto Guess Encoding\" FlyoutItem display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\" xml:space=\"preserve\">\r\n    <value>無法判斷當前檔案編碼</value>\r\n    <comment>TextEditor: Notification message when file's encoding cannot be determined.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_SearchBackwardButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>尋找上一個 (Shift+F3)</value>\r\n    <comment>FindAndReplace: \"Find Previous\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"FindAndReplace_ToggleReplaceModeButton.ToolTipService.ToolTip\" xml:space=\"preserve\">\r\n    <value>切換取代模式</value>\r\n    <comment>FindAndReplace: \"Toggle Replace Mode\" button tool tip display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_ContextFlyout_RightToLeftReadingOrderButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>從右到左的讀取順序</value>\r\n    <comment>TextEditor: ContextFlyout \"Right-to-Left Reading order\" toggle button display text.</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Italic\" xml:space=\"preserve\">\r\n    <value>斜體</value>\r\n    <comment>FontStyle: \"Italic\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Normal\" xml:space=\"preserve\">\r\n    <value>正常</value>\r\n    <comment>FontStyle: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontStyle_Oblique\" xml:space=\"preserve\">\r\n    <value>偽斜體</value>\r\n    <comment>FontStyle: \"Oblique\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Black\" xml:space=\"preserve\">\r\n    <value>黑體</value>\r\n    <comment>FontWeight: \"Black\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Bold\" xml:space=\"preserve\">\r\n    <value>粗體</value>\r\n    <comment>FontWeight: \"Bold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBlack\" xml:space=\"preserve\">\r\n    <value>特黑</value>\r\n    <comment>FontWeight: \"ExtraBlack\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraBold\" xml:space=\"preserve\">\r\n    <value>特粗</value>\r\n    <comment>FontWeight: \"ExtraBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_ExtraLight\" xml:space=\"preserve\">\r\n    <value>特淡</value>\r\n    <comment>FontWeight: \"ExtraLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Light\" xml:space=\"preserve\">\r\n    <value>淡</value>\r\n    <comment>FontWeight: \"Light\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Medium\" xml:space=\"preserve\">\r\n    <value>中</value>\r\n    <comment>FontWeight: \"Medium\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Normal\" xml:space=\"preserve\">\r\n    <value>正常</value>\r\n    <comment>FontWeight: \"Normal\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiBold\" xml:space=\"preserve\">\r\n    <value>半粗</value>\r\n    <comment>FontWeight: \"SemiBold\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_SemiLight\" xml:space=\"preserve\">\r\n    <value>半淡</value>\r\n    <comment>FontWeight: \"SemiLight\"</comment>\r\n  </data>\r\n  <data name=\"FontWeight_Thin\" xml:space=\"preserve\">\r\n    <value>細體</value>\r\n    <comment>FontWeight: \"Thin\"</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>取消</value>\r\n    <comment>FileRenameDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>確定</value>\r\n    <comment>FileRenameDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"FileRenameDialog_Title\" xml:space=\"preserve\">\r\n    <value>重新命名</value>\r\n    <comment>FileRenameDialog: \"Title\" display text.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsInvalidCharacters\" xml:space=\"preserve\">\r\n    <value>檔案名稱不應存在非法字元</value>\r\n    <comment>InvalidFilenameError: Filename contains invalid characters.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsLeadingSpaces\" xml:space=\"preserve\">\r\n    <value>檔案名稱開頭不應含有空白字元</value>\r\n    <comment>InvalidFilenameError: Filename contains leading spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_ContainsTrailingSpaces\" xml:space=\"preserve\">\r\n    <value>檔案名稱尾端不應含有空白字元</value>\r\n    <comment>InvalidFilenameError: Filename contains trailing spaces.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_EmptyOrAllWhitespace\" xml:space=\"preserve\">\r\n    <value>檔案名稱不可僅有空白字元或為空</value>\r\n    <comment>InvalidFilenameError: Filename is empty or contains all whitespace.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_InvalidOrNotAllowed\" xml:space=\"preserve\">\r\n    <value>檔案名稱無效或不允許</value>\r\n    <comment>InvalidFilenameError: Filename is invalid or not allowed.</comment>\r\n  </data>\r\n  <data name=\"InvalidFilenameError_TooLong\" xml:space=\"preserve\">\r\n    <value>檔案名稱不可超過 255 個字元</value>\r\n    <comment>InvalidFilenameError: Filename is longer than 255 characters.</comment>\r\n  </data>\r\n  <data name=\"Tab_ContextFlyout_RenameButtonDisplayText\" xml:space=\"preserve\">\r\n    <value>重新命名</value>\r\n    <comment>TextEditor: ContextFlyout \"Rename\" button display text.</comment>\r\n  </data>\r\n  <data name=\"TextEditor_NotificationMsg_FileRenamed\" xml:space=\"preserve\">\r\n    <value>已重新命名</value>\r\n    <comment>TextEditor: Notification message when file has been renamed successfully.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_EmptyFileExtension\" xml:space=\"preserve\">\r\n    <value>目前尚未支援空白副檔名</value>\r\n    <comment>FileRenameError: Empty file extension is not currently supported.</comment>\r\n  </data>\r\n  <data name=\"FileRenameError_UnsupportedFileExtension\" xml:space=\"preserve\">\r\n    <value>目前尚未支援「{0}」副檔名</value>\r\n    <comment>FileRenameError: Extension is not currently supported. {0} stands for the file extension string.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_CloseButtonText\" xml:space=\"preserve\">\r\n    <value>關閉</value>\r\n    <comment>SessionCorruptionErrorDialog: CloseButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Content\" xml:space=\"preserve\">\r\n    <value>由於數據損壞，無法從上一個會話中恢復數據。請在會話文件夾中備份所有未保存的文件（*.txt）。</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Content\" display text.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_PrimaryButtonText\" xml:space=\"preserve\">\r\n    <value>打開會話備份文件夾</value>\r\n    <comment>SessionCorruptionErrorDialog: PrimaryButtonText.</comment>\r\n  </data>\r\n  <data name=\"SessionCorruptionErrorDialog_Title\" xml:space=\"preserve\">\r\n    <value>警告</value>\r\n    <comment>SessionCorruptionErrorDialog: \"Title\" display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Strings/zh-TW/Settings.resw",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schema \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allow a simple XML format \r\n    that is mostly human readable. The generation and parsing of the \r\n    various data types are done through the TypeConverter classes \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.net/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n    There are any number of \"resheader\" rows that contain simple \r\n    name/value pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contains a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    text/value conversion through the TypeConverter architecture. \r\n    Classes that don't support this are serialized and stored with the \r\n    mimetype set.\r\n    \r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResourceReader how to depersist the object. This is currently not \r\n    extensible. For a given mimetype the value must be set accordingly:\r\n    \r\n    Note - application/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResourceWriter will generate, however the reader can \r\n    read any of the formats listed below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encoded with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object.soap.base64\r\n    value   : The object must be serialized with \r\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and then encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.object.bytearray.base64\r\n    value   : The object must be serialized into a byte array \r\n            : using a System.ComponentModel.TypeConverter\r\n            : and then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:complexType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:complexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice>\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader name=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <resheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader name=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n  </resheader>\r\n  <data name=\"AboutPage_DependenciesAndReferences_Title.Text\" xml:space=\"preserve\">\r\n    <value>依賴元件及參考資料</value>\r\n    <comment>AboutPage DependenciesAndReferences Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Content.Text\" xml:space=\"preserve\">\r\n    <value>THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</value>\r\n    <comment>AboutPage Disclaimer Content display text. (The MIT License Disclaimer)</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Disclaimer_Title.Text\" xml:space=\"preserve\">\r\n    <value>免責聲明</value>\r\n    <comment>AboutPage Disclaimer Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_NotepadsShortDescription.Text\" xml:space=\"preserve\">\r\n    <value>一款由 Jackie (Jiaqi) Liu 所設計的免費開源文字編輯器</value>\r\n    <comment>AboutPage NotepadsShortDescription display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_AuthorContactsTitle.Text\" xml:space=\"preserve\">\r\n    <value>作者聯繫方式：</value>\r\n    <comment>AboutPage Notepads AuthorContacts Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_IssueAndFeatureRequestsTitle.Text\" xml:space=\"preserve\">\r\n    <value>如果您遇到問題或者有任何建議，請造訪：</value>\r\n    <comment>AboutPage Notepads IssueAndFeatureRequests Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_SourceCodeTitle.Text\" xml:space=\"preserve\">\r\n    <value>原始程式碼已在 Github 上開放：</value>\r\n    <comment>AboutPage Notepads SourceCode Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Notepads_WebsiteTitle.Text\" xml:space=\"preserve\">\r\n    <value>若要取得更多資訊，請造訪我們的官方網站：</value>\r\n    <comment>AboutPage Notepads Website Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_PrivacyStatementTitle.Text\" xml:space=\"preserve\">\r\n    <value>隱私權聲明</value>\r\n    <comment>AboutPage PrivacyStatementTitle display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>關於</value>\r\n    <comment>AboutPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>顯示狀態列</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>顯示狀態列</value>\r\n    <comment>AdvancedPage StatusBarSettings ShowHideStatusBarToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_StatusBarSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>狀態列設定</value>\r\n    <comment>AdvancedPage StatusBarSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>進階設定</value>\r\n    <comment>AdvancedPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>輔色</value>\r\n    <comment>PersonalizationPage AccentColorSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>使用我當前 Windows 所使用的輔色</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>使用我當前 Windows 所使用的輔色</value>\r\n    <comment>PersonalizationPage AccentColorSettings UseWindowsAccentColorToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>壓克力背景色調透明度。請留意壓克力效果會在省電模式啟用或者 Windows 設定中透明效果關閉的情況下停用。</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_BackgroundTintOpacitySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>背景色調透明度</value>\r\n    <comment>PersonalizationPage BackgroundTintOpacitySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_DarkModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>深色</value>\r\n    <comment>PersonalizationPage ThemeModeSettings DarkModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_LightModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>淺色</value>\r\n    <comment>PersonalizationPage ThemeModeSettings LightModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>主題模式</value>\r\n    <comment>PersonalizationPage ThemeModeSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>使用 Windows 設定</value>\r\n    <comment>PersonalizationPage ThemeModeSettings WindowsModeRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"PersonalizationPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>個人化</value>\r\n    <comment>PersonalizationPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AnsiRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>ANSI (Windows 編碼頁)</value>\r\n    <comment>TextAndEditorPage DecodingSettings AnsiRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>當無法識別檔案的編碼時，此編碼將會被作為預設編碼使用。</value>\r\n    <comment>TextAndEditorPage DecodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>預設讀取編碼</value>\r\n    <comment>TextAndEditorPage DecodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_Utf8RadioButton.Content\" xml:space=\"preserve\">\r\n    <value>UTF-8</value>\r\n    <comment>TextAndEditorPage DecodingSettings Utf8RadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>僅會套用至新的文件。</value>\r\n    <comment>TextAndEditorPage EncodingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_EncodingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>預設寫入編碼</value>\r\n    <comment>TextAndEditorPage EncodingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>預設字型和大小</value>\r\n    <comment>TextAndEditorPage FontSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>僅會套用至新的文件。</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineEndingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>預設行尾</value>\r\n    <comment>TextAndEditorPage LineEndingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_DefaultRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>預設 (\\t)</value>\r\n    <comment>TextAndEditorPage TabKeySettings DefaultRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>Tab 按鍵行為僅會在每當使用者插入新製表符（Tab）時啟用。</value>\r\n    <comment>TextAndEditorPage TabKeySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_EightSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>8 個空格</value>\r\n    <comment>TextAndEditorPage TabKeySettings EightSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_FourSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>4 個空格</value>\r\n    <comment>TextAndEditorPage TabKeySettings FourSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>Tab 按鍵行為</value>\r\n    <comment>TextAndEditorPage TabKeySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>2 個空格</value>\r\n    <comment>TextAndEditorPage TabKeySettings TwoSpacesRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>文字換行</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>自動換行</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_TextWrappingSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>自動換行</value>\r\n    <comment>TextAndEditorPage TextWrappingSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_Title.Content\" xml:space=\"preserve\">\r\n    <value>文字與編輯器</value>\r\n    <comment>TextAndEditorPage Title display text.</comment>\r\n  </data>\r\n  <data name=\"AboutPage_ChangelogUrl_Title.Text\" xml:space=\"preserve\">\r\n    <value>變更紀錄</value>\r\n    <comment>AboutPage Changelog Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>一旦啟用後，Notepads 將會定時備份儲存當前的工作階段供下次啟動時使用，避免意外損失尚未儲存的資料。每當關閉應用程式時，Notepads 將不會提醒您儲存文件。此外請注意工作階段快照僅會在 Notepads 第一個視窗或者主視窗中啟用。</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>啟用工作階段快照</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>啟用工作階段快照</value>\r\n    <comment>AdvancedPage SessionSnapshotSettings OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SessionSnapshotSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>工作階段快照設定</value>\r\n    <comment>AdvancedPageSessionSnapshotSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>強調顯示拼寫錯誤的字詞</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>強調顯示拼寫錯誤的字詞</value>\r\n    <comment>TextAndEditorPage SpellingSettings HighlightMisspelledWordsToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SpellingSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>拼寫檢查</value>\r\n    <comment>TextAndEditorPage SpellingSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_AlwaysOpenNewWindow_Description.Text\" xml:space=\"preserve\">\r\n    <value>一旦啟用後，Notepads 將會在新的視窗中開啟檔案而不是建立新的索引標籤。</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>總是在新視窗中開啟檔案</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>總是在新視窗中開啟檔案</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings AlwaysOpenNewWindow OnOffToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>啟動偏好</value>\r\n    <comment>AdvancedPage LaunchPreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>強調顯示當前行</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineHighlighterSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>強調顯示當前行</value>\r\n    <comment>TextAndEditorPage LineHighlighterSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton.Text\" xml:space=\"preserve\">\r\n    <value>自訂搜尋引擎</value>\r\n    <comment>TextAndEditorPage CustomSearchUrlRadioButton display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport.Text\" xml:space=\"preserve\">\r\n    <value>*URL 格式：https://www.example.com/search?q={0}</value>\r\n    <comment>TextAndEditorPage CustomSearchUrl Textbox display text when entered text is not a valid format.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>當執行網路搜尋時，將會採用此搜尋引擎進行搜尋。</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_SearchEngineSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>預設搜尋引擎</value>\r\n    <comment>TextAndEditorPage SearchEngineSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DecodingSettings_AutoGuessRadioButton.Content\" xml:space=\"preserve\">\r\n    <value>自動猜測編碼（建議）</value>\r\n    <comment>TextAndEditorPage DecodingSettings AutoGuessDecodingRadioButton content display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_DisplaySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>顯示</value>\r\n    <comment>TextAndEditorPage DisplaySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>在文件當中顯示行數。</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>顯示行數</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_LineNumbersSettings_ToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>顯示行數</value>\r\n    <comment>TextAndEditorPage LineNumbersSettings ToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontStyleSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>預設字型樣式</value>\r\n    <comment>TextAndEditorPage FontStyleSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"TextAndEditorPage_FontWeightSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>預設字型粗細</value>\r\n    <comment>TextAndEditorPage FontWeightSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>選擇 Notepads 要顯示的語言，預設使用的是系統語言。需要重新啟動來套用變更。</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_RestartPrompt.Text\" xml:space=\"preserve\">\r\n    <value>*請重啟 Notepads 來套用變更</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings RestartPrompt display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>語言偏好</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Description.Text\" xml:space=\"preserve\">\r\n    <value>一旦啟用後，Notepads 會在複製已選取文字到剪貼簿之前智慧地修剪開頭和尾端的空格、Tab 字元以及空白行。</value>\r\n    <comment>AdvancedPage SmartCopySettings Description display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>啟用智慧複製</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>啟用智慧複製</value>\r\n    <comment>AdvancedPage SmartCopySettings EnableSmartCopyToggleSwitch On display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_SmartCopySettings_Title.Text\" xml:space=\"preserve\">\r\n    <value>智慧複製設定</value>\r\n    <comment>AdvancedPage SmartCopySettings Title display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\" xml:space=\"preserve\">\r\n    <value>System Default</value>\r\n    <comment>AdvancedPage LanguagePreferenceSettings System Default option text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OffContent\" xml:space=\"preserve\">\r\n    <value>關閉最後一個標簽時退出應用程式</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch Off display text.</comment>\r\n  </data>\r\n  <data name=\"AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch.OnContent\" xml:space=\"preserve\">\r\n    <value>關閉最後一個標簽時退出應用程式</value>\r\n    <comment>AdvancedPage AppLifecyclePreferenceSettings ExitingLastTabClosesWindowToggleSwitch On display text.</comment>\r\n  </data>\r\n</root>"
  },
  {
    "path": "src/Notepads/Utilities/BrushUtility.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Utilities\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Threading;\r\n    using System.Threading.Tasks;\r\n    using Windows.UI;\r\n    using Windows.UI.Xaml.Media;\r\n    using Notepads.Brushes;\r\n    using Notepads.Extensions;\r\n    using Notepads.Services;\r\n\r\n    public static class BrushUtility\r\n    {\r\n        private static readonly SemaphoreSlim SemaphoreSlim = new SemaphoreSlim(1);\r\n\r\n        public static async Task<Brush> GetHostBackdropAcrylicBrushAsync(Color color, float tintOpacity)\r\n        {\r\n            await SemaphoreSlim.WaitAsync();\r\n            try\r\n            {\r\n                return new HostBackdropAcrylicBrush()\r\n                {\r\n                    FallbackColor = color,\r\n                    LuminosityColor = color,\r\n                    TintOpacity = tintOpacity,\r\n                    NoiseTextureUri = \"/Assets/noise_high.png\".ToAppxUri(),\r\n                };\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                AnalyticsService.TrackEvent(\"FailedToCreateAcrylicBrush\", new Dictionary<string, string>\r\n                {\r\n                    { \"Exception\", ex.ToString() },\r\n                    { \"Message\", ex.Message },\r\n                });\r\n                return new SolidColorBrush(color);\r\n            }\r\n            finally\r\n            {\r\n                SemaphoreSlim.Release();\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Utilities/DialogManager.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Utilities\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Threading.Tasks;\r\n    using Notepads.Controls.Dialog;\r\n    using Notepads.Services;\r\n    using Windows.UI.Xaml.Controls;\r\n\r\n    public static class DialogManager\r\n    {\r\n        public static NotepadsDialog ActiveDialog;\r\n\r\n        private static TaskCompletionSource<bool> _dialogAwaiter = new TaskCompletionSource<bool>();\r\n\r\n        public static async Task<ContentDialogResult?> OpenDialogAsync(NotepadsDialog dialog, bool awaitPreviousDialog)\r\n        {\r\n            try\r\n            {\r\n                return await OpenDialogInternalAsync(dialog, awaitPreviousDialog);\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                var activeDialogTitle = string.Empty;\r\n                var pendingDialogTitle = string.Empty;\r\n                if (ActiveDialog?.Title is string activeTitle)\r\n                {\r\n                    activeDialogTitle = activeTitle;\r\n                }\r\n                if (dialog?.Title is string pendingTitle)\r\n                {\r\n                    pendingDialogTitle = pendingTitle;\r\n                }\r\n                AnalyticsService.TrackEvent(\"FailedToOpenDialog\", new Dictionary<string, string>()\r\n                {\r\n                    { \"Message\", ex.Message },\r\n                    { \"Exception\", ex.ToString() },\r\n                    { \"ActiveDialogTitle\", activeDialogTitle },\r\n                    { \"PendingDialogTitle\", pendingDialogTitle }\r\n                });\r\n            }\r\n\r\n            return null;\r\n        }\r\n\r\n        private static async Task<ContentDialogResult> OpenDialogInternalAsync(NotepadsDialog dialog, bool awaitPreviousDialog)\r\n        {\r\n            TaskCompletionSource<bool> currentAwaiter = _dialogAwaiter;\r\n            TaskCompletionSource<bool> nextAwaiter = new TaskCompletionSource<bool>();\r\n            _dialogAwaiter = nextAwaiter;\r\n\r\n            if (ActiveDialog != null)\r\n            {\r\n                if (awaitPreviousDialog)\r\n                {\r\n                    await currentAwaiter.Task;\r\n                }\r\n                else\r\n                {\r\n                    ActiveDialog.IsAborted = true;\r\n                    ActiveDialog.Hide();\r\n                }\r\n            }\r\n\r\n            ActiveDialog = dialog;\r\n\r\n            try\r\n            {\r\n                return await ActiveDialog.ShowAsync();\r\n            }\r\n            finally\r\n            {\r\n                nextAwaiter.SetResult(true);\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Utilities/Downloader.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Utilities\r\n{\r\n    using System.IO;\r\n    using System.Net;\r\n    using System.Threading.Tasks;\r\n\r\n    public static class Downloader\r\n    {\r\n        public static async Task<MemoryStream> GetDataFeedAsync(string feedUrl)\r\n        {\r\n            using (var ms = new MemoryStream())\r\n            {\r\n                var request = (HttpWebRequest)WebRequest.Create(feedUrl);\r\n                request.Method = \"GET\";\r\n                using (var response = (HttpWebResponse)await request.GetResponseAsync())\r\n                {\r\n                    response.GetResponseStream()?.CopyTo(ms);\r\n                    return ms;\r\n                }\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Utilities/EncodingUtility.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Utilities\r\n{\r\n    using System;\r\n    using System.Linq;\r\n    using System.Collections.Generic;\r\n    using System.Text;\r\n    using System.Threading;\r\n    using Notepads.Services;\r\n\r\n    public static class EncodingUtility\r\n    {\r\n        private static Encoding[] _allSupportedANSIEncodings;\r\n\r\n        private static Encoding _systemDefaultANSIEncoding;\r\n\r\n        private static Encoding _currentCultureANSIEncoding;\r\n\r\n        // https://docs.microsoft.com/en-us/windows/win32/intl/code-page-identifiers\r\n        // Name is using format of \"<CountryOrRegion> (<.NET Name>)\"\r\n        private static readonly Dictionary<int, string> ANSIEncodings = new Dictionary<int, string>()\r\n        {\r\n            { 1252,    \"Western (windows-1252)\" },\r\n            { 28591,   \"Western (iso-8859-1)\" },\r\n            { 28593,   \"Western (iso-8859-3)\" },\r\n            { 28605,   \"Western (iso-8859-15)\" },\r\n            { 10000,   \"Western (macintosh)\" },\r\n            { 437,     \"DOS (IBM437)\" },\r\n            { 1256,    \"Arabic (windows-1256)\" },\r\n            { 28596,   \"Arabic (iso-8859-6)\" },\r\n            { 1257,    \"Baltic (windows-1257)\" },\r\n            { 28594,   \"Baltic (iso-8859-4)\" },\r\n            { 1250,    \"Central European (windows-1250)\" },\r\n            { 10029,   \"Central European (x-mac-ce)\" },\r\n            { 28592,   \"Central European (iso-8859-2)\" },\r\n            { 852,     \"Central European (ibm852)\" },\r\n            { 1251,    \"Cyrillic (windows-1251)\" },\r\n            { 10007,   \"Cyrillic (x-mac-cyrillic)\" },\r\n            { 866,     \"Cyrillic (cp866)\" },\r\n            { 855,     \"Cyrillic (IBM855)\" },\r\n            { 28595,   \"Cyrillic (iso-8859-5)\" },\r\n            { 20866,   \"Cyrillic (koi8-r)\" },\r\n            { 21866,   \"Cyrillic (koi8-u)\" },\r\n            { 28603,   \"Estonian (iso-8859-13)\" },\r\n            { 1253,    \"Greek (windows-1253)\" },\r\n            { 28597,   \"Greek (iso-8859-7)\" },\r\n            { 1255,    \"Hebrew (windows-1255)\" },\r\n            { 28598,   \"Hebrew (iso-8859-8)\" },\r\n            { 932,     \"Japanese (shift_jis)\" },\r\n            { 51932,   \"Japanese (euc-jp)\" },\r\n            { 50220,   \"Japanese (iso-2022-jp)\" },\r\n            { 51949,   \"Korean (euc-kr)\" },\r\n            { 949,     \"Korean (ks_c_5601-1987)\" },\r\n            { 50225,   \"Korean (iso-2022-kr)\" },\r\n            { 865,     \"Nordic DOS (IBM865)\" },\r\n            { 936,     \"Simplified Chinese (gb2312)\" },\r\n            { 54936,   \"Simplified Chinese (GB18030)\" },\r\n            { 874,     \"Thai (windows-874)\" },\r\n            { 1254,    \"Turkish (windows-1254)\" },\r\n            { 28599,   \"Turkish (iso-8859-9)\" },\r\n            { 950,     \"Traditional Chinese (big5)\" },\r\n            { 1258,    \"Vietnamese (windows-1258)\" },\r\n            { 850,     \"Western European DOS (ibm850)\" }\r\n        };\r\n\r\n        public static string GetEncodingName(Encoding encoding)\r\n        {\r\n            string encodingName;\r\n\r\n            switch (encoding)\r\n            {\r\n                case UTF7Encoding _:\r\n                    encodingName = \"UTF-7\";\r\n                    break;\r\n                case UTF8Encoding _ when Equals(encoding, new UTF8Encoding(encoderShouldEmitUTF8Identifier: true)):\r\n                    encodingName = \"UTF-8-BOM\";\r\n                    break;\r\n                case UTF8Encoding _ when Equals(encoding, new UTF8Encoding(encoderShouldEmitUTF8Identifier: false)):\r\n                    encodingName = \"UTF-8\";\r\n                    break;\r\n                case UnicodeEncoding _ when Equals(encoding, new UnicodeEncoding(bigEndian: true, byteOrderMark: true)):\r\n                    encodingName = \"UTF-16 BE BOM\";\r\n                    break;\r\n                case UnicodeEncoding _ when Equals(encoding, new UnicodeEncoding(bigEndian: false, byteOrderMark: true)):\r\n                    encodingName = \"UTF-16 LE BOM\";\r\n                    break;\r\n                case UnicodeEncoding _ when Equals(encoding, new UnicodeEncoding(bigEndian: true, byteOrderMark: false)):\r\n                    encodingName = \"UTF-16 BE\";\r\n                    break;\r\n                case UnicodeEncoding _ when Equals(encoding, new UnicodeEncoding(bigEndian: false, byteOrderMark: false)):\r\n                    encodingName = \"UTF-16 LE\";\r\n                    break;\r\n                case UTF32Encoding _ when Equals(encoding, new UTF32Encoding(bigEndian: true, byteOrderMark: true)):\r\n                    encodingName = \"UTF-32 BE BOM\";\r\n                    break;\r\n                case UTF32Encoding _ when Equals(encoding, new UTF32Encoding(bigEndian: false, byteOrderMark: true)):\r\n                    encodingName = \"UTF-32 LE BOM\";\r\n                    break;\r\n                case UTF32Encoding _ when Equals(encoding, new UTF32Encoding(bigEndian: true, byteOrderMark: false)):\r\n                    encodingName = \"UTF-32 BE\";\r\n                    break;\r\n                case UTF32Encoding _ when Equals(encoding, new UTF32Encoding(bigEndian: false, byteOrderMark: false)):\r\n                    encodingName = \"UTF-32 LE\";\r\n                    break;\r\n                default:\r\n                    encodingName = GetEncodingNameFallback(encoding);\r\n                    break;\r\n            }\r\n\r\n            return encodingName;\r\n        }\r\n\r\n        private static string GetEncodingNameFallback(Encoding encoding)\r\n        {\r\n            string encodingName = \"Unknown\";\r\n\r\n            if (ANSIEncodings.ContainsKey(encoding.CodePage))\r\n            {\r\n                encodingName = ANSIEncodings[encoding.CodePage];\r\n            }\r\n            else\r\n            {\r\n                try\r\n                {\r\n                    encodingName = encoding.WebName; // WebName is supported by Encoding.GetEncoding(WebName)\r\n                    AnalyticsService.TrackEvent(\"EncodingUtility_FoundUnlistedEncoding\", new Dictionary<string, string>()\r\n                    {\r\n                        {\"CodePage\", encoding.CodePage.ToString()},\r\n                        {\"WebName\", encoding.WebName}\r\n                    });\r\n                }\r\n                catch (Exception ex)\r\n                {\r\n                    AnalyticsService.TrackEvent(\"EncodingUtility_FailedToGetNameOfUnlistedEncoding\", new Dictionary<string, string>()\r\n                    {\r\n                        {\"Exception\", ex.ToString()},\r\n                        {\"Message\", ex.Message}\r\n                    });\r\n                }\r\n            }\r\n\r\n            return encodingName;\r\n        }\r\n\r\n        public static bool Equals(Encoding p, Encoding q)\r\n        {\r\n            if (p.CodePage == q.CodePage)\r\n            {\r\n                if (q is UTF7Encoding ||\r\n                    q is UTF8Encoding ||\r\n                    q is UnicodeEncoding ||\r\n                    q is UTF32Encoding)\r\n                {\r\n                    return Encoding.Equals(p, q); // To make sure we compare bigEndian and byteOrderMark flags\r\n                }\r\n                else\r\n                {\r\n                    return true;\r\n                }\r\n            }\r\n\r\n            return false;\r\n        }\r\n\r\n        public static Encoding GetEncodingByName(string name)\r\n        {\r\n            switch (name)\r\n            {\r\n                case \"ANSI\":\r\n                    if (TryGetSystemDefaultANSIEncoding(out var systemDefaultANSIEncoding)) return systemDefaultANSIEncoding;\r\n                    else return TryGetCurrentCultureANSIEncoding(out var currentCultureANSIEncoding) ? currentCultureANSIEncoding : new UTF8Encoding(false);\r\n                case \"UTF-7\":\r\n                    return new UTF7Encoding();\r\n                case \"UTF-8\":\r\n                    return new UTF8Encoding(false);\r\n                case \"UTF-8-BOM\":\r\n                    return new UTF8Encoding(true);\r\n                case \"UTF-16 BE BOM\":\r\n                    return new UnicodeEncoding(true, true);\r\n                case \"UTF-16 LE BOM\":\r\n                    return new UnicodeEncoding(false, true);\r\n                case \"UTF-16 BE\":\r\n                    return new UnicodeEncoding(true, false);\r\n                case \"UTF-16 LE\":\r\n                    return new UnicodeEncoding(false, false);\r\n                case \"UTF-32 BE BOM\":\r\n                    return new UTF32Encoding(true, true);\r\n                case \"UTF-32 LE BOM\":\r\n                    return new UTF32Encoding(false, true);\r\n                case \"UTF-32 BE\":\r\n                    return new UTF32Encoding(true, false);\r\n                case \"UTF-32 LE\":\r\n                    return new UTF32Encoding(false, false);\r\n                default:\r\n                    return GetEncodingByNameFallback(name);\r\n            }\r\n        }\r\n\r\n        private static Encoding GetEncodingByNameFallback(string name)\r\n        {\r\n            foreach (var (codePage, encodingName) in ANSIEncodings)\r\n            {\r\n                if (string.Equals(encodingName, name, StringComparison.InvariantCultureIgnoreCase))\r\n                {\r\n                    return Encoding.GetEncoding(codePage);\r\n                }\r\n            }\r\n\r\n            try\r\n            {\r\n                Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);\r\n                return Encoding.GetEncoding(name);\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                AnalyticsService.TrackEvent(\"EncodingUtility_FailedToGetEncoding\", new Dictionary<string, string>()\r\n                {\r\n                    {\"EncodingName\", name},\r\n                    {\"Exception\", ex.ToString()}\r\n                });\r\n            }\r\n\r\n            return new UTF8Encoding(false);\r\n        }\r\n\r\n        public static bool TryGetSystemDefaultANSIEncoding(out Encoding encoding)\r\n        {\r\n            try\r\n            {\r\n                if (_systemDefaultANSIEncoding != null)\r\n                {\r\n                    encoding = _systemDefaultANSIEncoding;\r\n                    return true;\r\n                }\r\n                Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);\r\n                encoding = Encoding.GetEncoding(0);\r\n                _systemDefaultANSIEncoding = encoding;\r\n                return true;\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                AnalyticsService.TrackEvent(\"EncodingUtility_FailedToGetSystemDefaultANSIEncoding\", new Dictionary<string, string>()\r\n                {\r\n                    { \"Message\", ex.Message },\r\n                    { \"Exception\", ex.ToString() },\r\n                });\r\n            }\r\n\r\n            encoding = null;\r\n            return false;\r\n        }\r\n\r\n        public static bool TryGetCurrentCultureANSIEncoding(out Encoding encoding)\r\n        {\r\n            try\r\n            {\r\n                if (_currentCultureANSIEncoding != null)\r\n                {\r\n                    encoding = _currentCultureANSIEncoding;\r\n                    return true;\r\n                }\r\n                Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);\r\n                encoding = Encoding.GetEncoding(Thread.CurrentThread.CurrentCulture.TextInfo.ANSICodePage);\r\n                _currentCultureANSIEncoding = encoding;\r\n                return true;\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                AnalyticsService.TrackEvent(\"EncodingUtility_FailedToGetCurrentCultureANSIEncoding\", new Dictionary<string, string>()\r\n                {\r\n                    { \"Message\", ex.Message },\r\n                    { \"Exception\", ex.ToString() },\r\n                });\r\n            }\r\n\r\n            encoding = null;\r\n            return false;\r\n        }\r\n\r\n        public static Encoding[] GetAllSupportedANSIEncodings()\r\n        {\r\n            if (_allSupportedANSIEncodings != null)\r\n            {\r\n                return _allSupportedANSIEncodings;\r\n            }\r\n\r\n            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);\r\n\r\n            var encodings = new HashSet<Encoding>();\r\n\r\n            foreach (var (codePage, encodingName) in ANSIEncodings)\r\n            {\r\n                try\r\n                {\r\n                    encodings.Add(Encoding.GetEncoding(codePage));\r\n                }\r\n                catch (Exception ex)\r\n                {\r\n                    AnalyticsService.TrackEvent(\"EncodingUtility_FailedToGetANSIEncoding\", new Dictionary<string, string>()\r\n                    {\r\n                        { \"Message\", ex.Message },\r\n                        { \"Exception\", ex.ToString() },\r\n                        { \"CodePage\", codePage.ToString() },\r\n                        { \"EncodingName\", encodingName }\r\n                    });\r\n                }\r\n            }\r\n\r\n            _allSupportedANSIEncodings = encodings.ToArray();\r\n            return _allSupportedANSIEncodings;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Utilities/FileSystemUtility.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Utilities\r\n{\r\n    using Notepads.Models;\r\n    using Notepads.Services;\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.IO;\r\n    using System.Linq;\r\n    using System.Text;\r\n    using System.Text.RegularExpressions;\r\n    using System.Threading.Tasks;\r\n    using UtfUnknown;\r\n    using Windows.ApplicationModel.Resources;\r\n    using Windows.Storage;\r\n    using Windows.Storage.FileProperties;\r\n    using Windows.Storage.Provider;\r\n\r\n    public enum InvalidFilenameError\r\n    {\r\n        None = 0,\r\n        EmptyOrAllWhitespace,\r\n        ContainsLeadingSpaces,\r\n        ContainsTrailingSpaces,\r\n        ContainsInvalidCharacters,\r\n        InvalidOrNotAllowed,\r\n        TooLong,\r\n    }\r\n\r\n    public static class FileSystemUtility\r\n    {\r\n        // Retriable FileIO errors\r\n        private const Int32 ERROR_ACCESS_DENIED = unchecked((Int32)0x80070005);\r\n        private const Int32 ERROR_SHARING_VIOLATION = unchecked((Int32)0x80070020);\r\n        private const Int32 ERROR_UNABLE_TO_REMOVE_REPLACED = unchecked((Int32)0x80070497);\r\n        private const Int32 ERROR_FAIL = unchecked((Int32)0x80004005);\r\n\r\n        private static readonly ResourceLoader ResourceLoader = ResourceLoader.GetForCurrentView();\r\n\r\n        private const string WslRootPath = \"\\\\\\\\wsl$\\\\\";\r\n\r\n        // https://stackoverflow.com/questions/62771/how-do-i-check-if-a-given-string-is-a-legal-valid-file-name-under-windows\r\n        private static readonly Regex ValidWindowsFileNames = new Regex(@\"^(?!(?:PRN|AUX|CLOCK\\$|NUL|CON|COM\\d|LPT\\d)(?:\\..+)?$)[^\\x00-\\x1F\\xA5\\\\?*:\\\"\";|\\/<>]+(?<![\\s.])$\", RegexOptions.IgnoreCase);\r\n\r\n        public static bool IsFilenameValid(string filename, out InvalidFilenameError error)\r\n        {\r\n            if (filename.Length > 255)\r\n            {\r\n                error = InvalidFilenameError.TooLong;\r\n                return false;\r\n            }\r\n\r\n            if (string.IsNullOrWhiteSpace(filename))\r\n            {\r\n                error = InvalidFilenameError.EmptyOrAllWhitespace;\r\n                return false;\r\n            }\r\n\r\n            // Although shell supports file with leading spaces, explorer and file picker does not\r\n            // So we treat it as invalid file name as well\r\n            if (filename.StartsWith(\" \"))\r\n            {\r\n                error = InvalidFilenameError.ContainsLeadingSpaces;\r\n                return false;\r\n            }\r\n\r\n            if (filename.EndsWith(\" \"))\r\n            {\r\n                error = InvalidFilenameError.ContainsTrailingSpaces;\r\n                return false;\r\n            }\r\n\r\n            var illegalChars = Path.GetInvalidFileNameChars();\r\n            if (filename.Any(c => illegalChars.Contains(c)))\r\n            {\r\n                error = InvalidFilenameError.ContainsInvalidCharacters;\r\n                return false;\r\n            }\r\n\r\n            if (filename.EndsWith(\".\") || !ValidWindowsFileNames.IsMatch(filename))\r\n            {\r\n                error = InvalidFilenameError.InvalidOrNotAllowed;\r\n                return false;\r\n            }\r\n\r\n            error = InvalidFilenameError.None;\r\n            return true;\r\n        }\r\n\r\n        public static bool IsFullPath(string path)\r\n        {\r\n            return !String.IsNullOrWhiteSpace(path)\r\n                   && path.IndexOfAny(System.IO.Path.GetInvalidPathChars().ToArray()) == -1\r\n                   && Path.IsPathRooted(path)\r\n                   && !Path.GetPathRoot(path).Equals(Path.DirectorySeparatorChar.ToString(), StringComparison.Ordinal);\r\n        }\r\n\r\n        public static String GetAbsolutePath(String basePath, String path)\r\n        {\r\n            String finalPath;\r\n            if (!Path.IsPathRooted(path) || \"\\\\\".Equals(Path.GetPathRoot(path)))\r\n            {\r\n                if (path.StartsWith(Path.DirectorySeparatorChar.ToString()))\r\n                {\r\n                    finalPath = Path.Combine(Path.GetPathRoot(basePath), path.TrimStart(Path.DirectorySeparatorChar));\r\n                }\r\n                else\r\n                {\r\n                    finalPath = Path.Combine(basePath, path);\r\n                }\r\n            }\r\n            else\r\n            {\r\n                finalPath = path;\r\n            }\r\n\r\n            // Resolves any internal \"..\\\" to get the true full path.\r\n            return Path.GetFullPath(finalPath);\r\n        }\r\n\r\n        public static async Task<StorageFile> OpenFileFromCommandLineAsync(string dir, string args)\r\n        {\r\n            string path = null;\r\n\r\n            try\r\n            {\r\n                args = ReplaceEnvironmentVariables(args);\r\n                path = GetAbsolutePathFromCommandLine(dir, args, App.ApplicationName);\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(FileSystemUtility)}] Failed to parse command line: {args} with Exception: {ex}\");\r\n            }\r\n\r\n            if (string.IsNullOrEmpty(path))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            LoggingService.LogInfo($\"[{nameof(FileSystemUtility)}] OpenFileFromCommandLine: {path}\");\r\n\r\n            return await GetFileAsync(path);\r\n        }\r\n\r\n        private static string ReplaceEnvironmentVariables(string args)\r\n        {\r\n            if (args.Contains(\"%homepath%\", StringComparison.OrdinalIgnoreCase))\r\n            {\r\n                args = args.Replace(\"%homepath%\",\r\n                    Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),\r\n                    StringComparison.OrdinalIgnoreCase);\r\n            }\r\n\r\n            if (args.Contains(\"%localappdata%\", StringComparison.OrdinalIgnoreCase))\r\n            {\r\n                args = args.Replace(\"%localappdata%\",\r\n                    UserDataPaths.GetDefault().LocalAppData,\r\n                    StringComparison.OrdinalIgnoreCase);\r\n            }\r\n\r\n            if (args.Contains(\"%temp%\", StringComparison.OrdinalIgnoreCase))\r\n            {\r\n                args = args.Replace(\"%temp%\",\r\n                    (string)Microsoft.Win32.Registry.GetValue(@\"HKEY_CURRENT_USER\\Environment\",\r\n                    \"TEMP\",\r\n                    Environment.GetEnvironmentVariable(\"temp\")),\r\n                    StringComparison.OrdinalIgnoreCase);\r\n            }\r\n\r\n            if (args.Contains(\"%tmp%\", StringComparison.OrdinalIgnoreCase))\r\n            {\r\n                args = args.Replace(\"%tmp%\",\r\n                    (string)Microsoft.Win32.Registry.GetValue(@\"HKEY_CURRENT_USER\\Environment\",\r\n                    \"TEMP\",\r\n                    Environment.GetEnvironmentVariable(\"tmp\")),\r\n                    StringComparison.OrdinalIgnoreCase);\r\n            }\r\n\r\n            return Environment.ExpandEnvironmentVariables(args);\r\n        }\r\n\r\n        private static string GetAbsolutePathFromCommandLine(string dir, string args, string appName)\r\n        {\r\n            if (string.IsNullOrEmpty(args)) return null;\r\n\r\n            args = args.Trim();\r\n\r\n            args = RemoveExecutableNameOrPathFromCommandLineArgs(args, appName);\r\n\r\n            if (string.IsNullOrEmpty(args))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            string path = args;\r\n\r\n            // Get first quoted string if any\r\n            if (path.StartsWith(\"\\\"\") && path.Length > 1)\r\n            {\r\n                var index = path.IndexOf('\\\"', 1);\r\n                if (index == -1) return null;\r\n                path = args.Substring(1, index - 1);\r\n            }\r\n\r\n            if (dir.StartsWith(WslRootPath))\r\n            {\r\n                if (path.StartsWith('/'))\r\n                {\r\n                    var distroRootPath = dir.Substring(0, dir.IndexOf('\\\\', WslRootPath.Length) + 1);\r\n                    var fullPath = distroRootPath + path.Trim('/').Replace('/', Path.DirectorySeparatorChar);\r\n                    if (IsFullPath(fullPath)) return fullPath;\r\n                }\r\n            }\r\n\r\n            // Replace all forward slash with platform supported directory separator\r\n            path = path.Trim('/').Replace('/', Path.DirectorySeparatorChar);\r\n\r\n            if (IsFullPath(path))\r\n            {\r\n                return path;\r\n            }\r\n\r\n            if (path.StartsWith(\".\\\\\"))\r\n            {\r\n                path = dir + Path.DirectorySeparatorChar + path.Substring(2, path.Length - 2);\r\n            }\r\n            else if (path.StartsWith(\"..\\\\\"))\r\n            {\r\n                path = GetAbsolutePath(dir, path);\r\n            }\r\n            else\r\n            {\r\n                path = dir + Path.DirectorySeparatorChar + path;\r\n            }\r\n\r\n            return path;\r\n        }\r\n\r\n        private static string RemoveExecutableNameOrPathFromCommandLineArgs(string args, string appName)\r\n        {\r\n            if (!args.StartsWith('\\\"'))\r\n            {\r\n                // From Windows Command Line\r\n                // notepads <file> ...\r\n                // notepads.exe <file>\r\n\r\n                if (args.StartsWith($\"{appName}-Dev.exe\",\r\n                    StringComparison.OrdinalIgnoreCase))\r\n                {\r\n                    args = args.Substring($\"{appName}-Dev.exe\".Length);\r\n                }\r\n\r\n                if (args.StartsWith($\"{appName}.exe\",\r\n                    StringComparison.OrdinalIgnoreCase))\r\n                {\r\n                    args = args.Substring($\"{appName}.exe\".Length);\r\n                }\r\n\r\n                if (args.StartsWith($\"{appName}-Dev\",\r\n                    StringComparison.OrdinalIgnoreCase))\r\n                {\r\n                    args = args.Substring($\"{appName}-Dev\".Length);\r\n                }\r\n\r\n                if (args.StartsWith(appName,\r\n                    StringComparison.OrdinalIgnoreCase))\r\n                {\r\n                    args = args.Substring(appName.Length);\r\n                }\r\n            }\r\n            else if (args.StartsWith('\\\"') && args.Length > 1)\r\n            {\r\n                // From PowerShell or run\r\n                // \"notepads\" <file>\r\n                // \"notepads.exe\" <file>\r\n                // \"<app-install-path><app-name>.exe\"  <file> ...\r\n                var index = args.IndexOf('\\\"', 1);\r\n                if (index == -1) return null;\r\n                if (args.Length == index + 1) return null;\r\n                args = args.Substring(index + 1);\r\n            }\r\n            else\r\n            {\r\n                return null;\r\n            }\r\n\r\n            args = args.Trim();\r\n            return args;\r\n        }\r\n\r\n        private static async Task<BasicProperties> GetFilePropertiesAsync(StorageFile file)\r\n        {\r\n            return await file.GetBasicPropertiesAsync();\r\n        }\r\n\r\n        public static async Task<long> GetDateModifiedAsync(StorageFile file)\r\n        {\r\n            var properties = await GetFilePropertiesAsync(file);\r\n            var dateModified = properties.DateModified;\r\n            return dateModified.ToFileTime();\r\n        }\r\n\r\n        public static bool IsFileReadOnly(StorageFile file)\r\n        {\r\n            return (file.Attributes & Windows.Storage.FileAttributes.ReadOnly) != 0;\r\n        }\r\n\r\n        private static async Task<bool> IsFileWritableAsync(StorageFile file)\r\n        {\r\n            try\r\n            {\r\n                using (var stream = await file.OpenStreamForWriteAsync()) { }\r\n                return true;\r\n            }\r\n            catch (Exception)\r\n            {\r\n                return false;\r\n            }\r\n        }\r\n\r\n        public static async Task<StorageFile> GetFileAsync(string filePath)\r\n        {\r\n            try\r\n            {\r\n                return await StorageFile.GetFileFromPathAsync(filePath);\r\n            }\r\n            catch\r\n            {\r\n                return null;\r\n            }\r\n        }\r\n\r\n        public static async Task<TextFile> ReadFileAsync(string filePath, bool ignoreFileSizeLimit, Encoding encoding)\r\n        {\r\n            StorageFile file = await GetFileAsync(filePath);\r\n            return file == null ? null : await ReadFileAsync(file, ignoreFileSizeLimit, encoding);\r\n        }\r\n\r\n        public static async Task<TextFile> ReadFileAsync(StorageFile file, bool ignoreFileSizeLimit, Encoding encoding = null)\r\n        {\r\n            var fileProperties = await file.GetBasicPropertiesAsync();\r\n\r\n            if (!ignoreFileSizeLimit && fileProperties.Size > 1000 * 1024)\r\n            {\r\n                throw new Exception(ResourceLoader.GetString(\"ErrorMessage_NotepadsFileSizeLimit\"));\r\n            }\r\n\r\n            Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);\r\n\r\n            string text;\r\n            var bom = new byte[4];\r\n\r\n            using (var inputStream = await file.OpenReadAsync())\r\n            using (var stream = inputStream.AsStreamForRead())\r\n            {\r\n                stream.Read(bom, 0, 4); // Read BOM values\r\n                stream.Position = 0; // Reset stream position\r\n\r\n                var reader = CreateStreamReader(stream, bom, encoding);\r\n\r\n                string PeekAndRead()\r\n                {\r\n                    if (encoding == null)\r\n                    {\r\n                        reader.Peek();\r\n                        encoding = reader.CurrentEncoding;\r\n                    }\r\n                    var str = reader.ReadToEnd();\r\n                    reader.Close();\r\n                    return str;\r\n                }\r\n\r\n                try\r\n                {\r\n                    text = PeekAndRead();\r\n                }\r\n                catch (DecoderFallbackException)\r\n                {\r\n                    stream.Position = 0; // Reset stream position\r\n                    encoding = GetFallBackEncoding();\r\n                    reader = new StreamReader(stream, encoding);\r\n                    text = PeekAndRead();\r\n                }\r\n            }\r\n\r\n            encoding = FixUtf8Bom(encoding, bom);\r\n            return new TextFile(text, encoding, LineEndingUtility.GetLineEndingTypeFromText(text), fileProperties.DateModified.ToFileTime());\r\n        }\r\n\r\n        private static Encoding GetFallBackEncoding()\r\n        {\r\n            if (EncodingUtility.TryGetSystemDefaultANSIEncoding(out var systemDefaultEncoding))\r\n            {\r\n                return systemDefaultEncoding;\r\n            }\r\n            else if (EncodingUtility.TryGetCurrentCultureANSIEncoding(out var currentCultureEncoding))\r\n            {\r\n                return currentCultureEncoding;\r\n            }\r\n            else\r\n            {\r\n                return new UTF8Encoding(false);\r\n            }\r\n        }\r\n\r\n        private static StreamReader CreateStreamReader(Stream stream, byte[] bom, Encoding encoding = null)\r\n        {\r\n            StreamReader reader;\r\n            if (encoding != null)\r\n            {\r\n                reader = new StreamReader(stream, encoding);\r\n            }\r\n            else\r\n            {\r\n                if (HasBom(bom))\r\n                {\r\n                    reader = new StreamReader(stream);\r\n                }\r\n                else // No BOM, need to guess or use default decoding set by user\r\n                {\r\n                    if (AppSettingsService.EditorDefaultDecoding == null)\r\n                    {\r\n                        var success = TryGuessEncoding(stream, out var autoEncoding);\r\n                        stream.Position = 0; // Reset stream position\r\n                        reader = success ?\r\n                            new StreamReader(stream, autoEncoding) :\r\n                            new StreamReader(stream, new UTF8Encoding(encoderShouldEmitUTF8Identifier: false, throwOnInvalidBytes: true));\r\n                    }\r\n                    else\r\n                    {\r\n                        reader = new StreamReader(stream, AppSettingsService.EditorDefaultDecoding);\r\n                    }\r\n                }\r\n            }\r\n            return reader;\r\n        }\r\n\r\n        public static bool TryGuessEncoding(Stream stream, out Encoding encoding)\r\n        {\r\n            encoding = null;\r\n\r\n            try\r\n            {\r\n                var result = CharsetDetector.DetectFromStream(stream);\r\n                if (result.Detected?.Encoding != null) // Detected can be null\r\n                {\r\n                    encoding = AnalyzeAndGuessEncoding(result);\r\n                    return true;\r\n                }\r\n                else if (stream.Length > 0) // We do not care about empty file\r\n                {\r\n                    AnalyticsService.TrackEvent(\"UnableToDetectEncoding\");\r\n                }\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                AnalyticsService.TrackEvent(\"TryGuessEncodingFailedWithException\", new Dictionary<string, string>()\r\n                {\r\n                    { \"Exception\", ex.ToString() },\r\n                    { \"Message\", ex.Message }\r\n                });\r\n            }\r\n\r\n            return false;\r\n        }\r\n\r\n        private static Encoding AnalyzeAndGuessEncoding(DetectionResult result)\r\n        {\r\n            Encoding encoding = result.Detected.Encoding;\r\n            var confidence = result.Detected.Confidence;\r\n            var foundBetterMatch = false;\r\n\r\n            // Let's treat ASCII as UTF-8 for better accuracy\r\n            if (EncodingUtility.Equals(encoding, Encoding.ASCII)) encoding = new UTF8Encoding(encoderShouldEmitUTF8Identifier: false, throwOnInvalidBytes: true);\r\n\r\n            // If confidence is above 80%, we should just use it\r\n            if (confidence > 0.80f && result.Details.Count == 1) return encoding;\r\n\r\n            // Try find a better match based on User's current Windows ANSI code page\r\n            // Priority: UTF-8 > SystemDefaultANSIEncoding (Codepage: 0) > CurrentCultureANSIEncoding\r\n            if (!(encoding is UTF8Encoding))\r\n            {\r\n                foreach (var detail in result.Details)\r\n                {\r\n                    if (detail.Confidence <= 0.5f)\r\n                    {\r\n                        continue;\r\n                    }\r\n                    if (detail.Encoding is UTF8Encoding)\r\n                    {\r\n                        foundBetterMatch = true;\r\n                    }\r\n                    else if (EncodingUtility.TryGetSystemDefaultANSIEncoding(out var systemDefaultEncoding)\r\n                             && EncodingUtility.Equals(systemDefaultEncoding, detail.Encoding))\r\n                    {\r\n                        foundBetterMatch = true;\r\n                    }\r\n                    else if (EncodingUtility.TryGetCurrentCultureANSIEncoding(out var currentCultureEncoding)\r\n                             && EncodingUtility.Equals(currentCultureEncoding, detail.Encoding))\r\n                    {\r\n                        foundBetterMatch = true;\r\n                    }\r\n\r\n                    if (foundBetterMatch)\r\n                    {\r\n                        encoding = detail.Encoding;\r\n                        confidence = detail.Confidence;\r\n                        break;\r\n                    }\r\n                }\r\n            }\r\n\r\n            // We should fall back to UTF-8 and give it a try if:\r\n            // 1. Detected Encoding is not UTF-8\r\n            // 2. Detected Encoding is not SystemDefaultANSIEncoding (Codepage: 0)\r\n            // 3. Detected Encoding is not CurrentCultureANSIEncoding\r\n            // 4. Confidence of detected Encoding is below 50%\r\n            if (!foundBetterMatch && confidence < 0.5f)\r\n            {\r\n                encoding = new UTF8Encoding(encoderShouldEmitUTF8Identifier: false, throwOnInvalidBytes: true);\r\n            }\r\n\r\n            return encoding;\r\n        }\r\n\r\n        private static bool HasBom(byte[] bom)\r\n        {\r\n            // Analyze the BOM\r\n            if (bom[0] == 0x2b && bom[1] == 0x2f && bom[2] == 0x76) return true; // Encoding.UTF7\r\n            if (bom[0] == 0xef && bom[1] == 0xbb && bom[2] == 0xbf) return true; // Encoding.UTF8\r\n            if (bom[0] == 0xff && bom[1] == 0xfe) return true; // Encoding.Unicode\r\n            if (bom[0] == 0xfe && bom[1] == 0xff) return true; // Encoding.BigEndianUnicode\r\n            if (bom[0] == 0 && bom[1] == 0 && bom[2] == 0xfe && bom[3] == 0xff) return true; // Encoding.UTF32\r\n            return false;\r\n        }\r\n\r\n        private static Encoding FixUtf8Bom(Encoding encoding, byte[] bom)\r\n        {\r\n            if (encoding is UTF8Encoding)\r\n            {\r\n                // UTF8 with BOM - UTF-8-BOM\r\n                // UTF8 byte order mark is: 0xEF,0xBB,0xBF\r\n                if (bom[0] == 0xEF && bom[1] == 0xBB && bom[2] == 0xBF)\r\n                {\r\n                    encoding = new UTF8Encoding(true);\r\n                }\r\n                // UTF8 no BOM\r\n                else\r\n                {\r\n                    encoding = new UTF8Encoding(false);\r\n                }\r\n            }\r\n\r\n            return encoding;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Save text to a file with requested encoding\r\n        /// Exception will be thrown if not succeeded\r\n        /// Exception should be caught and handled by caller\r\n        /// </summary>\r\n        public static async Task WriteTextToFileAsync(StorageFile file, string text, Encoding encoding)\r\n        {\r\n            if (IsFileReadOnly(file) || !await IsFileWritableAsync(file))\r\n            {\r\n                await ExecuteFileIOOperationWithRetries(file,\r\n                    \"FileSystemUtility_WriteTextToFileAsync_UsingPathIO\",\r\n                    async () =>\r\n                    {\r\n                        // For file(s) dragged into Notepads, they are read-only\r\n                        // StorageFile API won't work on read-only files but can be written by Win32 PathIO API (exploit?)\r\n                        // In case the file is actually read-only, WriteBytesAsync will throw UnauthorizedAccessException\r\n                        var content = encoding.GetBytes(text);\r\n                        var result = encoding.GetPreamble().Concat(content).ToArray();\r\n                        await PathIO.WriteBytesAsync(file.Path, result);\r\n                    },\r\n                    maxRetryAttempts: 3); // Retry 3 times for this case.\r\n            }\r\n            else // Use StorageFile API to save\r\n            {\r\n                await ExecuteFileIOOperationWithRetries(file,\r\n                    \"FileSystemUtility_WriteTextToFileAsync_UsingStreamWriter\",\r\n                    async () =>\r\n                    {\r\n                        using (var stream = await file.OpenStreamForWriteAsync())\r\n                        using (var writer = new StreamWriter(stream, encoding))\r\n                        {\r\n                            stream.Position = 0;\r\n                            await writer.WriteAsync(text);\r\n                            await writer.FlushAsync();\r\n                            stream.SetLength(stream.Position); // Truncate\r\n                        }\r\n                    },\r\n                    maxRetryAttempts: 5); // Retry 5 times for this case\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Save text to a file with UTF-8 encoding using FileIO API with retries for retriable errors\r\n        /// </summary>\r\n        public static async Task WriteTextToFileAsync(StorageFile storageFile, string text)\r\n        {\r\n            await ExecuteFileIOOperationWithRetries(storageFile,\r\n                \"FileSystemUtility_WriteTextToFileAsync_UsingFileIO\",\r\n                async () => await FileIO.WriteTextAsync(storageFile, text),\r\n                maxRetryAttempts: 10); // Retry 10 times for this case since it is used for saving the session data.\r\n        }\r\n\r\n        private static async Task ExecuteFileIOOperationWithRetries(StorageFile file,\r\n            string operationName,\r\n            Func<Task> action,\r\n            int maxRetryAttempts)\r\n        {\r\n            bool deferUpdatesUsed = true;\r\n            int retryAttempts = 0;\r\n\r\n            try\r\n            {\r\n                // Prevent updates to the remote version of the file until we\r\n                // finish making changes and call CompleteUpdatesAsync.\r\n                CachedFileManager.DeferUpdates(file);\r\n            }\r\n            catch (Exception)\r\n            {\r\n                // If DeferUpdates fails, just ignore it and try to save the file anyway\r\n                deferUpdatesUsed = false;\r\n            }\r\n\r\n            HashSet<string> errorCodes = new HashSet<string>();\r\n\r\n            try\r\n            {\r\n                while (retryAttempts < maxRetryAttempts)\r\n                {\r\n                    try\r\n                    {\r\n                        retryAttempts++;\r\n                        await action.Invoke(); // Execute FileIO action\r\n                        break;\r\n                    }\r\n                    catch (Exception ex)\r\n                    {\r\n                        // Rethrow the last attempt exception regardless of its type\r\n                        if (retryAttempts == maxRetryAttempts)\r\n                        {\r\n                            throw;\r\n                        }\r\n                        // Delay and retry for retriable errors\r\n                        else if ((ex.HResult == ERROR_ACCESS_DENIED) ||\r\n                                (ex.HResult == ERROR_SHARING_VIOLATION) ||\r\n                                (ex.HResult == ERROR_UNABLE_TO_REMOVE_REPLACED) ||\r\n                                (ex.HResult == ERROR_FAIL))\r\n                        {\r\n                            errorCodes.Add(\"0x\" + Convert.ToString(ex.HResult, 16));\r\n                            await Task.Delay(10);\r\n                        }\r\n                        else // Throw immediately for other errors\r\n                        {\r\n                            throw;\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            finally\r\n            {\r\n                string fileUpdateStatus = string.Empty;\r\n\r\n                if (deferUpdatesUsed)\r\n                {\r\n                    // Let Windows know that we're finished changing the file so the\r\n                    // other app can update the remote version of the file.\r\n                    FileUpdateStatus status = await CachedFileManager.CompleteUpdatesAsync(file);\r\n                    fileUpdateStatus = status.ToString();\r\n                }\r\n\r\n                if (retryAttempts > 1) // Retry attempts were used\r\n                {\r\n                    // Track retry attempts to better understand the failed scenarios\r\n                    // File name, path and content are not included to respect/protect user privacy\r\n                    AnalyticsService.TrackEvent(operationName, new Dictionary<string, string>()\r\n                    {\r\n                        { \"RetryAttempts\", retryAttempts.ToString() },\r\n                        { \"DeferUpdatesUsed\" , deferUpdatesUsed.ToString() },\r\n                        { \"ErrorCodes\", string.Join(\", \", errorCodes) },\r\n                        { \"FileUpdateStatus\", fileUpdateStatus }\r\n                    });\r\n                }\r\n            }\r\n        }\r\n\r\n        public static async Task<StorageFile> GetOrCreateFileAsync(StorageFolder folder, string fileName)\r\n        {\r\n            try\r\n            {\r\n                return await folder.CreateFileAsync(fileName, CreationCollisionOption.OpenIfExists);\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(FileSystemUtility)}] Failed to get or create file, Exception: {ex.Message}\");\r\n                AnalyticsService.TrackEvent(\"GetOrCreateFileAsync_Failed\", new Dictionary<string, string>()\r\n                {\r\n                    { \"Exception\", ex.ToString() },\r\n                });\r\n                throw; // Rethrow\r\n            }\r\n        }\r\n\r\n        internal static async Task DeleteFileAsync(string filePath, StorageDeleteOption deleteOption = StorageDeleteOption.PermanentDelete)\r\n        {\r\n            try\r\n            {\r\n                var file = await GetFileAsync(filePath);\r\n                if (file != null)\r\n                {\r\n                    await file.DeleteAsync(deleteOption);\r\n                }\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(FileSystemUtility)}] Failed to delete file: {filePath}, Exception: {ex.Message}\");\r\n            }\r\n        }\r\n\r\n        public static async Task<StorageFolder> GetOrCreateAppFolderAsync(string folderName)\r\n        {\r\n            StorageFolder localFolder = ApplicationData.Current.LocalFolder;\r\n            return await localFolder.CreateFolderAsync(folderName, CreationCollisionOption.OpenIfExists);\r\n        }\r\n\r\n        public static async Task<StorageFile> CreateFileAsync(StorageFolder folder, string fileName, CreationCollisionOption option = CreationCollisionOption.ReplaceExisting)\r\n        {\r\n            return await folder.CreateFileAsync(fileName, option);\r\n        }\r\n\r\n        public static async Task<bool> FileExistsAsync(StorageFile file)\r\n        {\r\n            try\r\n            {\r\n                using (var stream = await file.OpenStreamForReadAsync()) { }\r\n                return true;\r\n            }\r\n            catch (FileNotFoundException)\r\n            {\r\n                return false;\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(FileSystemUtility)}] Failed to check if file [{file.Path}] exists: {ex.Message}\", consoleOnly: true);\r\n                return true;\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Utilities/FileTypeUtility.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Utilities\r\n{\r\n    using System;\r\n    using System.Linq;\r\n\r\n    public enum FileType\r\n    {\r\n        Unknown = 0,\r\n        TextFile,\r\n        MarkdownFile,\r\n    }\r\n\r\n    public static class FileTypeUtility\r\n    {\r\n        public static string GetFileExtension(string filename)\r\n        {\r\n            if (string.IsNullOrEmpty(filename) || !filename.Contains(\".\"))\r\n            {\r\n                return string.Empty;\r\n            }\r\n\r\n            return filename.Substring(filename.LastIndexOf(\".\", StringComparison.Ordinal));\r\n        }\r\n\r\n        public static FileType GetFileTypeByFileName(string filename)\r\n        {\r\n            if (string.IsNullOrEmpty(filename) || !filename.Contains(\".\"))\r\n            {\r\n                return FileType.Unknown;\r\n            }\r\n\r\n            return GetFileTypeByFileExtension(filename.Split(\".\").Last());\r\n        }\r\n\r\n        public static FileType GetFileTypeByFileExtension(string extension)\r\n        {\r\n            if (string.IsNullOrEmpty(extension))\r\n            {\r\n                return FileType.Unknown;\r\n            }\r\n\r\n            var ext = extension.ToLower();\r\n\r\n            if (ext == \"txt\")\r\n            {\r\n                return FileType.TextFile;\r\n            }\r\n\r\n            if (ext == \"md\" ||\r\n                ext == \"markdown\" ||\r\n                ext == \"mkd\" ||\r\n                ext == \"mdwn\" ||\r\n                ext == \"mdown\" ||\r\n                ext == \"markdn\" ||\r\n                ext == \"mdtxt\")\r\n            {\r\n                return FileType.MarkdownFile;\r\n            }\r\n\r\n            return FileType.Unknown;\r\n        }\r\n\r\n        public static bool IsPreviewSupported(FileType fileType)\r\n        {\r\n            if (fileType == FileType.MarkdownFile)\r\n            {\r\n                return true;\r\n            }\r\n\r\n            return false;\r\n        }\r\n\r\n        public static string GetDisplayText(FileType fileType)\r\n        {\r\n            switch (fileType)\r\n            {\r\n                case FileType.Unknown:\r\n                    return string.Empty;\r\n                case FileType.TextFile:\r\n                    return \"TXT\";\r\n                case FileType.MarkdownFile:\r\n                    return \"Markdown\";\r\n                default:\r\n                    return string.Empty;\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Utilities/FontUtility.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Utilities\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Linq;\r\n    using Windows.Foundation;\r\n    using Windows.Globalization;\r\n    using Windows.UI.Text;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Media;\r\n    using Notepads.Services;\r\n\r\n    public static class FontUtility\r\n    {\r\n        /// <summary>\r\n        /// The collection of symbol fonts that need to be skipped from the available fonts, as they don't produce readable text\r\n        /// </summary>\r\n        private static readonly IReadOnlyCollection<string> SymbolFonts = new HashSet<string>(new[]\r\n        {\r\n            \"Segoe MDL2 Assets\",\r\n            \"Webdings\",\r\n            \"Wingdings\",\r\n            \"HoloLens MDL2 Assets\",\r\n            \"Bookshelf Symbol 7\",\r\n            \"MT Extra\",\r\n            \"MS Outlook\",\r\n            \"MS Reference Specialty\",\r\n            \"Wingdings 2\",\r\n            \"Wingdings 3\",\r\n            \"Marlett\"\r\n        });\r\n\r\n        /// <summary>\r\n        /// The fallback collection of fonts available in all Windows 10 versions in case GetSystemFontFamilies API failed\r\n        /// https://docs.microsoft.com/en-us/typography/fonts/windows_10_font_list\r\n        /// </summary>\r\n        private static readonly IReadOnlyCollection<string> DefaultFonts = new HashSet<string>(new[]\r\n        {\r\n            \"Arial\",\r\n            \"Arial Black\",\r\n            \"Calibri\",\r\n            \"Cambria\",\r\n            \"Cambria Math\",\r\n            \"Comic Sans MS\",\r\n            \"Consolas\",\r\n            \"Constantia\",\r\n            \"Courier New\",\r\n            \"Ebrima\",\r\n            \"Franklin Gothic Medium\",\r\n            \"Gabriola\",\r\n            \"Gadugi\",\r\n            \"Georgia\",\r\n            \"Impact\",\r\n            \"Javanese Text\",\r\n            \"Leelawadee UI\",\r\n            \"Lucida Console\",\r\n            \"Lucida Sans Unicode\",\r\n            \"Malgun Gothic\",\r\n            \"Marlett\",\r\n            \"Microsoft Himalaya\",\r\n            \"Microsoft JhengHei\",\r\n            \"Microsoft New Tai Lue\",\r\n            \"Microsoft PhagsPa\",\r\n            \"Microsoft Sans Serif\",\r\n            \"Microsoft Tai Le\",\r\n            \"Microsoft YaHei\",\r\n            \"Microsoft Yi Baiti\",\r\n            \"MingLiU-ExtB\",\r\n            \"Mongolian Baiti\",\r\n            \"MS Gothic\",\r\n            \"MV Boli\",\r\n            \"Myanmar Text\",\r\n            \"Nirmala UI\",\r\n            \"Palatino Linotype\",\r\n            \"Segoe Print\",\r\n            \"Segoe Script\",\r\n            \"Segoe UI\",\r\n            \"SimSun\",\r\n            \"Sitka\",\r\n            \"Sylfaen\",\r\n            \"Tahoma\",\r\n            \"Times New Roman\",\r\n            \"Trebuchet MS\",\r\n            \"Verdana\",\r\n            \"Yu Gothic\"\r\n        });\r\n\r\n        public static readonly int[] PredefinedFontSizes =\r\n        {\r\n            8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 24, 26, 28, 36, 48, 72\r\n        };\r\n\r\n        public static readonly Dictionary<string, FontStyle> PredefinedFontStylesMap = new Dictionary<string, FontStyle>()\r\n        {\r\n            {nameof(FontStyle.Normal),  FontStyle.Normal},\r\n            {nameof(FontStyle.Italic),  FontStyle.Italic},\r\n            {nameof(FontStyle.Oblique), FontStyle.Oblique}\r\n        };\r\n\r\n        public static readonly Dictionary<string, ushort> PredefinedFontWeightsMap = new Dictionary<string, ushort>()\r\n        {\r\n            {nameof(FontWeights.Normal),     FontWeights.Normal.Weight},\r\n            {nameof(FontWeights.Thin),       FontWeights.Thin.Weight},\r\n            {nameof(FontWeights.ExtraLight), FontWeights.ExtraLight.Weight},\r\n            {nameof(FontWeights.Light),      FontWeights.Light.Weight},\r\n            {nameof(FontWeights.SemiLight),  FontWeights.SemiLight.Weight},\r\n            {nameof(FontWeights.Medium),     FontWeights.Medium.Weight},\r\n            {nameof(FontWeights.SemiBold),   FontWeights.SemiBold.Weight},\r\n            {nameof(FontWeights.Bold),       FontWeights.Bold.Weight},\r\n            {nameof(FontWeights.ExtraBold),  FontWeights.ExtraBold.Weight},\r\n            {nameof(FontWeights.Black),      FontWeights.Black.Weight},\r\n            {nameof(FontWeights.ExtraBlack), FontWeights.ExtraBlack.Weight}\r\n        };\r\n\r\n        public static bool IsMonospacedFont(FontFamily font)\r\n        {\r\n            var tb1 = new TextBlock { Text = \"(!aiZ%#BIm,. ~`\", FontFamily = font };\r\n            tb1.Measure(new Size(Double.PositiveInfinity, Double.PositiveInfinity));\r\n            var tb2 = new TextBlock { Text = \"...............\", FontFamily = font };\r\n            tb2.Measure(new Size(Double.PositiveInfinity, Double.PositiveInfinity));\r\n\r\n            var off = Math.Abs(tb1.DesiredSize.Width - tb2.DesiredSize.Width);\r\n            return off < 0.01;\r\n        }\r\n\r\n        public static Size GetTextSize(FontFamily font, double fontSize, string text)\r\n        {\r\n            var tb = new TextBlock { Text = text, FontFamily = font, FontSize = fontSize };\r\n            tb.Measure(new Size(Double.PositiveInfinity, Double.PositiveInfinity));\r\n            return tb.DesiredSize;\r\n        }\r\n\r\n        public static string[] GetSystemFontFamilies()\r\n        {\r\n            try\r\n            {\r\n                var systemFonts = Microsoft.Graphics.Canvas.Text.CanvasTextFormat.GetSystemFontFamilies(ApplicationLanguages.Languages);\r\n                return systemFonts.Where(font => !SymbolFonts.Contains(font)).OrderBy(font => font).ToArray();\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                AnalyticsService.TrackEvent(\"FailedToGetSystemFontFamilies\", new Dictionary<string, string>()\r\n                {\r\n                    { \"Exception\", ex.ToString() }\r\n                });\r\n                return DefaultFonts.Where(font => !SymbolFonts.Contains(font)).OrderBy(font => font).ToArray();\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Utilities/FutureAccessListUtility.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Utilities\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Threading.Tasks;\r\n    using Windows.Storage;\r\n    using Windows.Storage.AccessCache;\r\n    using Notepads.Services;\r\n\r\n    public static class FutureAccessListUtility\r\n    {\r\n        public static async Task<StorageFile> GetFileFromFutureAccessListAsync(string token)\r\n        {\r\n            try\r\n            {\r\n                if (StorageApplicationPermissions.FutureAccessList.ContainsItem(token))\r\n                {\r\n                    return await StorageApplicationPermissions.FutureAccessList.GetFileAsync(token);\r\n                }\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(FutureAccessListUtility)}] Failed to get file from future access list: {ex.Message}\");\r\n            }\r\n            return null;\r\n        }\r\n\r\n        public static async Task<bool> TryAddOrReplaceTokenInFutureAccessListAsync(string token, StorageFile file)\r\n        {\r\n            try\r\n            {\r\n                if (await FileSystemUtility.FileExistsAsync(file))\r\n                {\r\n                    StorageApplicationPermissions.FutureAccessList.AddOrReplace(token, file);\r\n                    return true;\r\n                }\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(FutureAccessListUtility)}] Failed to add file [{file.Path}] to future access list: {ex.Message}\");\r\n                AnalyticsService.TrackEvent(\"FailedToAddTokenInFutureAccessList\",\r\n                    new Dictionary<string, string>()\r\n                    {\r\n                        { \"ItemCount\", GetFutureAccessListItemCount().ToString() },\r\n                        { \"Exception\", ex.Message }\r\n                    });\r\n            }\r\n            return false;\r\n        }\r\n\r\n        private static int GetFutureAccessListItemCount()\r\n        {\r\n            try\r\n            {\r\n                return StorageApplicationPermissions.FutureAccessList.Entries.Count;\r\n            }\r\n            catch\r\n            {\r\n                return -1;\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Utilities/LanguageUtility.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Utilities\r\n{\r\n    using System.Collections.Generic;\r\n    using System.Globalization;\r\n    using System.Linq;\r\n    using Windows.ApplicationModel.Resources;\r\n    using Windows.Globalization;\r\n\r\n    public class LanguageItem\r\n    {\r\n        private string _id;\r\n\r\n        public string ID\r\n        {\r\n            get => _id;\r\n            set\r\n            {\r\n                _id = value;\r\n                Name = string.IsNullOrEmpty(value)\r\n                    ? ResourceLoader.GetForCurrentView().GetString(\"/Settings/AdvancedPage_LanguagePreferenceSettings_SystemDefaultText\")\r\n                    : new CultureInfo(value).NativeName;\r\n            }\r\n        }\r\n\r\n        public string Name { get; private set; }\r\n    }\r\n\r\n    public static class LanguageUtility\r\n    {\r\n        public static readonly string CurrentLanguageID = ApplicationLanguages.PrimaryLanguageOverride;\r\n\r\n        public static IReadOnlyCollection<LanguageItem> GetSupportedLanguageItems()\r\n        {\r\n            var supportedLanguageList = new List<LanguageItem>() { new LanguageItem() { ID = string.Empty } };\r\n            supportedLanguageList.AddRange(ApplicationLanguages.ManifestLanguages\r\n                .Select(languageId => new LanguageItem() { ID = languageId }));\r\n            return supportedLanguageList;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Utilities/LineEndingUtility.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Utilities\r\n{\r\n    public enum LineEnding\r\n    {\r\n        Crlf,\r\n        Cr,\r\n        Lf\r\n    }\r\n\r\n    public static class LineEndingUtility\r\n    {\r\n        public static LineEnding GetLineEndingTypeFromText(string text)\r\n        {\r\n            if (text.Contains(\"\\r\\n\"))\r\n            {\r\n                return LineEnding.Crlf;\r\n            }\r\n            else if (text.Contains(\"\\r\"))\r\n            {\r\n                return LineEnding.Cr;\r\n            }\r\n            else if (text.Contains(\"\\n\"))\r\n            {\r\n                return LineEnding.Lf;\r\n            }\r\n            else\r\n            {\r\n                return LineEnding.Crlf;\r\n            }\r\n        }\r\n\r\n        public static string GetLineEndingDisplayText(LineEnding lineEnding)\r\n        {\r\n            switch (lineEnding)\r\n            {\r\n                case LineEnding.Crlf:\r\n                    return \"Windows (CRLF)\";\r\n                case LineEnding.Cr:\r\n                    return \"Macintosh (CR)\";\r\n                case LineEnding.Lf:\r\n                    return \"Unix (LF)\";\r\n                default:\r\n                    return \"Windows (CRLF)\";\r\n            }\r\n        }\r\n\r\n        public static string GetLineEndingName(LineEnding lineEnding)\r\n        {\r\n            string lineEndingName = \"CRLF\";\r\n\r\n            switch (lineEnding)\r\n            {\r\n                case LineEnding.Crlf:\r\n                    lineEndingName = \"CRLF\";\r\n                    break;\r\n                case LineEnding.Cr:\r\n                    lineEndingName = \"CR\";\r\n                    break;\r\n                case LineEnding.Lf:\r\n                    lineEndingName = \"LF\";\r\n                    break;\r\n            }\r\n\r\n            return lineEndingName;\r\n        }\r\n\r\n        public static LineEnding GetLineEndingByName(string name)\r\n        {\r\n            LineEnding lineEnding = LineEnding.Crlf;\r\n\r\n            switch (name.ToUpper())\r\n            {\r\n                case \"CRLF\":\r\n                    lineEnding = LineEnding.Crlf;\r\n                    break;\r\n                case \"CR\":\r\n                    lineEnding = LineEnding.Cr;\r\n                    break;\r\n                case \"LF\":\r\n                    lineEnding = LineEnding.Lf;\r\n                    break;\r\n            }\r\n\r\n            return lineEnding;\r\n        }\r\n\r\n        public static string ApplyLineEnding(string text, LineEnding lineEnding)\r\n        {\r\n            switch (lineEnding)\r\n            {\r\n                case LineEnding.Cr:\r\n                    text = text.Replace(\"\\r\\n\", \"\\n\").Replace(\"\\r\", \"\\n\").Replace(\"\\n\", \"\\r\");\r\n                    break;\r\n                case LineEnding.Crlf:\r\n                    text = text.Replace(\"\\r\\n\", \"\\n\").Replace(\"\\r\", \"\\n\").Replace(\"\\n\", \"\\r\\n\");\r\n                    break;\r\n                case LineEnding.Lf:\r\n                    text = text.Replace(\"\\r\\n\", \"\\n\").Replace(\"\\r\", \"\\n\");\r\n                    break;\r\n            }\r\n\r\n            return text;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Utilities/SearchEngineUtility.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Utilities\r\n{\r\n    using Notepads.Services;\r\n    using System.Collections.Generic;\r\n\r\n    public enum SearchEngine\r\n    {\r\n        Bing,\r\n        Google,\r\n        DuckDuckGo,\r\n        Custom\r\n    }\r\n\r\n    public static class SearchEngineUtility\r\n    {\r\n        private static readonly Dictionary<SearchEngine, string> SearchEngineUrlDictionary = new Dictionary<SearchEngine, string>\r\n        {\r\n            {SearchEngine.Bing, \"https://www.bing.com/search?q={0}&form=NPCTXT\"},\r\n            {SearchEngine.Google, \"https://www.google.com/search?q={0}&oq={0}\"},\r\n            {SearchEngine.DuckDuckGo, \"https://duckduckgo.com/?q={0}&ia=web\"},\r\n            {SearchEngine.Custom, \"\"}\r\n        };\r\n\r\n        public static string GetSearchUrlBySearchEngine(SearchEngine searchEngine)\r\n        {\r\n            return searchEngine != SearchEngine.Custom ? SearchEngineUrlDictionary[searchEngine] : AppSettingsService.EditorCustomMadeSearchUrl;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "src/Notepads/Utilities/SessionUtility.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Utilities\r\n{\r\n    using System;\r\n    using System.Collections.Concurrent;\r\n    using System.Collections.Generic;\r\n    using System.Threading.Tasks;\r\n    using Microsoft.Toolkit.Uwp.Helpers;\r\n    using Notepads.Core;\r\n    using Windows.Storage;\r\n\r\n    internal static class SessionUtility\r\n    {\r\n        private const string BackupFolderDefaultName = \"BackupFiles\";\r\n        private const string SessionMetaDataFileDefaultName = \"NotepadsSessionData.json\";\r\n\r\n        private static readonly ConcurrentDictionary<INotepadsCore, ISessionManager> SessionManagers = new ConcurrentDictionary<INotepadsCore, ISessionManager>();\r\n\r\n        public static ISessionManager GetSessionManager(INotepadsCore notepadCore)\r\n        {\r\n            return GetSessionManager(notepadCore, null);\r\n        }\r\n\r\n        public static ISessionManager GetSessionManager(INotepadsCore notepadCore, string filePathPrefix)\r\n        {\r\n            if (!SessionManagers.TryGetValue(notepadCore, out ISessionManager sessionManager))\r\n            {\r\n                var backupFolderName = BackupFolderDefaultName;\r\n                var sessionMetaDataFileName = SessionMetaDataFileDefaultName;\r\n\r\n                if (filePathPrefix != null)\r\n                {\r\n                    backupFolderName = filePathPrefix + backupFolderName;\r\n                    sessionMetaDataFileName = filePathPrefix + SessionMetaDataFileDefaultName;\r\n                }\r\n\r\n                sessionManager = new SessionManager(notepadCore,\r\n                    backupFolderName,\r\n                    sessionMetaDataFileName);\r\n\r\n                if (!SessionManagers.TryAdd(notepadCore, sessionManager))\r\n                {\r\n                    sessionManager = SessionManagers[notepadCore];\r\n                }\r\n            }\r\n\r\n            return sessionManager;\r\n        }\r\n\r\n        public static async Task<StorageFolder> GetBackupFolderAsync(string backupFolderName)\r\n        {\r\n            return await FileSystemUtility.GetOrCreateAppFolderAsync(backupFolderName);\r\n        }\r\n\r\n        public static async Task<IReadOnlyList<StorageFile>> GetAllFilesInBackupFolderAsync(string backupFolderName)\r\n        {\r\n            StorageFolder backupFolder = await GetBackupFolderAsync(backupFolderName);\r\n            return await backupFolder.GetFilesAsync();\r\n        }\r\n\r\n        public static async Task<bool> IsSessionMetaDataFileExists(string sessionMetaDataFileName)\r\n        {\r\n            StorageFolder localFolder = ApplicationData.Current.LocalFolder;\r\n            return await localFolder.FileExistsAsync(sessionMetaDataFileName);\r\n        }\r\n\r\n        public static async Task<string> GetSerializedSessionMetaDataAsync(string sessionMetaDataFileName)\r\n        {\r\n            StorageFolder localFolder = ApplicationData.Current.LocalFolder;\r\n            return await localFolder.ReadTextFromFileAsync(sessionMetaDataFileName);\r\n        }\r\n\r\n        public static async Task SaveSerializedSessionMetaDataAsync(string serializedData, string sessionMetaDataFileName)\r\n        {\r\n            StorageFolder localFolder = ApplicationData.Current.LocalFolder;\r\n            StorageFile metaDataFile = await FileSystemUtility.GetOrCreateFileAsync(localFolder, sessionMetaDataFileName);\r\n            await FileSystemUtility.WriteTextToFileAsync(metaDataFile, serializedData);\r\n        }\r\n\r\n        public static async Task DeleteSerializedSessionMetaDataAsync(string sessionMetaDataFileName)\r\n        {\r\n            StorageFolder localFolder = ApplicationData.Current.LocalFolder;\r\n\r\n            StorageFile sessionDataFile = null;\r\n\r\n            try\r\n            {\r\n                sessionDataFile = await localFolder.GetFileAsync(sessionMetaDataFileName);\r\n            }\r\n            catch (Exception)\r\n            {\r\n                // ignored\r\n            }\r\n\r\n            if (sessionDataFile != null)\r\n            {\r\n                await sessionDataFile.DeleteAsync();\r\n            }\r\n        }\r\n\r\n        public static async Task<StorageFile> CreateNewFileInBackupFolderAsync(string fileName, CreationCollisionOption collisionOption, string backupFolderName)\r\n        {\r\n            StorageFolder backupFolder = await GetBackupFolderAsync(backupFolderName);\r\n            return await backupFolder.CreateFileAsync(fileName, collisionOption);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Utilities/ThreadUtility.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Utilities\r\n{\r\n    using Windows.UI.Core;\r\n\r\n    internal static class ThreadUtility\r\n    {\r\n        public static bool IsOnUIThread()\r\n        {\r\n            CoreWindow coreWindow = CoreWindow.GetForCurrentThread();\r\n            return coreWindow != null && coreWindow.Dispatcher.HasThreadAccess;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Views/MainPage/NotepadsMainPage.IO.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Views.MainPage\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.IO;\r\n    using System.Threading.Tasks;\r\n    using Windows.Graphics.Printing;\r\n    using Windows.Storage;\r\n    using Notepads.Controls.Dialog;\r\n    using Notepads.Controls.FilePicker;\r\n    using Notepads.Controls.Print;\r\n    using Notepads.Controls.TextEditor;\r\n    using Notepads.Services;\r\n    using Notepads.Utilities;\r\n\r\n    public sealed partial class NotepadsMainPage\r\n    {\r\n        private async Task OpenNewFilesAsync()\r\n        {\r\n            IReadOnlyList<StorageFile> files;\r\n\r\n            try\r\n            {\r\n                files = await FilePickerFactory.GetFileOpenPicker().PickMultipleFilesAsync();\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                var fileOpenErrorDialog = new FileOpenErrorDialog(filePath: null, ex.Message);\r\n                await DialogManager.OpenDialogAsync(fileOpenErrorDialog, awaitPreviousDialog: false);\r\n                if (!fileOpenErrorDialog.IsAborted)\r\n                {\r\n                    NotepadsCore.FocusOnSelectedTextEditor();\r\n                }\r\n                return;\r\n            }\r\n\r\n            if (files == null || files.Count == 0)\r\n            {\r\n                NotepadsCore.FocusOnSelectedTextEditor();\r\n                return;\r\n            }\r\n\r\n            foreach (var file in files)\r\n            {\r\n                await OpenFileAsync(file);\r\n            }\r\n        }\r\n\r\n        public async Task<bool> OpenFileAsync(StorageFile file, bool rebuildOpenRecentItems = true)\r\n        {\r\n            try\r\n            {\r\n                if (file == null) return false;\r\n                var openedEditor = NotepadsCore.GetTextEditor(file);\r\n                if (openedEditor != null)\r\n                {\r\n                    NotepadsCore.SwitchTo(openedEditor);\r\n                    NotificationCenter.Instance.PostNotification(\r\n                        _resourceLoader.GetString(\"TextEditor_NotificationMsg_FileAlreadyOpened\"), 2500);\r\n                    return false;\r\n                }\r\n\r\n                var editor = await NotepadsCore.CreateTextEditorAsync(Guid.NewGuid(), file);\r\n                NotepadsCore.OpenTextEditor(editor);\r\n                NotepadsCore.FocusOnSelectedTextEditor();\r\n                var success = MRUService.TryAdd(file); // Remember recently used files\r\n                if (success && rebuildOpenRecentItems)\r\n                {\r\n                    await BuildOpenRecentButtonSubItemsAsync();\r\n                }\r\n\r\n                TrackFileExtensionIfNotSupported(file);\r\n\r\n                return true;\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                var fileOpenErrorDialog = new FileOpenErrorDialog(file.Path, ex.Message);\r\n                await DialogManager.OpenDialogAsync(fileOpenErrorDialog, awaitPreviousDialog: false);\r\n                if (!fileOpenErrorDialog.IsAborted)\r\n                {\r\n                    NotepadsCore.FocusOnSelectedTextEditor();\r\n                }\r\n                return false;\r\n            }\r\n        }\r\n\r\n        // Here we track the file extension opened by user but not supported by Notepads.\r\n        // This information will be used to on-board new extension support for future release.\r\n        // Because UWP does not allow user to associate arbitrary file extension with the app.\r\n        // File name will not and should not be tracked.\r\n        private void TrackFileExtensionIfNotSupported(StorageFile file)\r\n        {\r\n            try\r\n            {\r\n                var extension = FileTypeUtility.GetFileExtension(file.Name).ToLower();\r\n                if (!FileExtensionProvider.AllSupportedFileExtensions.Contains(extension))\r\n                {\r\n                    if (string.IsNullOrEmpty(extension))\r\n                    {\r\n                        extension = \"<NoExtension>\";\r\n                    }\r\n                    AnalyticsService.TrackEvent(\"UnsupportedFileExtension\", new Dictionary<string, string>()\r\n                    {\r\n                        { \"Extension\", extension },\r\n                    });\r\n                }\r\n            }\r\n            catch (Exception)\r\n            {\r\n                // ignore\r\n            }\r\n        }\r\n\r\n        public async Task<int> OpenFilesAsync(IReadOnlyList<IStorageItem> storageItems)\r\n        {\r\n            if (storageItems == null || storageItems.Count == 0) return 0;\r\n            int successCount = 0;\r\n            foreach (var storageItem in storageItems)\r\n            {\r\n                if (storageItem is StorageFile file)\r\n                {\r\n                    if (await OpenFileAsync(file, rebuildOpenRecentItems: false))\r\n                    {\r\n                        successCount++;\r\n                    }\r\n                }\r\n            }\r\n            if (successCount > 0)\r\n            {\r\n                await BuildOpenRecentButtonSubItemsAsync();\r\n            }\r\n            return successCount;\r\n        }\r\n\r\n        private async Task<StorageFile> OpenFileUsingFileSavePickerAsync(ITextEditor textEditor)\r\n        {\r\n            NotepadsCore.SwitchTo(textEditor);\r\n            StorageFile file = await FilePickerFactory.GetFileSavePicker(textEditor).PickSaveFileAsync();\r\n            NotepadsCore.FocusOnTextEditor(textEditor);\r\n            return file;\r\n        }\r\n\r\n        private async Task SaveInternalAsync(ITextEditor textEditor, StorageFile file, bool rebuildOpenRecentItems)\r\n        {\r\n            await NotepadsCore.SaveContentToFileAndUpdateEditorStateAsync(textEditor, file);\r\n            var success = MRUService.TryAdd(file); // Remember recently used files\r\n            if (success && rebuildOpenRecentItems)\r\n            {\r\n                await BuildOpenRecentButtonSubItemsAsync();\r\n            }\r\n        }\r\n\r\n        private async Task<bool> SaveAsync(ITextEditor textEditor, bool saveAs, bool ignoreUnmodifiedDocument = false, bool rebuildOpenRecentItems = true)\r\n        {\r\n            if (textEditor == null) return false;\r\n\r\n            if (ignoreUnmodifiedDocument && !textEditor.IsModified)\r\n            {\r\n                return true;\r\n            }\r\n\r\n            StorageFile file = null;\r\n\r\n            try\r\n            {\r\n                if (textEditor.EditingFile == null || saveAs)\r\n                {\r\n                    file = await OpenFileUsingFileSavePickerAsync(textEditor);\r\n                    if (file == null) return false; // User cancelled\r\n                }\r\n                else\r\n                {\r\n                    file = textEditor.EditingFile;\r\n                }\r\n\r\n                bool promptSaveAs = false;\r\n                try\r\n                {\r\n                    await SaveInternalAsync(textEditor, file, rebuildOpenRecentItems);\r\n                }\r\n                catch (UnauthorizedAccessException) // Happens when the file we are saving is read-only\r\n                {\r\n                    promptSaveAs = true;\r\n                }\r\n                catch (FileNotFoundException) // Happens when the file not found or storage media is removed\r\n                {\r\n                    promptSaveAs = true;\r\n                }\r\n\r\n                if (promptSaveAs)\r\n                {\r\n                    file = await OpenFileUsingFileSavePickerAsync(textEditor);\r\n                    if (file == null) return false; // User cancelled\r\n\r\n                    await SaveInternalAsync(textEditor, file, rebuildOpenRecentItems);\r\n                    return true;\r\n                }\r\n\r\n                return true;\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                var fileSaveErrorDialog = new FileSaveErrorDialog((file == null) ? string.Empty : file.Path, ex.Message);\r\n                await DialogManager.OpenDialogAsync(fileSaveErrorDialog, awaitPreviousDialog: false);\r\n                if (!fileSaveErrorDialog.IsAborted)\r\n                {\r\n                    NotepadsCore.FocusOnSelectedTextEditor();\r\n                }\r\n                return false;\r\n            }\r\n        }\r\n\r\n        private async Task<bool> SaveAllAsync(ITextEditor[] textEditors)\r\n        {\r\n            var success = false;\r\n\r\n            foreach (var textEditor in textEditors)\r\n            {\r\n                if (await SaveAsync(textEditor, saveAs: false, ignoreUnmodifiedDocument: true, rebuildOpenRecentItems: false)) success = true;\r\n            }\r\n\r\n            if (success)\r\n            {\r\n                await BuildOpenRecentButtonSubItemsAsync();\r\n            }\r\n\r\n            return success;\r\n        }\r\n\r\n        private async Task RenameFileAsync(ITextEditor textEditor)\r\n        {\r\n            if (textEditor == null) return;\r\n\r\n            if (textEditor.FileModificationState == FileModificationState.RenamedMovedOrDeleted) return;\r\n\r\n            if (textEditor.EditingFile != null && FileSystemUtility.IsFileReadOnly(textEditor.EditingFile)) return;\r\n\r\n            var fileRenameDialog = new FileRenameDialog(textEditor.EditingFileName ?? textEditor.FileNamePlaceholder,\r\n                fileExists: textEditor.EditingFile != null,\r\n                confirmedAction: async (newFilename) =>\r\n                {\r\n                    try\r\n                    {\r\n                        await textEditor.RenameAsync(newFilename);\r\n                        NotepadsCore.FocusOnSelectedTextEditor();\r\n                        NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"TextEditor_NotificationMsg_FileRenamed\"), 1500);\r\n                    }\r\n                    catch (Exception ex)\r\n                    {\r\n                        var errorMessage = ex.Message?.TrimEnd('\\r', '\\n');\r\n                        NotificationCenter.Instance.PostNotification(errorMessage, 3500); // TODO: Use Content Dialog to display error message\r\n                    }\r\n                });\r\n\r\n            await DialogManager.OpenDialogAsync(fileRenameDialog, awaitPreviousDialog: false);\r\n        }\r\n\r\n        public async Task PrintAsync(ITextEditor textEditor)\r\n        {\r\n            if (App.IsGameBarWidget) return;\r\n            if (textEditor == null) return;\r\n            await PrintAllAsync(new[] { textEditor });\r\n        }\r\n\r\n        public async Task PrintAllAsync(ITextEditor[] textEditors)\r\n        {\r\n            if (App.IsGameBarWidget) return;\r\n            if (textEditors == null || textEditors.Length == 0) return;\r\n\r\n            // Initialize print content\r\n            PrintArgs.PreparePrintContent(textEditors);\r\n\r\n            if (PrintManager.IsSupported() && HaveNonemptyTextEditor(textEditors))\r\n            {\r\n                // Show print UI\r\n                await PrintArgs.ShowPrintUIAsync();\r\n            }\r\n            else if (!PrintManager.IsSupported())\r\n            {\r\n                // Printing is not supported on this device\r\n                NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"Print_NotificationMsg_PrintNotSupported\"), 1500);\r\n            }\r\n        }\r\n\r\n        private static bool HaveNonemptyTextEditor(ITextEditor[] textEditors)\r\n        {\r\n            foreach (ITextEditor textEditor in textEditors)\r\n            {\r\n                if (string.IsNullOrEmpty(textEditor.GetText())) continue;\r\n                return true;\r\n            }\r\n            return false;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Views/MainPage/NotepadsMainPage.MainMenu.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Views.MainPage\r\n{\r\n    using System.Collections.Generic;\r\n    using System.Linq;\r\n    using System.Threading.Tasks;\r\n    using Windows.Storage;\r\n    using Windows.Graphics.Printing;\r\n    using Windows.UI.ViewManagement;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Controls.Primitives;\r\n    using Windows.UI.Xaml.Media;\r\n    using Notepads.Services;\r\n\r\n    public sealed partial class NotepadsMainPage\r\n    {\r\n        private void InitializeMainMenu()\r\n        {\r\n            MainMenuButton.Click += (sender, args) => FlyoutBase.ShowAttachedFlyout((FrameworkElement)sender);\r\n\r\n            MenuCreateNewButton.Click += (sender, args) => NotepadsCore.OpenNewTextEditor(_defaultNewFileName);\r\n            MenuCreateNewWindowButton.Click += async (sender, args) => await OpenNewAppInstanceAsync();\r\n            MenuOpenFileButton.Click += async (sender, args) => await OpenNewFilesAsync();\r\n            MenuSaveButton.Click += async (sender, args) => await SaveAsync(NotepadsCore.GetSelectedTextEditor(), saveAs: false);\r\n            MenuSaveAsButton.Click += async (sender, args) => await SaveAsync(NotepadsCore.GetSelectedTextEditor(), saveAs: true);\r\n            MenuSaveAllButton.Click += async (sender, args) => await SaveAllAsync(NotepadsCore.GetAllTextEditors());\r\n            MenuFindButton.Click += (sender, args) => NotepadsCore.GetSelectedTextEditor()?.ShowFindAndReplaceControl(showReplaceBar: false);\r\n            MenuReplaceButton.Click += (sender, args) => NotepadsCore.GetSelectedTextEditor()?.ShowFindAndReplaceControl(showReplaceBar: true);\r\n            MenuFullScreenButton.Click += (sender, args) => EnterExitFullScreenMode();\r\n            MenuCompactOverlayButton.Click += (sender, args) => EnterExitCompactOverlayMode();\r\n            MenuPrintButton.Click += async (sender, args) => await PrintAsync(NotepadsCore.GetSelectedTextEditor());\r\n            MenuPrintAllButton.Click += async (sender, args) => await PrintAllAsync(NotepadsCore.GetAllTextEditors());\r\n            MenuSettingsButton.Click += (sender, args) => RootSplitView.IsPaneOpen = true;\r\n\r\n            if (!App.IsPrimaryInstance)\r\n            {\r\n                MainMenuButton.Foreground = new SolidColorBrush(ThemeSettingsService.AppAccentColor);\r\n                MenuSettingsButton.IsEnabled = false;\r\n            }\r\n\r\n            if (App.IsGameBarWidget)\r\n            {\r\n                MenuFullScreenSeparator.Visibility = Visibility.Collapsed;\r\n                MenuPrintSeparator.Visibility = Visibility.Collapsed;\r\n                MenuSettingsSeparator.Visibility = Visibility.Collapsed;\r\n\r\n                MenuCompactOverlayButton.Visibility = Visibility.Collapsed;\r\n                MenuFullScreenButton.Visibility = Visibility.Collapsed;\r\n                MenuPrintButton.Visibility = Visibility.Collapsed;\r\n                MenuPrintAllButton.Visibility = Visibility.Collapsed;\r\n                MenuSettingsButton.Visibility = Visibility.Collapsed;\r\n            }\r\n\r\n            if (!PrintManager.IsSupported())\r\n            {\r\n                MenuPrintButton.Visibility = Visibility.Collapsed;\r\n                MenuPrintAllButton.Visibility = Visibility.Collapsed;\r\n                MenuPrintSeparator.Visibility = Visibility.Collapsed;\r\n            }\r\n\r\n            MainMenuButtonFlyout.Opening += MainMenuButtonFlyout_Opening;\r\n        }\r\n\r\n        private void MainMenuButtonFlyout_Opening(object sender, object e)\r\n        {\r\n            var selectedTextEditor = NotepadsCore.GetSelectedTextEditor();\r\n\r\n            if (selectedTextEditor == null)\r\n            {\r\n                MenuSaveButton.IsEnabled = false;\r\n                MenuSaveAsButton.IsEnabled = false;\r\n                MenuFindButton.IsEnabled = false;\r\n                MenuReplaceButton.IsEnabled = false;\r\n                MenuPrintButton.IsEnabled = false;\r\n                MenuPrintAllButton.IsEnabled = false;\r\n            }\r\n            else if (selectedTextEditor.IsEditorEnabled() == false)\r\n            {\r\n                MenuSaveButton.IsEnabled = selectedTextEditor.IsModified;\r\n                MenuSaveAsButton.IsEnabled = true;\r\n                MenuFindButton.IsEnabled = false;\r\n                MenuReplaceButton.IsEnabled = false;\r\n            }\r\n            else\r\n            {\r\n                MenuSaveButton.IsEnabled = selectedTextEditor.IsModified;\r\n                MenuSaveAsButton.IsEnabled = true;\r\n                MenuFindButton.IsEnabled = true;\r\n                MenuReplaceButton.IsEnabled = true;\r\n\r\n                if (PrintManager.IsSupported())\r\n                {\r\n                    MenuPrintButton.IsEnabled = !string.IsNullOrEmpty(selectedTextEditor.GetText());\r\n                    MenuPrintAllButton.IsEnabled = NotepadsCore.HaveNonemptyTextEditor();\r\n                }\r\n            }\r\n\r\n            MenuFullScreenButton.Text = _resourceLoader.GetString(\r\n                ApplicationView.GetForCurrentView().IsFullScreenMode\r\n                    ? \"App_ExitFullScreenMode_Text\"\r\n                    : \"App_EnterFullScreenMode_Text\");\r\n            MenuCompactOverlayButton.Text = _resourceLoader.GetString(\r\n                ApplicationView.GetForCurrentView().ViewMode == ApplicationViewMode.CompactOverlay\r\n                    ? \"App_ExitCompactOverlayMode_Text\"\r\n                    : \"App_EnterCompactOverlayMode_Text\");\r\n            MenuSaveAllButton.IsEnabled = NotepadsCore.HaveUnsavedTextEditor();\r\n        }\r\n\r\n        private async Task BuildOpenRecentButtonSubItemsAsync()\r\n        {\r\n            var openRecentSubItem = new MenuFlyoutSubItem\r\n            {\r\n                Text = _resourceLoader.GetString(\"MainMenu_Button_Open_Recent/Text\"),\r\n                Icon = new FontIcon { Glyph = \"\\xE81C\" },\r\n                Name = \"MenuOpenRecentlyUsedFileButton\",\r\n            };\r\n\r\n            var MRUFileList = new HashSet<string>();\r\n\r\n            foreach (var item in await MRUService.GetMostRecentlyUsedListAsync(top: 10))\r\n            {\r\n                if (item is StorageFile file)\r\n                {\r\n                    if (MRUFileList.Contains(file.Path))\r\n                    {\r\n                        // MRU might contains files with same path (User opens a recently used file after renaming it)\r\n                        // So we need to do the decouple here\r\n                        continue;\r\n                    }\r\n                    var newItem = new MenuFlyoutItem()\r\n                    {\r\n                        Text = file.Path\r\n                    };\r\n                    ToolTipService.SetToolTip(newItem, file.Path);\r\n                    newItem.Click += async (sender, args) => { await OpenFileAsync(file); };\r\n                    openRecentSubItem.Items?.Add(newItem);\r\n                    MRUFileList.Add(file.Path);\r\n                }\r\n            }\r\n\r\n            var oldOpenRecentSubItem = MainMenuButtonFlyout.Items?.FirstOrDefault(i => i.Name == openRecentSubItem.Name);\r\n            if (oldOpenRecentSubItem != null)\r\n            {\r\n                MainMenuButtonFlyout.Items.Remove(oldOpenRecentSubItem);\r\n            }\r\n\r\n            openRecentSubItem.IsEnabled = false;\r\n            if (openRecentSubItem.Items?.Count > 0)\r\n            {\r\n                openRecentSubItem.Items?.Add(new MenuFlyoutSeparator());\r\n\r\n                var clearRecentlyOpenedSubItem = new MenuFlyoutItem()\r\n                {\r\n                    Text = _resourceLoader.GetString(\"MainMenu_Button_Open_Recent_ClearRecentlyOpenedSubItem_Text\")\r\n                };\r\n\r\n                clearRecentlyOpenedSubItem.Click += async (sender, args) =>\r\n                {\r\n                    MRUService.ClearAll();\r\n                    await BuildOpenRecentButtonSubItemsAsync();\r\n                };\r\n                openRecentSubItem.Items?.Add(clearRecentlyOpenedSubItem);\r\n                openRecentSubItem.IsEnabled = true;\r\n            }\r\n\r\n            if (MainMenuButtonFlyout.Items != null)\r\n            {\r\n                var indexToInsert = MainMenuButtonFlyout.Items.IndexOf(MenuOpenFileButton) + 1;\r\n                MainMenuButtonFlyout.Items.Insert(indexToInsert, openRecentSubItem);\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Views/MainPage/NotepadsMainPage.Notification.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Views.MainPage\r\n{\r\n    using Notepads.Services;\r\n    using Notepads.Utilities;\r\n\r\n    public sealed partial class NotepadsMainPage : INotificationDelegate\r\n    {\r\n        private void InitializeNotificationCenter()\r\n        {\r\n            NotificationCenter.Instance.SetNotificationDelegate(this);\r\n        }\r\n\r\n        public void PostNotification(string message, int duration)\r\n        {\r\n            if (StatusNotification == null)\r\n            {\r\n                FindName(\"StatusNotification\");  // Lazy loading\r\n            }\r\n\r\n            var textSize = FontUtility.GetTextSize(StatusNotification.FontFamily, StatusNotification.FontSize, message);\r\n            StatusNotification.Width = textSize.Width + 100; // actual width + padding\r\n            StatusNotification.Height = textSize.Height + 50; // actual height + padding\r\n            StatusNotification.Show(message, duration);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Views/MainPage/NotepadsMainPage.StatusBar.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Views.MainPage\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Globalization;\r\n    using System.IO;\r\n    using System.Linq;\r\n    using System.Text;\r\n    using Windows.ApplicationModel.DataTransfer;\r\n    using Windows.System;\r\n    using Windows.UI.ViewManagement;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Controls.Primitives;\r\n    using Windows.UI.Xaml.Input;\r\n    using Notepads.Controls.Dialog;\r\n    using Notepads.Controls.TextEditor;\r\n    using Notepads.Extensions;\r\n    using Notepads.Services;\r\n    using Notepads.Utilities;\r\n\r\n    public sealed partial class NotepadsMainPage\r\n    {\r\n        private void InitializeStatusBar()\r\n        {\r\n            ShowHideStatusBar(AppSettingsService.ShowStatusBar);\r\n            AppSettingsService.OnStatusBarVisibilityChanged += OnStatusBarVisibilityChanged;\r\n        }\r\n\r\n        private void SetupStatusBar(ITextEditor textEditor)\r\n        {\r\n            if (textEditor == null) return;\r\n            UpdateApplicationTitle(textEditor);\r\n            UpdateFileModificationStateIndicator(textEditor);\r\n            UpdatePathIndicator(textEditor);\r\n            UpdateEditorModificationIndicator(textEditor);\r\n            UpdateLineColumnIndicator(textEditor);\r\n            UpdateFontZoomIndicator(textEditor);\r\n            UpdateLineEndingIndicator(textEditor.GetLineEnding());\r\n            UpdateEncodingIndicator(textEditor.GetEncoding());\r\n            UpdateShadowWindowIndicator();\r\n        }\r\n\r\n        public void ShowHideStatusBar(bool showStatusBar)\r\n        {\r\n            if (showStatusBar)\r\n            {\r\n                if (StatusBar == null)\r\n                {\r\n                    FindName(\"StatusBar\");\r\n                    BuildEncodingIndicatorFlyout();\r\n                } // Lazy loading\r\n\r\n                SetupStatusBar(NotepadsCore.GetSelectedTextEditor());\r\n            }\r\n            else\r\n            {\r\n                if (StatusBar != null)\r\n                {\r\n                    // If VS cannot find UnloadObject, ignore it. Reference: https://github.com/MicrosoftDocs/windows-uwp/issues/734\r\n                    UnloadObject(StatusBar);\r\n                }\r\n            }\r\n        }\r\n\r\n        private async void OnStatusBarVisibilityChanged(object sender, bool visible)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                if (ApplicationView.GetForCurrentView().ViewMode != ApplicationViewMode.CompactOverlay) ShowHideStatusBar(visible);\r\n            });\r\n        }\r\n\r\n        private void UpdateFileModificationStateIndicator(ITextEditor textEditor)\r\n        {\r\n            if (StatusBar == null) return;\r\n            if (textEditor.FileModificationState == FileModificationState.Untouched)\r\n            {\r\n                FileModificationStateIndicatorIcon.Glyph = \"\";\r\n                FileModificationStateIndicator.Visibility = Visibility.Collapsed;\r\n            }\r\n            else if (textEditor.FileModificationState == FileModificationState.Modified)\r\n            {\r\n                FileModificationStateIndicatorIcon.Glyph = \"\\uE7BA\"; // Warning Icon\r\n                ToolTipService.SetToolTip(FileModificationStateIndicator, _resourceLoader.GetString(\"TextEditor_FileModifiedOutsideIndicator_ToolTip\"));\r\n                FileModificationStateIndicator.Visibility = Visibility.Visible;\r\n            }\r\n            else if (textEditor.FileModificationState == FileModificationState.RenamedMovedOrDeleted)\r\n            {\r\n                FileModificationStateIndicatorIcon.Glyph = \"\\uE9CE\"; // Unknown Icon\r\n                ToolTipService.SetToolTip(FileModificationStateIndicator, _resourceLoader.GetString(\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\"));\r\n                FileModificationStateIndicator.Visibility = Visibility.Visible;\r\n            }\r\n        }\r\n\r\n        private void UpdatePathIndicator(ITextEditor textEditor)\r\n        {\r\n            if (StatusBar == null) return;\r\n            PathIndicator.Text = textEditor.EditingFilePath ?? textEditor.FileNamePlaceholder;\r\n\r\n            switch (textEditor.FileModificationState)\r\n            {\r\n                case FileModificationState.Untouched:\r\n                    ToolTipService.SetToolTip(PathIndicator, PathIndicator.Text);\r\n                    break;\r\n                case FileModificationState.Modified:\r\n                    ToolTipService.SetToolTip(PathIndicator, _resourceLoader.GetString(\"TextEditor_FileModifiedOutsideIndicator_ToolTip\"));\r\n                    break;\r\n                case FileModificationState.RenamedMovedOrDeleted:\r\n                    ToolTipService.SetToolTip(PathIndicator, _resourceLoader.GetString(\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\"));\r\n                    break;\r\n            }\r\n        }\r\n\r\n        private void UpdateEditorModificationIndicator(ITextEditor textEditor)\r\n        {\r\n            if (StatusBar == null) return;\r\n            if (textEditor.IsModified)\r\n            {\r\n                ModificationIndicator.Text = _resourceLoader.GetString(\"TextEditor_ModificationIndicator_Text\");\r\n                ModificationIndicator.Visibility = Visibility.Visible;\r\n                ModificationIndicator.IsTapEnabled = true;\r\n            }\r\n            else\r\n            {\r\n                ModificationIndicator.Text = string.Empty;\r\n                ModificationIndicator.Visibility = Visibility.Collapsed;\r\n                ModificationIndicator.IsTapEnabled = false;\r\n            }\r\n        }\r\n\r\n        private void UpdateEncodingIndicator(Encoding encoding)\r\n        {\r\n            if (StatusBar == null) return;\r\n            EncodingIndicator.Text = EncodingUtility.GetEncodingName(encoding);\r\n        }\r\n\r\n        private void UpdateLineEndingIndicator(LineEnding lineEnding)\r\n        {\r\n            if (StatusBar == null) return;\r\n            LineEndingIndicator.Text = LineEndingUtility.GetLineEndingDisplayText(lineEnding);\r\n        }\r\n\r\n        private void UpdateLineColumnIndicator(ITextEditor textEditor)\r\n        {\r\n            if (StatusBar == null) return;\r\n            textEditor.GetLineColumnSelection(out var startLineIndex, out _, out var startColumn, out _, out var selectedCount, out _);\r\n\r\n            var wordSelected = selectedCount > 1\r\n                ? _resourceLoader.GetString(\"TextEditor_LineColumnIndicator_FullText_PluralSelectedWord\")\r\n                : _resourceLoader.GetString(\"TextEditor_LineColumnIndicator_FullText_SingularSelectedWord\");\r\n\r\n            LineColumnIndicator.Text = selectedCount == 0\r\n                ? string.Format(_resourceLoader.GetString(\"TextEditor_LineColumnIndicator_ShortText\"), startLineIndex, startColumn)\r\n                : string.Format(_resourceLoader.GetString(\"TextEditor_LineColumnIndicator_FullText\"), startLineIndex, startColumn,\r\n                    selectedCount, wordSelected);\r\n        }\r\n\r\n        private void UpdateFontZoomIndicator(ITextEditor textEditor)\r\n        {\r\n            if (StatusBar == null) return;\r\n            var fontZoomFactor = Math.Round(textEditor.GetFontZoomFactor());\r\n            FontZoomIndicator.Text = fontZoomFactor.ToString(CultureInfo.InvariantCulture) + \"%\";\r\n            FontZoomSlider.Value = fontZoomFactor;\r\n        }\r\n\r\n        private void UpdateShadowWindowIndicator()\r\n        {\r\n            if (StatusBar == null) return;\r\n            ShadowWindowIndicator.Visibility = !App.IsPrimaryInstance ? Visibility.Visible : Visibility.Collapsed;\r\n            if (ShadowWindowIndicator.Visibility == Visibility.Visible)\r\n            {\r\n                ToolTipService.SetToolTip(ShadowWindowIndicator, _resourceLoader.GetString(\"App_ShadowWindowIndicator_Description\"));\r\n            }\r\n        }\r\n\r\n        private async void ModificationFlyoutSelection_OnClick(object sender, RoutedEventArgs e)\r\n        {\r\n            if (!(sender is MenuFlyoutItem item)) return;\r\n\r\n            var selectedTextEditor = NotepadsCore.GetSelectedTextEditor();\r\n            if (selectedTextEditor == null) return;\r\n\r\n            switch ((string)item.Tag)\r\n            {\r\n                case \"PreviewTextChanges\":\r\n                    NotepadsCore.GetSelectedTextEditor().OpenSideBySideDiffViewer();\r\n                    break;\r\n                case \"RevertAllChanges\":\r\n                    var fileName = selectedTextEditor.EditingFileName ?? selectedTextEditor.FileNamePlaceholder;\r\n                    var revertAllChangesConfirmationDialog = new RevertAllChangesConfirmationDialog(\r\n                        fileName,\r\n                        confirmedAction: () =>\r\n                         {\r\n                             selectedTextEditor.CloseSideBySideDiffViewer();\r\n                             NotepadsCore.GetSelectedTextEditor().RevertAllChanges();\r\n                         });\r\n                    await DialogManager.OpenDialogAsync(revertAllChangesConfirmationDialog, awaitPreviousDialog: true);\r\n                    break;\r\n            }\r\n        }\r\n\r\n        private async void ReloadFileFromDiskAsync(object sender, RoutedEventArgs e)\r\n        {\r\n            var selectedEditor = NotepadsCore.GetSelectedTextEditor();\r\n\r\n            if (selectedEditor?.EditingFile != null &&\r\n                selectedEditor.FileModificationState != FileModificationState.RenamedMovedOrDeleted)\r\n            {\r\n                try\r\n                {\r\n                    await selectedEditor.ReloadFromEditingFileAsync();\r\n                    NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"TextEditor_NotificationMsg_FileReloaded\"), 1500);\r\n                }\r\n                catch (Exception ex)\r\n                {\r\n                    var fileOpenErrorDialog = new FileOpenErrorDialog(selectedEditor.EditingFilePath, ex.Message);\r\n                    await DialogManager.OpenDialogAsync(fileOpenErrorDialog, awaitPreviousDialog: false);\r\n                    if (!fileOpenErrorDialog.IsAborted)\r\n                    {\r\n                        NotepadsCore.FocusOnSelectedTextEditor();\r\n                    }\r\n                }\r\n            }\r\n        }\r\n\r\n        private void CopyFullPath(object sender, RoutedEventArgs e)\r\n        {\r\n            var selectedEditor = NotepadsCore.GetSelectedTextEditor();\r\n            if (selectedEditor?.EditingFile == null) return;\r\n\r\n            try\r\n            {\r\n                DataPackage dataPackage = new DataPackage { RequestedOperation = DataPackageOperation.Copy };\r\n                dataPackage.SetText(selectedEditor.EditingFile.Path);\r\n                Clipboard.SetContentWithOptions(dataPackage, new ClipboardContentOptions() { IsAllowedInHistory = true, IsRoamable = true });\r\n                Clipboard.Flush(); // This method allows the content to remain available after the application shuts down.\r\n                NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"TextEditor_NotificationMsg_FileNameOrPathCopied\"), 1500);\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(NotepadsMainPage)}] Failed to copy full path: {ex.Message}\");\r\n            }\r\n        }\r\n\r\n        private async void OpenContainingFolderAsync(object sender, RoutedEventArgs e)\r\n        {\r\n            var selectedEditor = NotepadsCore.GetSelectedTextEditor();\r\n            if (selectedEditor?.EditingFile == null) return;\r\n\r\n            try\r\n            {\r\n                await Launcher.LaunchFolderPathAsync(Path.GetDirectoryName(selectedEditor?.EditingFile.Path));\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                LoggingService.LogError($\"[{nameof(NotepadsMainPage)}] Failed to open containing folder: {ex.Message}\");\r\n            }\r\n        }\r\n\r\n        private async void RenameFileAsync(object sender, RoutedEventArgs e)\r\n        {\r\n            var selectedEditor = NotepadsCore.GetSelectedTextEditor();\r\n            if (selectedEditor?.EditingFile == null) return;\r\n            await RenameFileAsync(selectedEditor);\r\n        }\r\n\r\n        private void FontZoomIndicatorFlyoutSelection_OnClick(object sender, RoutedEventArgs e)\r\n        {\r\n            if (!(sender is AppBarButton button)) return;\r\n\r\n            var selectedTextEditor = NotepadsCore.GetSelectedTextEditor();\r\n            if (selectedTextEditor == null) return;\r\n\r\n            switch (button.Name)\r\n            {\r\n                case \"ZoomIn\":\r\n                    selectedTextEditor.SetFontZoomFactor(FontZoomSlider.Value % 10 > 0\r\n                        ? Math.Ceiling(FontZoomSlider.Value / 10) * 10\r\n                        : FontZoomSlider.Value + 10);\r\n                    break;\r\n                case \"ZoomOut\":\r\n                    selectedTextEditor.SetFontZoomFactor(FontZoomSlider.Value % 10 > 0\r\n                        ? Math.Floor(FontZoomSlider.Value / 10) * 10\r\n                        : FontZoomSlider.Value - 10);\r\n                    break;\r\n                case \"RestoreDefaultZoom\":\r\n                    selectedTextEditor.SetFontZoomFactor(100);\r\n                    FontZoomIndicatorFlyout.Hide();\r\n                    break;\r\n            }\r\n        }\r\n\r\n        private void FontZoomSlider_ValueChanged(object sender, RangeBaseValueChangedEventArgs e)\r\n        {\r\n            if (!(sender is Slider)) return;\r\n\r\n            var selectedTextEditor = NotepadsCore.GetSelectedTextEditor();\r\n            if (selectedTextEditor == null) return;\r\n\r\n            if (Math.Abs(e.NewValue - e.OldValue) > 0.1)\r\n            {\r\n                selectedTextEditor.SetFontZoomFactor(e.NewValue);\r\n            }\r\n        }\r\n\r\n        private void LineEndingSelection_OnClick(object sender, RoutedEventArgs e)\r\n        {\r\n            if (!(sender is MenuFlyoutItem item)) return;\r\n\r\n            var lineEnding = LineEndingUtility.GetLineEndingByName((string)item.Tag);\r\n            var textEditor = NotepadsCore.GetSelectedTextEditor();\r\n            if (textEditor != null)\r\n            {\r\n                NotepadsCore.ChangeLineEnding(textEditor, lineEnding);\r\n            }\r\n        }\r\n\r\n        private void StatusBarComponent_OnTapped(object sender, TappedRoutedEventArgs e)\r\n        {\r\n            var selectedEditor = NotepadsCore.GetSelectedTextEditor();\r\n            if (selectedEditor == null) return;\r\n\r\n            if (sender == FileModificationStateIndicator)\r\n            {\r\n                FileModificationStateIndicatorClicked(selectedEditor);\r\n            }\r\n            else if (sender == PathIndicator && !string.IsNullOrEmpty(PathIndicator.Text))\r\n            {\r\n                PathIndicatorClicked(selectedEditor);\r\n            }\r\n            else if (sender == ModificationIndicator)\r\n            {\r\n                ModificationIndicatorClicked(selectedEditor);\r\n            }\r\n            else if (sender == LineColumnIndicator)\r\n            {\r\n                LineColumnIndicatorClicked(selectedEditor);\r\n            }\r\n            else if (sender == FontZoomIndicator)\r\n            {\r\n                FontZoomIndicatorClicked(selectedEditor);\r\n            }\r\n            else if (sender == LineEndingIndicator)\r\n            {\r\n                LineEndingIndicatorClicked(selectedEditor);\r\n            }\r\n            else if (sender == EncodingIndicator)\r\n            {\r\n                EncodingIndicatorClicked(selectedEditor);\r\n            }\r\n            else if (sender == ShadowWindowIndicator)\r\n            {\r\n                ShadowWindowIndicatorClicked();\r\n            }\r\n        }\r\n\r\n        private void FileModificationStateIndicatorClicked(ITextEditor selectedEditor)\r\n        {\r\n            if (selectedEditor.FileModificationState == FileModificationState.Modified)\r\n            {\r\n                FileModificationStateIndicator.ContextFlyout.ShowAt(FileModificationStateIndicator);\r\n            }\r\n            else if (selectedEditor.FileModificationState == FileModificationState.RenamedMovedOrDeleted)\r\n            {\r\n                NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\"), 2500);\r\n            }\r\n        }\r\n\r\n        private async void PathIndicatorClicked(ITextEditor selectedEditor)\r\n        {\r\n            NotepadsCore.FocusOnSelectedTextEditor();\r\n\r\n            PathIndicatorFlyoutCopyFullPathFlyoutItem.Text = _resourceLoader.GetString(\"Tab_ContextFlyout_CopyFullPathButtonDisplayText\");\r\n            PathIndicatorFlyoutOpenContainingFolderFlyoutItem.Text = _resourceLoader.GetString(\"Tab_ContextFlyout_OpenContainingFolderButtonDisplayText\");\r\n            PathIndicatorFlyoutFileRenameFlyoutItem.Text = _resourceLoader.GetString(\"Tab_ContextFlyout_RenameButtonDisplayText\");\r\n\r\n            if (selectedEditor.FileModificationState == FileModificationState.RenamedMovedOrDeleted ||\r\n                (selectedEditor.EditingFile != null && FileSystemUtility.IsFileReadOnly(selectedEditor.EditingFile)))\r\n            {\r\n                PathIndicatorFlyoutFileRenameFlyoutItem.IsEnabled = false;\r\n            }\r\n            else\r\n            {\r\n                PathIndicatorFlyoutFileRenameFlyoutItem.IsEnabled = true;\r\n            }\r\n\r\n            if (App.IsGameBarWidget)\r\n            {\r\n                PathIndicatorFlyoutOpenContainingFolderFlyoutItem.Visibility = Visibility.Collapsed;\r\n            }\r\n\r\n            if (selectedEditor.FileModificationState == FileModificationState.Untouched)\r\n            {\r\n                if (selectedEditor.EditingFile != null)\r\n                {\r\n                    PathIndicator.ContextFlyout.ShowAt(FileModificationStateIndicator);\r\n                }\r\n                else\r\n                {\r\n                    await RenameFileAsync(selectedEditor);\r\n                }\r\n            }\r\n            else if (selectedEditor.FileModificationState == FileModificationState.Modified)\r\n            {\r\n                PathIndicator.ContextFlyout.ShowAt(FileModificationStateIndicator);\r\n            }\r\n            else if (selectedEditor.FileModificationState == FileModificationState.RenamedMovedOrDeleted)\r\n            {\r\n                NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\"), 2500);\r\n            }\r\n        }\r\n\r\n        private void ModificationIndicatorClicked(ITextEditor selectedEditor)\r\n        {\r\n            PreviewTextChangesFlyoutItem.IsEnabled =\r\n                !selectedEditor.NoChangesSinceLastSaved(compareTextOnly: true) &&\r\n                selectedEditor.Mode != TextEditorMode.DiffPreview;\r\n            ModificationIndicator?.ContextFlyout.ShowAt(ModificationIndicator);\r\n        }\r\n\r\n        private static void LineColumnIndicatorClicked(ITextEditor selectedEditor)\r\n        {\r\n            selectedEditor.ShowGoToControl();\r\n        }\r\n\r\n        private void FontZoomIndicatorClicked(ITextEditor _)\r\n        {\r\n            FontZoomIndicator?.ContextFlyout.ShowAt(FontZoomIndicator);\r\n            FontZoomIndicatorFlyout.Opened += (sflyout, eflyout) => ToolTipService.SetToolTip(RestoreDefaultZoom, null);\r\n        }\r\n\r\n        private void LineEndingIndicatorClicked(ITextEditor _)\r\n        {\r\n            LineEndingIndicator?.ContextFlyout.ShowAt(LineEndingIndicator);\r\n        }\r\n\r\n        private void EncodingIndicatorClicked(ITextEditor selectedEditor)\r\n        {\r\n            var reopenWithEncoding = EncodingSelectionFlyout?.Items?.FirstOrDefault(i => i.Name.Equals(\"ReopenWithEncoding\"));\r\n            if (reopenWithEncoding != null)\r\n            {\r\n                reopenWithEncoding.IsEnabled = selectedEditor.EditingFile != null &&\r\n                                               selectedEditor.FileModificationState !=\r\n                                               FileModificationState.RenamedMovedOrDeleted;\r\n            }\r\n\r\n            EncodingIndicator?.ContextFlyout.ShowAt(EncodingIndicator);\r\n        }\r\n\r\n        private void ShadowWindowIndicatorClicked()\r\n        {\r\n            NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"App_ShadowWindowIndicator_Description\"), 4000);\r\n        }\r\n\r\n        private void StatusBarFlyout_OnClosing(FlyoutBase sender, FlyoutBaseClosingEventArgs args)\r\n        {\r\n            NotepadsCore.FocusOnSelectedTextEditor();\r\n        }\r\n\r\n        private void BuildEncodingIndicatorFlyout()\r\n        {\r\n            if (StatusBar == null) return;\r\n\r\n            if (EncodingSelectionFlyout.Items?.Count > 0)\r\n            {\r\n                return;\r\n            }\r\n\r\n            var reopenWithEncoding = new MenuFlyoutSubItem()\r\n            {\r\n                Text = _resourceLoader.GetString(\"TextEditor_EncodingIndicator_FlyoutItem_ReopenWithEncoding\"),\r\n                FlowDirection = FlowDirection.RightToLeft,\r\n                Name = \"ReopenWithEncoding\"\r\n            };\r\n\r\n            var saveWithEncoding = new MenuFlyoutSubItem()\r\n            {\r\n                Text = _resourceLoader.GetString(\"TextEditor_EncodingIndicator_FlyoutItem_SaveWithEncoding\"),\r\n                FlowDirection = FlowDirection.RightToLeft,\r\n                Name = \"SaveWithEncoding\"\r\n            };\r\n\r\n            // Add auto guess Encoding option in ReopenWithEncoding menu\r\n            reopenWithEncoding.Items?.Add(CreateAutoGuessEncodingItem());\r\n            reopenWithEncoding.Items?.Add(new MenuFlyoutSeparator());\r\n\r\n            // Add suggested ANSI encodings\r\n            var appAndSystemANSIEncodings = new HashSet<Encoding>();\r\n\r\n            if (EncodingUtility.TryGetSystemDefaultANSIEncoding(out var systemDefaultANSIEncoding))\r\n            {\r\n                appAndSystemANSIEncodings.Add(systemDefaultANSIEncoding);\r\n            }\r\n            if (EncodingUtility.TryGetCurrentCultureANSIEncoding(out var currentCultureANSIEncoding))\r\n            {\r\n                appAndSystemANSIEncodings.Add(currentCultureANSIEncoding);\r\n            }\r\n\r\n            if (appAndSystemANSIEncodings.Count > 0)\r\n            {\r\n                foreach (var encoding in appAndSystemANSIEncodings)\r\n                {\r\n                    AddEncodingItem(encoding, reopenWithEncoding, saveWithEncoding);\r\n                }\r\n                reopenWithEncoding.Items?.Add(new MenuFlyoutSeparator());\r\n                saveWithEncoding.Items?.Add(new MenuFlyoutSeparator());\r\n            }\r\n\r\n            // Add Unicode encodings\r\n            var unicodeEncodings = new List<Encoding>\r\n            {\r\n                new UTF8Encoding(false), // \"UTF-8\"\r\n                new UTF8Encoding(true), // \"UTF-8-BOM\"\r\n                new UnicodeEncoding(false, true), // \"UTF-16 LE BOM\"\r\n                new UnicodeEncoding(true, true), // \"UTF-16 BE BOM\"\r\n            };\r\n\r\n            foreach (var encoding in unicodeEncodings)\r\n            {\r\n                AddEncodingItem(encoding, reopenWithEncoding, saveWithEncoding);\r\n            }\r\n\r\n            // Add legacy ANSI encodings\r\n            var ANSIEncodings = EncodingUtility.GetAllSupportedANSIEncodings();\r\n            if (ANSIEncodings.Length > 0)\r\n            {\r\n                reopenWithEncoding.Items?.Add(new MenuFlyoutSeparator());\r\n                saveWithEncoding.Items?.Add(new MenuFlyoutSeparator());\r\n\r\n                var reopenWithEncodingOthers = new MenuFlyoutSubItem()\r\n                {\r\n                    Text = _resourceLoader.GetString(\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\"),\r\n                    FlowDirection = FlowDirection.RightToLeft,\r\n                };\r\n\r\n                var saveWithEncodingOthers = new MenuFlyoutSubItem()\r\n                {\r\n                    Text = _resourceLoader.GetString(\"TextEditor_EncodingIndicator_FlyoutItem_MoreEncodings\"),\r\n                    FlowDirection = FlowDirection.RightToLeft,\r\n                };\r\n\r\n                foreach (var encoding in ANSIEncodings)\r\n                {\r\n                    AddEncodingItem(encoding, reopenWithEncodingOthers, saveWithEncodingOthers);\r\n                }\r\n\r\n                reopenWithEncoding.Items?.Add(reopenWithEncodingOthers);\r\n                saveWithEncoding.Items?.Add(saveWithEncodingOthers);\r\n            }\r\n\r\n            EncodingSelectionFlyout.Items?.Add(reopenWithEncoding);\r\n            EncodingSelectionFlyout.Items?.Add(saveWithEncoding);\r\n        }\r\n\r\n        private MenuFlyoutItem CreateAutoGuessEncodingItem()\r\n        {\r\n            var autoGuessEncodingItem = new MenuFlyoutItem()\r\n            {\r\n                Text = _resourceLoader.GetString(\"TextEditor_EncodingIndicator_FlyoutItem_AutoGuessEncoding\"),\r\n                FlowDirection = FlowDirection.LeftToRight,\r\n            };\r\n            autoGuessEncodingItem.Click += async (sender, args) =>\r\n            {\r\n                var selectedTextEditor = NotepadsCore.GetSelectedTextEditor();\r\n                var file = selectedTextEditor?.EditingFile;\r\n                if (file == null || selectedTextEditor.FileModificationState == FileModificationState.RenamedMovedOrDeleted) return;\r\n\r\n                Encoding encoding = null;\r\n\r\n                try\r\n                {\r\n                    using (var inputStream = await file.OpenReadAsync())\r\n                    using (var stream = inputStream.AsStreamForRead())\r\n                    {\r\n                        if (FileSystemUtility.TryGuessEncoding(stream, out var detectedEncoding))\r\n                        {\r\n                            encoding = detectedEncoding;\r\n                        }\r\n                    }\r\n                }\r\n                catch (Exception)\r\n                {\r\n                    encoding = null;\r\n                }\r\n\r\n                if (encoding == null)\r\n                {\r\n                    NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"TextEditor_NotificationMsg_EncodingCannotBeDetermined\"), 2500);\r\n                    return;\r\n                }\r\n\r\n                try\r\n                {\r\n                    await selectedTextEditor.ReloadFromEditingFileAsync(encoding);\r\n                    NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"TextEditor_NotificationMsg_FileReloaded\"), 1500);\r\n                }\r\n                catch (Exception ex)\r\n                {\r\n                    var fileOpenErrorDialog = new FileOpenErrorDialog(selectedTextEditor.EditingFilePath, ex.Message);\r\n                    await DialogManager.OpenDialogAsync(fileOpenErrorDialog, awaitPreviousDialog: false);\r\n                    if (!fileOpenErrorDialog.IsAborted)\r\n                    {\r\n                        NotepadsCore.FocusOnSelectedTextEditor();\r\n                    }\r\n                }\r\n            };\r\n            return autoGuessEncodingItem;\r\n        }\r\n\r\n        private void AddEncodingItem(Encoding encoding, MenuFlyoutSubItem reopenWithEncoding, MenuFlyoutSubItem saveWithEncoding)\r\n        {\r\n            const int EncodingMenuFlyoutItemHeight = 30;\r\n            const int EncodingMenuFlyoutItemFontSize = 14;\r\n\r\n            var reopenWithEncodingItem = new MenuFlyoutItem()\r\n            {\r\n                Text = EncodingUtility.GetEncodingName(encoding),\r\n                FlowDirection = FlowDirection.LeftToRight,\r\n                Height = EncodingMenuFlyoutItemHeight,\r\n                FontSize = EncodingMenuFlyoutItemFontSize\r\n            };\r\n            reopenWithEncodingItem.Click += async (sender, args) =>\r\n            {\r\n                var selectedTextEditor = NotepadsCore.GetSelectedTextEditor();\r\n                if (selectedTextEditor != null)\r\n                {\r\n                    try\r\n                    {\r\n                        await selectedTextEditor.ReloadFromEditingFileAsync(encoding);\r\n                        NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"TextEditor_NotificationMsg_FileReloaded\"), 1500);\r\n                    }\r\n                    catch (Exception ex)\r\n                    {\r\n                        var fileOpenErrorDialog = new FileOpenErrorDialog(selectedTextEditor.EditingFilePath, ex.Message);\r\n                        await DialogManager.OpenDialogAsync(fileOpenErrorDialog, awaitPreviousDialog: false);\r\n                        if (!fileOpenErrorDialog.IsAborted)\r\n                        {\r\n                            NotepadsCore.FocusOnSelectedTextEditor();\r\n                        }\r\n                    }\r\n                }\r\n            };\r\n            reopenWithEncoding.Items?.Add(reopenWithEncodingItem);\r\n\r\n            var saveWithEncodingItem = new MenuFlyoutItem()\r\n            {\r\n                Text = EncodingUtility.GetEncodingName(encoding),\r\n                FlowDirection = FlowDirection.LeftToRight,\r\n                Height = EncodingMenuFlyoutItemHeight,\r\n                FontSize = EncodingMenuFlyoutItemFontSize\r\n            };\r\n            saveWithEncodingItem.Click += (sender, args) =>\r\n            {\r\n                NotepadsCore.GetSelectedTextEditor()?.TryChangeEncoding(encoding);\r\n            };\r\n            saveWithEncoding.Items?.Add(saveWithEncodingItem);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Views/MainPage/NotepadsMainPage.Theme.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Views.MainPage\r\n{\r\n    using Windows.UI;\r\n    using Windows.UI.ViewManagement;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Media;\r\n    using Notepads.Extensions;\r\n    using Notepads.Services;\r\n\r\n    public sealed partial class NotepadsMainPage\r\n    {\r\n        private void InitializeThemeSettings()\r\n        {\r\n            ThemeSettingsService.SetRequestedTheme(RootGrid, Window.Current.Content, ApplicationView.GetForCurrentView().TitleBar);\r\n            ThemeSettingsService.OnBackgroundChanged += ThemeSettingsService_OnBackgroundChanged;\r\n            ThemeSettingsService.OnThemeChanged += ThemeSettingsService_OnThemeChanged;\r\n            ThemeSettingsService.OnAccentColorChanged += ThemeSettingsService_OnAccentColorChanged;\r\n        }\r\n\r\n        private async void ThemeSettingsService_OnAccentColorChanged(object sender, Color color)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(ThemeSettingsService.SetRequestedAccentColor);\r\n        }\r\n\r\n        private async void ThemeSettingsService_OnThemeChanged(object sender, ElementTheme theme)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                ThemeSettingsService.SetRequestedTheme(RootGrid, Window.Current.Content, ApplicationView.GetForCurrentView().TitleBar);\r\n            });\r\n        }\r\n\r\n        private async void ThemeSettingsService_OnBackgroundChanged(object sender, Brush backgroundBrush)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                RootGrid.Background = backgroundBrush;\r\n            });\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Views/MainPage/NotepadsMainPage.ViewModes.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Views.MainPage\r\n{\r\n    using System;\r\n    using Windows.UI.ViewManagement;\r\n    using Windows.UI.Xaml;\r\n    using Notepads.Services;\r\n    using Windows.Foundation;\r\n\r\n    public sealed partial class NotepadsMainPage\r\n    {\r\n        private const int TitleBarReservedAreaDefaultWidth = 180;\r\n\r\n        private const int TitleBarReservedAreaCompactOverlayWidth = 100;\r\n\r\n        // Show hide ExitCompactOverlayButton and status bar based on current ViewMode\r\n        // Reset TitleBarReservedArea accordingly\r\n        private void WindowSizeChanged(object sender, Windows.UI.Core.WindowSizeChangedEventArgs e)\r\n        {\r\n            if (ApplicationView.GetForCurrentView().ViewMode == ApplicationViewMode.CompactOverlay)\r\n            {\r\n                if (ExitCompactOverlayButton.Visibility == Visibility.Collapsed)\r\n                {\r\n                    TitleBarReservedArea.Width = TitleBarReservedAreaCompactOverlayWidth;\r\n                    ExitCompactOverlayButton.Visibility = Visibility.Visible;\r\n                    MainMenuButton.Visibility = Visibility.Collapsed;\r\n                    if (AppSettingsService.ShowStatusBar) ShowHideStatusBar(false);\r\n                }\r\n            }\r\n            else // Default or FullScreen\r\n            {\r\n                if (ExitCompactOverlayButton.Visibility == Visibility.Visible)\r\n                {\r\n                    TitleBarReservedArea.Width = TitleBarReservedAreaDefaultWidth;\r\n                    ExitCompactOverlayButton.Visibility = Visibility.Collapsed;\r\n                    MainMenuButton.Visibility = Visibility.Visible;\r\n                    if (AppSettingsService.ShowStatusBar) ShowHideStatusBar(true);\r\n                }\r\n            }\r\n        }\r\n\r\n        private static async void EnterExitCompactOverlayMode()\r\n        {\r\n            if (App.IsGameBarWidget) return;\r\n\r\n            if (ApplicationView.GetForCurrentView().ViewMode == ApplicationViewMode.Default)\r\n            {\r\n                var compactOverlayViewModePreferences = ViewModePreferences.CreateDefault(ApplicationViewMode.Default);\r\n                compactOverlayViewModePreferences.CustomSize = new Size(1000, 1000);\r\n                var modeSwitched = await ApplicationView.GetForCurrentView()\r\n                    .TryEnterViewModeAsync(ApplicationViewMode.CompactOverlay, compactOverlayViewModePreferences);\r\n                if (!modeSwitched)\r\n                {\r\n                    LoggingService.LogError($\"[{nameof(NotepadsMainPage)}] Failed to enter CompactOverlay view mode.\");\r\n                    AnalyticsService.TrackEvent(\"FailedToEnterCompactOverlayViewMode\");\r\n                }\r\n            }\r\n            else if (ApplicationView.GetForCurrentView().ViewMode == ApplicationViewMode.CompactOverlay)\r\n            {\r\n                var modeSwitched = await ApplicationView.GetForCurrentView()\r\n                    .TryEnterViewModeAsync(ApplicationViewMode.Default);\r\n                if (!modeSwitched)\r\n                {\r\n                    LoggingService.LogError($\"[{nameof(NotepadsMainPage)}] Failed to enter Default view mode.\");\r\n                    AnalyticsService.TrackEvent(\"FailedToEnterDefaultViewMode\");\r\n                }\r\n            }\r\n        }\r\n\r\n        private void EnterExitFullScreenMode()\r\n        {\r\n            if (App.IsGameBarWidget) return;\r\n\r\n            if (ApplicationView.GetForCurrentView().IsFullScreenMode)\r\n            {\r\n                LoggingService.LogInfo($\"[{nameof(NotepadsMainPage)}] Existing full screen view mode.\", consoleOnly: true);\r\n                ApplicationView.GetForCurrentView().ExitFullScreenMode();\r\n            }\r\n            else\r\n            {\r\n                if (ApplicationView.GetForCurrentView().TryEnterFullScreenMode())\r\n                {\r\n                    LoggingService.LogInfo($\"[{nameof(NotepadsMainPage)}] Entered full screen view mode.\", consoleOnly: true);\r\n                    NotificationCenter.Instance.PostNotification(\r\n                        _resourceLoader.GetString(\"TextEditor_NotificationMsg_ExitFullScreenHint\"), 3000);\r\n                }\r\n                else\r\n                {\r\n                    LoggingService.LogError($\"[{nameof(NotepadsMainPage)}] Failed to enter full screen view mode.\");\r\n                    AnalyticsService.TrackEvent(\"FailedToEnterFullScreenViewMode\");\r\n                }\r\n            }\r\n        }\r\n\r\n        private void ExitCompactOverlayButton_OnClick(object sender, RoutedEventArgs e)\r\n        {\r\n            if (ApplicationView.GetForCurrentView().ViewMode == ApplicationViewMode.CompactOverlay)\r\n            {\r\n                EnterExitCompactOverlayMode();\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Views/MainPage/NotepadsMainPage.xaml",
    "content": "﻿<Page\r\n    x:Class=\"Notepads.Views.MainPage.NotepadsMainPage\"\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\"\r\n    xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"\r\n    xmlns:controls=\"using:Notepads.Controls\"\r\n    xmlns:ui=\"using:Microsoft.Toolkit.Uwp.UI\"\r\n    xmlns:Interactivity=\"using:Microsoft.Xaml.Interactivity\"\r\n    xmlns:Core=\"using:Microsoft.Xaml.Interactions.Core\"\r\n    mc:Ignorable=\"d\"\r\n    NavigationCacheMode=\"Required\"\r\n    Background=\"{ThemeResource ApplicationPageBackgroundThemeBrush}\">\r\n\r\n    <Grid x:Name=\"RootGrid\" Background=\"Transparent\">\r\n        <Grid.BackgroundTransition>\r\n            <BrushTransition />\r\n        </Grid.BackgroundTransition>\r\n\r\n        <Grid.RowDefinitions>\r\n            <RowDefinition Height=\"*\"/>\r\n            <RowDefinition Height=\"Auto\"/>\r\n            <RowDefinition Height=\"Auto\"/>\r\n        </Grid.RowDefinitions>\r\n\r\n        <SplitView x:Name=\"RootSplitView\"\r\n                   Grid.Row=\"0\"\r\n                   AllowDrop=\"True\" \r\n                   IsPaneOpen=\"False\"\r\n                   OpenPaneLength=\"385\"\r\n                   DisplayMode=\"Overlay\"\r\n                   PaneBackground=\"Transparent\"\r\n                   PanePlacement=\"Right\"\r\n                   Style=\"{StaticResource CustomSplitViewStyle}\">\r\n\r\n            <SplitView.Content>\r\n                <Grid>\r\n                    <controls:SetsView x:Name=\"Sets\"\r\n                                       TabIndex=\"0\"\r\n                                       SetsWidthBehavior=\"Equal\"\r\n                                       CanCloseSets=\"True\"\r\n                                       IsCloseButtonOverlay=\"False\"\r\n                                       CanDragItems=\"True\"\r\n                                       CanReorderItems=\"True\"\r\n                                       AllowDrop=\"True\"\r\n                                       Template=\"{StaticResource SetsViewTemplate}\"\r\n                                       Background=\"Transparent\"\r\n                                       Grid.ColumnSpan=\"2\"\r\n                                       Loaded=\"Sets_Loaded\">\r\n\r\n                        <!--<sets:SetsView.KeyboardAccelerators>\r\n                            <KeyboardAccelerator Key=\"N\" Modifiers=\"Control\" Invoked=\"KeyboardAccelerator_Ctrl_N_OnInvoked\"/>\r\n                            <KeyboardAccelerator Key=\"O\" Modifiers=\"Control\" Invoked=\"KeyboardAccelerator_Ctrl_O_OnInvoked\"/>\r\n                            <KeyboardAccelerator Key=\"Tab\" Modifiers=\"Control\" Invoked=\"KeyboardAccelerator_Ctrl_Tab_OnInvoked\"/>\r\n                            <KeyboardAccelerator Key=\"Tab\" Modifiers=\"Control,Shift\" Invoked=\"KeyboardAccelerator_Ctrl_Shift_Tab_OnInvoked\"/>\r\n                        </sets:SetsView.KeyboardAccelerators>-->\r\n\r\n                        <controls:SetsView.Resources>\r\n                            <x:Double x:Key=\"SetsViewItemHeaderMinHeight\">32</x:Double>\r\n                            <x:Double x:Key=\"SetsViewItemHeaderMinWidth\">90</x:Double>\r\n                            <x:Double x:Key=\"SetsViewItemHeaderMaxWidth\">210</x:Double>\r\n                            <Storyboard x:Name=\"NewSetButtonOpacityAnimation\">\r\n                                <DoubleAnimation\r\n                                    Storyboard.TargetName=\"NewSetButton\"\r\n                                    Storyboard.TargetProperty=\"Opacity\"\r\n                                    From=\"0.0\" To=\"1.0\" Duration=\"0:0:1\"/>\r\n                            </Storyboard>\r\n                        </controls:SetsView.Resources>\r\n\r\n                        <controls:SetsView.SetsStartHeader>\r\n                            <Grid>\r\n                                <Grid.ColumnDefinitions>\r\n                                    <ColumnDefinition Width=\"*\"/>\r\n                                    <ColumnDefinition Width=\"*\"/>\r\n                                </Grid.ColumnDefinitions>\r\n\r\n                                <Button x:Name=\"ExitCompactOverlayButton\"\r\n                                        Grid.Column=\"0\"\r\n                                        IsTabStop=\"False\"\r\n                                        Width=\"42\"\r\n                                        Height=\"{StaticResource SetsViewItemHeaderMinHeight}\"\r\n                                        Margin=\"0,0,0,0\"\r\n                                        BorderThickness=\"0\"\r\n                                        Background=\"Transparent\"\r\n                                        Click=\"ExitCompactOverlayButton_OnClick\"\r\n                                        Visibility=\"Collapsed\"\r\n                                        Style=\"{ThemeResource ButtonRevealStyle}\">\r\n                                    <Viewbox MaxWidth=\"18\"\r\n                                             MaxHeight=\"18\">\r\n                                        <FontIcon FontFamily=\"Segoe MDL2 Assets\"\r\n                                                  Glyph=\"&#xE944;\" />\r\n                                    </Viewbox>\r\n                                </Button>\r\n\r\n                                <Button x:Name=\"MainMenuButton\"\r\n                                        Grid.Column=\"1\"\r\n                                        IsTabStop=\"False\"\r\n                                        Width=\"42\"\r\n                                        Height=\"{StaticResource SetsViewItemHeaderMinHeight}\"\r\n                                        Margin=\"0,0,-1,0\"\r\n                                        BorderThickness=\"0\"\r\n                                        Background=\"Transparent\"\r\n                                        Style=\"{ThemeResource ButtonRevealStyle}\"\r\n                                        Padding=\"0\">\r\n                                    <Viewbox MaxWidth=\"16\" MaxHeight=\"16\">\r\n                                        <SymbolIcon Symbol=\"GlobalNavigationButton\"/>\r\n                                    </Viewbox>\r\n                                    <FlyoutBase.AttachedFlyout>\r\n                                        <MenuFlyout x:Name=\"MainMenuButtonFlyout\"\r\n                                                    Placement=\"BottomEdgeAlignedLeft\">\r\n                                            <MenuFlyoutItem x:Uid=\"MainMenu_Button_New\" x:Name=\"MenuCreateNewButton\" Icon=\"NewFolder\" AccessKey=\"N\">\r\n                                                <MenuFlyoutItem.KeyboardAccelerators>\r\n                                                    <KeyboardAccelerator Key=\"N\" Modifiers=\"Control\" IsEnabled=\"False\"/>\r\n                                                </MenuFlyoutItem.KeyboardAccelerators>\r\n                                            </MenuFlyoutItem>\r\n                                            <MenuFlyoutItem x:Uid=\"MainMenu_Button_New_Window\" x:Name=\"MenuCreateNewWindowButton\" AccessKey=\"N\">\r\n                                                <MenuFlyoutItem.Icon>\r\n                                                    <FontIcon FontFamily=\"Segoe MDL2 Assets\" Glyph=\"&#xE737;\"/>\r\n                                                </MenuFlyoutItem.Icon>\r\n                                                <MenuFlyoutItem.KeyboardAccelerators>\r\n                                                    <KeyboardAccelerator Key=\"N\" Modifiers=\"Control,Shift\" IsEnabled=\"False\"/>\r\n                                                </MenuFlyoutItem.KeyboardAccelerators>\r\n                                            </MenuFlyoutItem>\r\n                                            <MenuFlyoutItem x:Uid=\"MainMenu_Button_Open\" x:Name=\"MenuOpenFileButton\" Icon=\"OpenFile\" AccessKey=\"O\" >\r\n                                                <MenuFlyoutItem.KeyboardAccelerators>\r\n                                                    <KeyboardAccelerator Key=\"O\" Modifiers=\"Control\" IsEnabled=\"False\"/>\r\n                                                </MenuFlyoutItem.KeyboardAccelerators>\r\n                                            </MenuFlyoutItem>\r\n                                            <MenuFlyoutSeparator />\r\n                                            <MenuFlyoutItem x:Uid=\"MainMenu_Button_Save\" x:Name=\"MenuSaveButton\" Icon=\"Save\">\r\n                                                <MenuFlyoutItem.KeyboardAccelerators>\r\n                                                    <KeyboardAccelerator Key=\"S\" Modifiers=\"Control\" IsEnabled=\"False\"/>\r\n                                                </MenuFlyoutItem.KeyboardAccelerators>\r\n                                            </MenuFlyoutItem>\r\n                                            <MenuFlyoutItem x:Uid=\"MainMenu_Button_SaveAs\" x:Name=\"MenuSaveAsButton\">\r\n                                                <MenuFlyoutItem.Icon>\r\n                                                    <FontIcon Glyph=\"&#xE792;\"/>\r\n                                                </MenuFlyoutItem.Icon>\r\n                                                <MenuFlyoutItem.KeyboardAccelerators>\r\n                                                    <KeyboardAccelerator Key=\"S\" Modifiers=\"Control,Shift\" IsEnabled=\"False\"/>\r\n                                                </MenuFlyoutItem.KeyboardAccelerators>\r\n                                            </MenuFlyoutItem>\r\n                                            <MenuFlyoutItem x:Uid=\"MainMenu_Button_SaveAll\" x:Name=\"MenuSaveAllButton\">\r\n                                                <MenuFlyoutItem.Icon>\r\n                                                    <FontIcon Glyph=\"&#xEA35;\"/>\r\n                                                </MenuFlyoutItem.Icon>\r\n                                            </MenuFlyoutItem>\r\n                                            <MenuFlyoutSeparator />\r\n                                            <MenuFlyoutItem x:Uid=\"MainMenu_Button_Find\" x:Name=\"MenuFindButton\" Icon=\"Find\">\r\n                                                <MenuFlyoutItem.KeyboardAccelerators>\r\n                                                    <KeyboardAccelerator Key=\"F\" Modifiers=\"Control\" IsEnabled=\"False\"/>\r\n                                                </MenuFlyoutItem.KeyboardAccelerators>\r\n                                            </MenuFlyoutItem>\r\n                                            <MenuFlyoutItem x:Uid=\"MainMenu_Button_Replace\" x:Name=\"MenuReplaceButton\">\r\n                                                <MenuFlyoutItem.Icon>\r\n                                                    <FontIcon Glyph=\"&#xE8AB;\" />\r\n                                                </MenuFlyoutItem.Icon>\r\n                                                <MenuFlyoutItem.KeyboardAccelerators>\r\n                                                    <KeyboardAccelerator Key=\"F\" Modifiers=\"Control,Shift\" IsEnabled=\"False\"/>\r\n                                                </MenuFlyoutItem.KeyboardAccelerators>\r\n                                            </MenuFlyoutItem>\r\n                                            <MenuFlyoutSeparator x:Name=\"MenuFullScreenSeparator\"/>\r\n                                            <MenuFlyoutItem Text=\"Enter Full Screen\" x:Name=\"MenuFullScreenButton\">\r\n                                                <MenuFlyoutItem.Icon>\r\n                                                    <FontIcon Glyph=\"&#xE740;\" />\r\n                                                </MenuFlyoutItem.Icon>\r\n                                                <MenuFlyoutItem.KeyboardAccelerators>\r\n                                                    <KeyboardAccelerator Key=\"F11\" IsEnabled=\"False\"/>\r\n                                                </MenuFlyoutItem.KeyboardAccelerators>\r\n                                            </MenuFlyoutItem>\r\n                                            <MenuFlyoutItem Text=\"CompactOverlay\" x:Name=\"MenuCompactOverlayButton\">\r\n                                                <MenuFlyoutItem.Icon>\r\n                                                    <FontIcon Glyph=\"&#xE8A7;\" />\r\n                                                </MenuFlyoutItem.Icon>\r\n                                                <MenuFlyoutItem.KeyboardAccelerators>\r\n                                                    <KeyboardAccelerator Key=\"F12\" IsEnabled=\"False\"/>\r\n                                                </MenuFlyoutItem.KeyboardAccelerators>\r\n                                            </MenuFlyoutItem>\r\n                                            <MenuFlyoutSeparator x:Name=\"MenuPrintSeparator\"/>\r\n                                            <MenuFlyoutItem x:Uid=\"MainMenu_Button_Print\" x:Name=\"MenuPrintButton\" Icon=\"Print\">\r\n                                                <MenuFlyoutItem.KeyboardAccelerators>\r\n                                                    <KeyboardAccelerator Key=\"P\" Modifiers=\"Control\"/>\r\n                                                </MenuFlyoutItem.KeyboardAccelerators>\r\n                                            </MenuFlyoutItem>\r\n                                            <MenuFlyoutItem x:Uid=\"MainMenu_Button_PrintAll\" x:Name=\"MenuPrintAllButton\">\r\n                                                <MenuFlyoutItem.Icon>\r\n                                                    <FontIcon Glyph=\"&#xF56D;\"/>\r\n                                                </MenuFlyoutItem.Icon>\r\n                                                <MenuFlyoutItem.KeyboardAccelerators>\r\n                                                    <KeyboardAccelerator Key=\"P\" Modifiers=\"Control,Shift\" IsEnabled=\"False\"/>\r\n                                                </MenuFlyoutItem.KeyboardAccelerators>\r\n                                            </MenuFlyoutItem>\r\n                                            <MenuFlyoutSeparator x:Name=\"MenuSettingsSeparator\" />\r\n                                            <MenuFlyoutItem x:Uid=\"MainMenu_Button_Settings\" x:Name=\"MenuSettingsButton\" Icon=\"Setting\">\r\n                                                <MenuFlyoutItem.KeyboardAccelerators>\r\n                                                    <KeyboardAccelerator Key=\"F1\" IsEnabled=\"False\"/>\r\n                                                </MenuFlyoutItem.KeyboardAccelerators>\r\n                                            </MenuFlyoutItem>\r\n                                            <MenuFlyout.MenuFlyoutPresenterStyle>\r\n                                                <Style TargetType=\"MenuFlyoutPresenter\">\r\n                                                    <Setter Property=\"BorderThickness\" Value=\"0\" />\r\n                                                    <Setter Property=\"MaxWidth\" Value=\"1200\" />\r\n                                                </Style>\r\n                                            </MenuFlyout.MenuFlyoutPresenterStyle>\r\n                                        </MenuFlyout>\r\n                                    </FlyoutBase.AttachedFlyout>\r\n                                </Button>\r\n                            </Grid>\r\n                        </controls:SetsView.SetsStartHeader>\r\n\r\n                        <controls:SetsView.SetsActionHeader>\r\n                            <Button x:Name=\"NewSetButton\"\r\n                                    Grid.Column=\"0\"\r\n                                    IsTabStop=\"False\"\r\n                                    Width=\"42\"\r\n                                    Height=\"{StaticResource SetsViewItemHeaderMinHeight}\"\r\n                                    Margin=\"-1,0,0,0\"\r\n                                    BorderThickness=\"0\"\r\n                                    Background=\"Transparent\"\r\n                                    Style=\"{ThemeResource ButtonRevealStyle}\">\r\n                                    <Viewbox MaxWidth=\"14\"\r\n                                        MaxHeight=\"14\">\r\n                                        <FontIcon FontFamily=\"Segoe MDL2 Assets\"\r\n                                            Glyph=\"&#xE710;\" />\r\n                                    </Viewbox>\r\n                            </Button>\r\n                        </controls:SetsView.SetsActionHeader>\r\n\r\n                        <controls:SetsView.SetsPaddingHeader>\r\n                            <Grid x:Name=\"AppTitleBar\" Background=\"Transparent\" Height=\"32\"/>\r\n                        </controls:SetsView.SetsPaddingHeader>\r\n\r\n                        <controls:SetsView.SetsEndHeader>\r\n                            <Grid x:Name=\"TitleBarReservedArea\" Background=\"Transparent\" HorizontalAlignment=\"Center\" Width=\"180\" Height=\"32\"/>\r\n                        </controls:SetsView.SetsEndHeader>\r\n\r\n                    </controls:SetsView>\r\n\r\n                    <controls:InAppNotification x:Name=\"StatusNotification\"\r\n                                                x:Load=\"false\"\r\n                                                Style=\"{StaticResource InAppNotificationNoDismissButton}\"\r\n                                                Content=\"\"\r\n                                                ShowDismissButton=\"False\"\r\n                                                AnimationDuration=\"0:0:0.080\"\r\n                                                VerticalOffset=\"-20\"\r\n                                                HorizontalOffset=\"0\"\r\n                                                FontWeight=\"Light\"\r\n                                                BorderThickness=\"1\">\r\n                    </controls:InAppNotification>\r\n                </Grid>\r\n            </SplitView.Content>\r\n            <SplitView.Pane>\r\n                <Border x:Name=\"RootBorder\" Padding=\"12,0,0,0\">\r\n                    <Grid>\r\n                        <controls:DropShadowPanel BlurRadius=\"12\"\r\n                                                  Color=\"Black\"\r\n                                                  Opacity=\"0.3\"\r\n                                                  HorizontalContentAlignment=\"Stretch\"\r\n                                                  VerticalContentAlignment=\"Stretch\">\r\n                            <Rectangle Fill=\"White\" />\r\n                        </controls:DropShadowPanel>\r\n\r\n                        <Grid x:Name=\"PaneContentGrid\" Background=\"{ThemeResource SystemControlChromeMediumLowAcrylicElementMediumBrush}\">\r\n                            <Frame x:Name=\"SettingsFrame\"/>\r\n                        </Grid>\r\n                    </Grid>\r\n                </Border>\r\n            </SplitView.Pane>\r\n        </SplitView>\r\n\r\n        <Grid Grid.Row=\"1\" x:Name=\"StatusBar\" Height=\"25\" x:Load=\"false\">\r\n            <Grid.Resources>\r\n                <Style TargetType=\"TextBlock\" x:Key=\"StatusBarTextBlockStyle\">\r\n                    <Setter Property=\"Height\" Value=\"25\"/>\r\n                    <Setter Property=\"Padding\" Value=\"8,4,8,4\"/>\r\n                    <Setter Property=\"HorizontalAlignment\" Value=\"Left\"/>\r\n                    <Setter Property=\"FontSize\" Value=\"11\"/>\r\n                    <Setter Property=\"FontWeight\" Value=\"Normal\"/>\r\n                    <Setter Property=\"Opacity\" Value=\"1.0\"/>\r\n                    <Setter Property=\"Foreground\" Value=\"{ThemeResource SystemControlForegroundBaseMediumHighBrush}\"/>\r\n                </Style>\r\n            </Grid.Resources>\r\n            <Grid.ColumnDefinitions>\r\n                <ColumnDefinition Width=\"Auto\" MinWidth=\"4\"/>\r\n                <ColumnDefinition Width=\"*\"/>\r\n                <ColumnDefinition Width=\"Auto\"/>\r\n                <ColumnDefinition Width=\"Auto\"/>\r\n                <ColumnDefinition Width=\"Auto\"/>\r\n                <ColumnDefinition Width=\"Auto\"/>\r\n                <ColumnDefinition Width=\"Auto\"/>\r\n                <ColumnDefinition Width=\"Auto\"/>\r\n            </Grid.ColumnDefinitions>\r\n            <Grid Column=\"0\">\r\n                <Grid x:Name=\"FileModificationStateIndicator\"\r\n                      Padding=\"8,5,6,5\"\r\n                      IsTapEnabled=\"True\" \r\n                      ui:FrameworkElementExtensions.Cursor =\"Hand\"\r\n                      Tapped=\"StatusBarComponent_OnTapped\">\r\n                    <Interactivity:Interaction.Behaviors>\r\n                        <Core:EventTriggerBehavior EventName=\"PointerEntered\">\r\n                            <Core:ChangePropertyAction PropertyName=\"Background\">\r\n                                <Core:ChangePropertyAction.Value>\r\n                                    <SolidColorBrush Color=\"{ThemeResource SystemRevealListLowColor}\"/>\r\n                                </Core:ChangePropertyAction.Value>\r\n                            </Core:ChangePropertyAction>\r\n                        </Core:EventTriggerBehavior>\r\n\r\n                        <Core:EventTriggerBehavior EventName=\"PointerExited\">\r\n                            <Core:ChangePropertyAction PropertyName=\"Background\">\r\n                                <Core:ChangePropertyAction.Value>\r\n                                    <SolidColorBrush Color=\"Transparent\"/>\r\n                                </Core:ChangePropertyAction.Value>\r\n                            </Core:ChangePropertyAction>\r\n                        </Core:EventTriggerBehavior>\r\n                    </Interactivity:Interaction.Behaviors>\r\n                    <Viewbox>\r\n                        <FontIcon x:Name=\"FileModificationStateIndicatorIcon\" Foreground=\"{StaticResource SystemControlForegroundAccentBrush}\"/>\r\n                    </Viewbox>\r\n                    <Grid.ContextFlyout>\r\n                        <MenuFlyout x:Name=\"FileModifiedOutsideFlyout\" Placement=\"TopEdgeAlignedLeft\" Closing=\"StatusBarFlyout_OnClosing\">\r\n                            <MenuFlyoutItem x:Name=\"FileModifiedOutsideFlyoutReloadFileFromDiskFlyoutItem\" \r\n                                            x:Uid=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk\" \r\n                                            Tag=\"ReloadFileFromDisk\" \r\n                                            Click=\"ReloadFileFromDiskAsync\">\r\n                                <MenuFlyoutItem.Icon>\r\n                                    <FontIcon Glyph=\"&#xE72C;\"/>\r\n                                </MenuFlyoutItem.Icon>\r\n                                <MenuFlyoutItem.KeyboardAccelerators>\r\n                                    <KeyboardAccelerator Key=\"R\" Modifiers=\"Control,Shift\" IsEnabled=\"False\"/>\r\n                                </MenuFlyoutItem.KeyboardAccelerators>\r\n                            </MenuFlyoutItem>\r\n                            <MenuFlyout.MenuFlyoutPresenterStyle>\r\n                                <Style TargetType=\"MenuFlyoutPresenter\">\r\n                                    <Setter Property=\"BorderThickness\" Value=\"0\" />\r\n                                </Style>\r\n                            </MenuFlyout.MenuFlyoutPresenterStyle>\r\n                        </MenuFlyout>\r\n                    </Grid.ContextFlyout>\r\n                </Grid>\r\n            </Grid>\r\n            <Grid Column=\"1\"\r\n                  ui:FrameworkElementExtensions.Cursor=\"Hand\">\r\n                <TextBlock x:Name=\"PathIndicator\" Style=\"{StaticResource StatusBarTextBlockStyle}\" \r\n                           Padding =\"4,4,8,4\"\r\n                           IsTapEnabled=\"True\"\r\n                           Tapped=\"StatusBarComponent_OnTapped\">\r\n\r\n                    <Interactivity:Interaction.Behaviors>\r\n                        <Core:EventTriggerBehavior EventName=\"PointerEntered\">\r\n                            <Core:ChangePropertyAction PropertyName=\"Opacity\">\r\n                                <Core:ChangePropertyAction.Value>\r\n                                    0.7\r\n                                </Core:ChangePropertyAction.Value>\r\n                            </Core:ChangePropertyAction>\r\n                        </Core:EventTriggerBehavior>\r\n\r\n                        <Core:EventTriggerBehavior EventName=\"PointerExited\">\r\n                            <Core:ChangePropertyAction PropertyName=\"Opacity\">\r\n                                <Core:ChangePropertyAction.Value>\r\n                                    1.0\r\n                                </Core:ChangePropertyAction.Value>\r\n                            </Core:ChangePropertyAction>\r\n                        </Core:EventTriggerBehavior>\r\n                    </Interactivity:Interaction.Behaviors>\r\n                    <TextBlock.ContextFlyout>\r\n                        <MenuFlyout x:Name=\"PathIndicatorFlyout\" Placement=\"TopEdgeAlignedLeft\" Closing=\"StatusBarFlyout_OnClosing\">\r\n                            <MenuFlyoutItem x:Name=\"PathIndicatorFlyoutReloadFileFromDiskFlyoutItem\" \r\n                                            x:Uid=\"TextEditor_FileModifiedOutsideIndicator_MenuFlyoutItem_ReloadFileFromDisk\" \r\n                                            Tag=\"ReloadFileFromDisk\" \r\n                                            Click=\"ReloadFileFromDiskAsync\">\r\n                                <MenuFlyoutItem.Icon>\r\n                                    <FontIcon Glyph=\"&#xE72C;\"/>\r\n                                </MenuFlyoutItem.Icon>\r\n                                <MenuFlyoutItem.KeyboardAccelerators>\r\n                                    <KeyboardAccelerator Key=\"R\" Modifiers=\"Control,Shift\" IsEnabled=\"False\"/>\r\n                                </MenuFlyoutItem.KeyboardAccelerators>\r\n                            </MenuFlyoutItem>\r\n                            <MenuFlyoutSeparator/>\r\n                            <MenuFlyoutItem x:Name=\"PathIndicatorFlyoutCopyFullPathFlyoutItem\"\r\n                                            Tag=\"CopyFullPath\" \r\n                                            Click=\"CopyFullPath\">\r\n                                <MenuFlyoutItem.Icon>\r\n                                    <FontIcon Glyph=\"&#xE8C8;\"/>\r\n                                </MenuFlyoutItem.Icon>\r\n                            </MenuFlyoutItem>\r\n                            <MenuFlyoutItem x:Name=\"PathIndicatorFlyoutOpenContainingFolderFlyoutItem\" \r\n                                            Tag=\"OpenContainingFolder\" \r\n                                            Click=\"OpenContainingFolderAsync\">\r\n                                <MenuFlyoutItem.Icon>\r\n                                    <FontIcon Glyph=\"&#xED25;\"/>\r\n                                </MenuFlyoutItem.Icon>\r\n                            </MenuFlyoutItem>\r\n                            <MenuFlyoutSeparator/>\r\n                            <MenuFlyoutItem x:Name=\"PathIndicatorFlyoutFileRenameFlyoutItem\" \r\n                                            Tag=\"Rename\" \r\n                                            Click=\"RenameFileAsync\">\r\n                                <MenuFlyoutItem.Icon>\r\n                                    <FontIcon Glyph=\"&#xE8AC;\"/>\r\n                                </MenuFlyoutItem.Icon>\r\n                                <MenuFlyoutItem.KeyboardAccelerators>\r\n                                    <KeyboardAccelerator Key=\"F2\" IsEnabled=\"False\"/>\r\n                                </MenuFlyoutItem.KeyboardAccelerators>\r\n                            </MenuFlyoutItem>\r\n                            <MenuFlyout.MenuFlyoutPresenterStyle>\r\n                                <Style TargetType=\"MenuFlyoutPresenter\">\r\n                                    <Setter Property=\"BorderThickness\" Value=\"0\" />\r\n                                </Style>\r\n                            </MenuFlyout.MenuFlyoutPresenterStyle>\r\n                        </MenuFlyout>\r\n                    </TextBlock.ContextFlyout>\r\n                </TextBlock>\r\n            </Grid>\r\n            <Grid Column=\"2\"\r\n                  ui:FrameworkElementExtensions.Cursor=\"Hand\">\r\n                <Interactivity:Interaction.Behaviors>\r\n                    <Core:EventTriggerBehavior EventName=\"PointerEntered\">\r\n                        <Core:ChangePropertyAction PropertyName=\"Background\">\r\n                            <Core:ChangePropertyAction.Value>\r\n                                <SolidColorBrush Color=\"{ThemeResource SystemRevealListLowColor}\"/>\r\n                            </Core:ChangePropertyAction.Value>\r\n                        </Core:ChangePropertyAction>\r\n                    </Core:EventTriggerBehavior>\r\n\r\n                    <Core:EventTriggerBehavior EventName=\"PointerExited\">\r\n                        <Core:ChangePropertyAction PropertyName=\"Background\">\r\n                            <Core:ChangePropertyAction.Value>\r\n                                <SolidColorBrush Color=\"Transparent\"/>\r\n                            </Core:ChangePropertyAction.Value>\r\n                        </Core:ChangePropertyAction>\r\n                    </Core:EventTriggerBehavior>\r\n                </Interactivity:Interaction.Behaviors>\r\n                \r\n                <TextBlock x:Name=\"ModificationIndicator\" Style=\"{StaticResource StatusBarTextBlockStyle}\"\r\n                           Foreground=\"{StaticResource SystemControlForegroundAccentBrush}\"\r\n                           IsTapEnabled=\"True\"\r\n                           Tapped=\"StatusBarComponent_OnTapped\"\r\n                           >\r\n                    <TextBlock.ContextFlyout>\r\n                        <MenuFlyout x:Name=\"ModificationFlyout\" Placement=\"TopEdgeAlignedRight\" Closing=\"StatusBarFlyout_OnClosing\">\r\n                            <MenuFlyoutItem x:Name=\"PreviewTextChangesFlyoutItem\" \r\n                                            x:Uid=\"TextEditor_ModificationIndicator_MenuFlyoutItem_PreviewTextChanges\" \r\n                                            Tag=\"PreviewTextChanges\" Click=\"ModificationFlyoutSelection_OnClick\">\r\n                                <MenuFlyoutItem.Icon>\r\n                                    <FontIcon Glyph=\"&#xE89A;\"/>\r\n                                </MenuFlyoutItem.Icon>\r\n                                <MenuFlyoutItem.KeyboardAccelerators>\r\n                                    <KeyboardAccelerator Key=\"D\" Modifiers=\"Menu\" IsEnabled=\"False\"/>\r\n                                </MenuFlyoutItem.KeyboardAccelerators>\r\n                            </MenuFlyoutItem>\r\n                            <MenuFlyoutItem x:Uid=\"TextEditor_ModificationIndicator_MenuFlyoutItem_RevertAllChanges\" \r\n                                            Tag=\"RevertAllChanges\" \r\n                                            Click=\"ModificationFlyoutSelection_OnClick\">\r\n                                <MenuFlyoutItem.Icon>\r\n                                    <FontIcon Glyph=\"&#xE7A7;\"/>\r\n                                </MenuFlyoutItem.Icon>\r\n                            </MenuFlyoutItem>\r\n\r\n                            <MenuFlyout.MenuFlyoutPresenterStyle>\r\n                                <Style TargetType=\"MenuFlyoutPresenter\">\r\n                                    <Setter Property=\"BorderThickness\" Value=\"0\" />\r\n                                </Style>\r\n                            </MenuFlyout.MenuFlyoutPresenterStyle>\r\n                        </MenuFlyout>\r\n                    </TextBlock.ContextFlyout>\r\n                </TextBlock>\r\n            </Grid>\r\n            <Grid Column=\"3\" x:Name=\"LineColumnIndicatorButton\"\r\n                  ui:FrameworkElementExtensions.Cursor=\"Hand\">\r\n                <Interactivity:Interaction.Behaviors>\r\n                    <Core:EventTriggerBehavior EventName=\"PointerEntered\">\r\n                        <Core:ChangePropertyAction PropertyName=\"Background\">\r\n                            <Core:ChangePropertyAction.Value>\r\n                                <SolidColorBrush Color=\"{ThemeResource SystemRevealListLowColor}\"/>\r\n                            </Core:ChangePropertyAction.Value>\r\n                        </Core:ChangePropertyAction>\r\n                    </Core:EventTriggerBehavior>\r\n\r\n                    <Core:EventTriggerBehavior EventName=\"PointerExited\">\r\n                        <Core:ChangePropertyAction PropertyName=\"Background\">\r\n                            <Core:ChangePropertyAction.Value>\r\n                                <SolidColorBrush Color=\"Transparent\"/>\r\n                            </Core:ChangePropertyAction.Value>\r\n                        </Core:ChangePropertyAction>\r\n                    </Core:EventTriggerBehavior>\r\n                </Interactivity:Interaction.Behaviors>\r\n                <TextBlock x:Name=\"LineColumnIndicator\" Style=\"{StaticResource StatusBarTextBlockStyle}\"\r\n                           IsTapEnabled=\"True\"\r\n                           Tapped=\"StatusBarComponent_OnTapped\">\r\n                </TextBlock>\r\n            </Grid>\r\n            <Grid Column=\"4\"\r\n                  ui:FrameworkElementExtensions.Cursor=\"Hand\">\r\n                <Interactivity:Interaction.Behaviors>\r\n                    <Core:EventTriggerBehavior EventName=\"PointerEntered\">\r\n                        <Core:ChangePropertyAction PropertyName=\"Background\">\r\n                            <Core:ChangePropertyAction.Value>\r\n                                <SolidColorBrush Color=\"{ThemeResource SystemRevealListLowColor}\"/>\r\n                            </Core:ChangePropertyAction.Value>\r\n                        </Core:ChangePropertyAction>\r\n                    </Core:EventTriggerBehavior>\r\n\r\n                    <Core:EventTriggerBehavior EventName=\"PointerExited\">\r\n                        <Core:ChangePropertyAction PropertyName=\"Background\">\r\n                            <Core:ChangePropertyAction.Value>\r\n                                <SolidColorBrush Color=\"Transparent\"/>\r\n                            </Core:ChangePropertyAction.Value>\r\n                        </Core:ChangePropertyAction>\r\n                    </Core:EventTriggerBehavior>\r\n                </Interactivity:Interaction.Behaviors>\r\n\r\n                <TextBlock x:Name=\"FontZoomIndicator\" Style=\"{StaticResource StatusBarTextBlockStyle}\"\r\n                           IsTapEnabled=\"True\"\r\n                           Tapped=\"StatusBarComponent_OnTapped\">\r\n                    <TextBlock.ContextFlyout>\r\n                        <Flyout x:Name=\"FontZoomIndicatorFlyout\" Placement=\"TopEdgeAlignedRight\" Closing=\"StatusBarFlyout_OnClosing\">\r\n                            <StackPanel>\r\n                                <StackPanel Orientation=\"Horizontal\" Margin=\"-10,0,-10,0\">\r\n                                    <AppBarButton x:Name=\"ZoomOut\" \r\n                                                  x:Uid=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomOut\"\r\n                                                  LabelPosition=\"Collapsed\"\r\n                                                  VerticalAlignment=\"Center\"\r\n                                                  BorderBrush=\"{ThemeResource SystemControlBackgroundTransparentRevealBorderBrush}\"\r\n                                                  Width=\"40\"\r\n                                                  KeyboardAcceleratorTextOverride=\"Ctrl+Minus\" \r\n                                                  Click=\"FontZoomIndicatorFlyoutSelection_OnClick\">\r\n                                        <AppBarButton.Icon>\r\n                                            <FontIcon Glyph=\"&#xE108;\" FontFamily=\"Segoe MDL2 Assets\"/>\r\n                                        </AppBarButton.Icon>\r\n                                        <AppBarButton.KeyboardAccelerators>\r\n                                            <KeyboardAccelerator Key=\"Subtract\" Modifiers=\"Control\" IsEnabled=\"False\"/>\r\n                                        </AppBarButton.KeyboardAccelerators>\r\n                                    </AppBarButton>\r\n                                    <Slider x:Name=\"FontZoomSlider\" \r\n                                            Style=\"{StaticResource CustomSliderStyle}\"\r\n                                            Minimum=\"10\" Maximum=\"500\" Value=\"100\"\r\n                                            VerticalAlignment=\"Center\" Width=\"150\"\r\n                                            Margin=\"5\"\r\n                                            ValueChanged=\"FontZoomSlider_ValueChanged\"/>\r\n                                    <AppBarButton x:Name=\"ZoomIn\"\r\n                                                  x:Uid=\"TextEditor_FontZoomIndicator_FlyoutItem_ZoomIn\"\r\n                                                  LabelPosition=\"Collapsed\" \r\n                                                  VerticalAlignment=\"Center\"\r\n                                                  BorderBrush=\"{ThemeResource SystemControlBackgroundTransparentRevealBorderBrush}\"\r\n                                                  Width=\"40\"\r\n                                                  KeyboardAcceleratorTextOverride=\"Ctrl+Plus\" \r\n                                                  Click=\"FontZoomIndicatorFlyoutSelection_OnClick\">\r\n                                        <AppBarButton.Icon>\r\n                                            <FontIcon Glyph=\"&#xE109;\" FontFamily=\"Segoe MDL2 Assets\"/>\r\n                                        </AppBarButton.Icon>\r\n                                        <AppBarButton.KeyboardAccelerators>\r\n                                            <KeyboardAccelerator Key=\"Add\" Modifiers=\"Control\" IsEnabled=\"False\"/>\r\n                                        </AppBarButton.KeyboardAccelerators>\r\n                                    </AppBarButton>\r\n                                </StackPanel>\r\n                                <StackPanel Orientation=\"Horizontal\" Margin=\"5,-5,0,0\">\r\n                                    <TextBlock x:Name=\"MinZoom\" Text=\"10%\" Margin=\"30,0,0,0\" FontSize=\"10\"/>\r\n                                    <TextBlock x:Name=\"MaxZoom\" Text=\"500%\" Margin=\"108,0,0,0\" FontSize=\"10\"/>\r\n                                </StackPanel>\r\n                                <StackPanel Orientation=\"Horizontal\" HorizontalAlignment=\"Center\" Margin=\"0,-15,0,0\">\r\n                                    <TextBlock Text=\"{x:Bind FontZoomSlider.Value,Mode=OneWay}\" VerticalAlignment=\"Center\" FontSize=\"15\"/>\r\n                                    <TextBlock Text=\"%\" VerticalAlignment=\"Center\" FontSize=\"15\"/>\r\n                                </StackPanel>\r\n                                <AppBarButton x:Name=\"RestoreDefaultZoom\"\r\n                                              x:Uid=\"TextEditor_FontZoomIndicator_FlyoutItem_RestoreDefaultZoom\" \r\n                                              Style=\"{StaticResource CustomAppBarButtonLabelToRightStyle}\"\r\n                                              HorizontalAlignment=\"Stretch\" VerticalAlignment=\"Center\" Margin=\"-10,5,-10,-5\"\r\n                                              Icon=\"Undo\" \r\n                                              Click=\"FontZoomIndicatorFlyoutSelection_OnClick\">\r\n                                    <AppBarButton.KeyboardAccelerators>\r\n                                        <KeyboardAccelerator Key=\"Number0\" Modifiers=\"Control\" IsEnabled=\"False\"/>\r\n                                    </AppBarButton.KeyboardAccelerators>\r\n                                </AppBarButton>\r\n                            </StackPanel>\r\n                            <Flyout.FlyoutPresenterStyle>\r\n                                <Style TargetType=\"FlyoutPresenter\">\r\n                                    <Setter Property=\"BorderThickness\" Value=\"0\"/>\r\n                                </Style>\r\n                            </Flyout.FlyoutPresenterStyle>\r\n                        </Flyout>\r\n                    </TextBlock.ContextFlyout>\r\n                </TextBlock>\r\n            </Grid>\r\n            <Grid Column=\"5\"\r\n                  ui:FrameworkElementExtensions.Cursor=\"Hand\">\r\n                <Interactivity:Interaction.Behaviors>\r\n                    <Core:EventTriggerBehavior EventName=\"PointerEntered\">\r\n                        <Core:ChangePropertyAction PropertyName=\"Background\">\r\n                            <Core:ChangePropertyAction.Value>\r\n                                <SolidColorBrush Color=\"{ThemeResource SystemRevealListLowColor}\"/>\r\n                            </Core:ChangePropertyAction.Value>\r\n                        </Core:ChangePropertyAction>\r\n                    </Core:EventTriggerBehavior>\r\n\r\n                    <Core:EventTriggerBehavior EventName=\"PointerExited\">\r\n                        <Core:ChangePropertyAction PropertyName=\"Background\">\r\n                            <Core:ChangePropertyAction.Value>\r\n                                <SolidColorBrush Color=\"Transparent\"/>\r\n                            </Core:ChangePropertyAction.Value>\r\n                        </Core:ChangePropertyAction>\r\n                    </Core:EventTriggerBehavior>\r\n                </Interactivity:Interaction.Behaviors>\r\n                \r\n                <TextBlock x:Name=\"LineEndingIndicator\" Style=\"{StaticResource StatusBarTextBlockStyle}\" \r\n                           IsTapEnabled=\"True\"\r\n                           Tapped=\"StatusBarComponent_OnTapped\">\r\n                    <TextBlock.ContextFlyout>\r\n                        <MenuFlyout x:Name=\"LineEndingSelectionFlyout\" Placement=\"TopEdgeAlignedRight\" Closing=\"StatusBarFlyout_OnClosing\">\r\n                            <MenuFlyoutItem Text=\"Windows (CRLF)\" Tag=\"CRLF\" Click=\"LineEndingSelection_OnClick\"/>\r\n                            <MenuFlyoutItem Text=\"Macintosh (CR)\" Tag=\"CR\" Click=\"LineEndingSelection_OnClick\"/>\r\n                            <MenuFlyoutItem Text=\"Unix (LF)\" Tag=\"LF\" Click=\"LineEndingSelection_OnClick\"/>\r\n                            <MenuFlyout.MenuFlyoutPresenterStyle>\r\n                                <Style TargetType=\"MenuFlyoutPresenter\">\r\n                                    <Setter Property=\"BorderThickness\" Value=\"0\" />\r\n                                </Style>\r\n                            </MenuFlyout.MenuFlyoutPresenterStyle>\r\n                        </MenuFlyout>\r\n                    </TextBlock.ContextFlyout>\r\n                </TextBlock>\r\n            </Grid>\r\n            <Grid Column=\"6\"\r\n                  ui:FrameworkElementExtensions.Cursor=\"Hand\">\r\n                <Interactivity:Interaction.Behaviors>\r\n                    <Core:EventTriggerBehavior EventName=\"PointerEntered\">\r\n                        <Core:ChangePropertyAction PropertyName=\"Background\">\r\n                            <Core:ChangePropertyAction.Value>\r\n                                <SolidColorBrush Color=\"{ThemeResource SystemRevealListLowColor}\"/>\r\n                            </Core:ChangePropertyAction.Value>\r\n                        </Core:ChangePropertyAction>\r\n                    </Core:EventTriggerBehavior>\r\n\r\n                    <Core:EventTriggerBehavior EventName=\"PointerExited\">\r\n                        <Core:ChangePropertyAction PropertyName=\"Background\">\r\n                            <Core:ChangePropertyAction.Value>\r\n                                <SolidColorBrush Color=\"Transparent\"/>\r\n                            </Core:ChangePropertyAction.Value>\r\n                        </Core:ChangePropertyAction>\r\n                    </Core:EventTriggerBehavior>\r\n                </Interactivity:Interaction.Behaviors>\r\n                \r\n                <TextBlock x:Name=\"EncodingIndicator\" Style=\"{StaticResource StatusBarTextBlockStyle}\"  \r\n                           IsTapEnabled=\"True\"\r\n                           Tapped=\"StatusBarComponent_OnTapped\">\r\n                    <TextBlock.ContextFlyout>\r\n                        <MenuFlyout x:Name=\"EncodingSelectionFlyout\" Placement=\"TopEdgeAlignedRight\" Closing=\"StatusBarFlyout_OnClosing\">\r\n                            <MenuFlyout.MenuFlyoutPresenterStyle>\r\n                                <Style TargetType=\"MenuFlyoutPresenter\">\r\n                                    <Setter Property=\"BorderThickness\" Value=\"0\" />\r\n                                </Style>\r\n                            </MenuFlyout.MenuFlyoutPresenterStyle>\r\n                        </MenuFlyout>\r\n                    </TextBlock.ContextFlyout>\r\n                </TextBlock>\r\n            </Grid>\r\n            <Grid Column=\"7\"\r\n                  ui:FrameworkElementExtensions.Cursor=\"Hand\">\r\n                <Interactivity:Interaction.Behaviors>\r\n                    <Core:EventTriggerBehavior EventName=\"PointerEntered\">\r\n                        <Core:ChangePropertyAction PropertyName=\"Background\">\r\n                            <Core:ChangePropertyAction.Value>\r\n                                <SolidColorBrush Color=\"{ThemeResource SystemRevealListLowColor}\"/>\r\n                            </Core:ChangePropertyAction.Value>\r\n                        </Core:ChangePropertyAction>\r\n                    </Core:EventTriggerBehavior>\r\n\r\n                    <Core:EventTriggerBehavior EventName=\"PointerExited\">\r\n                        <Core:ChangePropertyAction PropertyName=\"Background\">\r\n                            <Core:ChangePropertyAction.Value>\r\n                                <SolidColorBrush Color=\"Transparent\"/>\r\n                            </Core:ChangePropertyAction.Value>\r\n                        </Core:ChangePropertyAction>\r\n                    </Core:EventTriggerBehavior>\r\n                </Interactivity:Interaction.Behaviors>\r\n                \r\n                <Grid x:Name=\"ShadowWindowIndicator\"\r\n                      Visibility=\"Collapsed\"\r\n                      Padding=\"6,6,6,6\"\r\n                      IsTapEnabled=\"True\"\r\n                      Tapped=\"StatusBarComponent_OnTapped\">\r\n                    <Viewbox>\r\n                        <FontIcon Glyph=\"&#xE737;\" Foreground=\"{ThemeResource SystemControlForegroundBaseMediumHighBrush}\"/>\r\n                    </Viewbox>\r\n                </Grid>\r\n            </Grid>\r\n        </Grid>\r\n\r\n        <Canvas Grid.Row=\"2\" x:Name=\"PrintCanvas\" Opacity=\"0\"/>\r\n    </Grid>\r\n</Page>\r\n"
  },
  {
    "path": "src/Notepads/Views/MainPage/NotepadsMainPage.xaml.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Views.MainPage\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Linq;\r\n    using System.Threading.Tasks;\r\n    using Notepads.Commands;\r\n    using Notepads.Controls.Dialog;\r\n    using Notepads.Controls.Print;\r\n    using Notepads.Controls.TextEditor;\r\n    using Notepads.Core;\r\n    using Notepads.Extensions;\r\n    using Notepads.Services;\r\n    using Notepads.Settings;\r\n    using Notepads.Utilities;\r\n    using Notepads.Views.Settings;\r\n    using Windows.ApplicationModel.Activation;\r\n    using Windows.ApplicationModel.DataTransfer;\r\n    using Windows.ApplicationModel.Resources;\r\n    using Windows.Storage;\r\n    using Windows.System;\r\n    using Windows.UI.ViewManagement;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Input;\r\n    using Windows.UI.Xaml.Media.Animation;\r\n    using Windows.UI.Xaml.Navigation;\r\n    using Windows.Graphics.Printing;\r\n\r\n    public sealed partial class NotepadsMainPage : Page\r\n    {\r\n        private IReadOnlyList<IStorageItem> _appLaunchFiles;\r\n\r\n        private string _appLaunchCmdDir;\r\n        private string _appLaunchCmdArgs;\r\n        private Uri _appLaunchUri;\r\n\r\n        private readonly ResourceLoader _resourceLoader = ResourceLoader.GetForCurrentView();\r\n\r\n        private bool _loaded = false;\r\n        private bool _lastTabMovedToAnotherInstance = false;\r\n\r\n        private INotepadsCore _notepadsCore;\r\n\r\n        private INotepadsCore NotepadsCore\r\n        {\r\n            get\r\n            {\r\n                if (_notepadsCore != null) return _notepadsCore;\r\n\r\n                _notepadsCore = new NotepadsCore(Sets, new NotepadsExtensionProvider(), Dispatcher);\r\n                _notepadsCore.StorageItemsDropped += OnStorageItemsDropped;\r\n                _notepadsCore.TextEditorLoaded += OnTextEditorLoaded;\r\n                _notepadsCore.TextEditorUnloaded += OnTextEditorUnloaded;\r\n                _notepadsCore.TextEditorKeyDown += OnTextEditorKeyDown;\r\n                _notepadsCore.TextEditorClosing += OnTextEditorClosing;\r\n                _notepadsCore.TextEditorSaved += OnTextEditorSaved;\r\n                _notepadsCore.TextEditorMovedToAnotherAppInstance += OnTextEditorMovedToAnotherAppInstance;\r\n                _notepadsCore.TextEditorRenamed += (sender, editor) => { if (NotepadsCore.GetSelectedTextEditor() == editor) SetupStatusBar(editor); };\r\n                _notepadsCore.TextEditorSelectionChanged += (sender, editor) => { if (NotepadsCore.GetSelectedTextEditor() == editor) UpdateLineColumnIndicator(editor); };\r\n                _notepadsCore.TextEditorFontZoomFactorChanged += (sender, editor) => { if (NotepadsCore.GetSelectedTextEditor() == editor) UpdateFontZoomIndicator(editor); };\r\n                _notepadsCore.TextEditorEncodingChanged += (sender, editor) => { if (NotepadsCore.GetSelectedTextEditor() == editor) UpdateEncodingIndicator(editor.GetEncoding()); };\r\n                _notepadsCore.TextEditorLineEndingChanged += (sender, editor) => { if (NotepadsCore.GetSelectedTextEditor() == editor) { UpdateLineEndingIndicator(editor.GetLineEnding()); UpdateLineColumnIndicator(editor); } };\r\n                _notepadsCore.TextEditorEditorModificationStateChanged += (sender, editor) => { if (NotepadsCore.GetSelectedTextEditor() == editor) SetupStatusBar(editor); };\r\n                _notepadsCore.TextEditorFileModificationStateChanged += (sender, editor) => { if (NotepadsCore.GetSelectedTextEditor() == editor) OnTextEditorFileModificationStateChanged(editor); };\r\n\r\n                return _notepadsCore;\r\n            }\r\n        }\r\n\r\n        private ICommandHandler<KeyRoutedEventArgs> _keyboardCommandHandler;\r\n\r\n        private const string XBoxGameBarSessionFilePrefix = \"XBoxGameBar-\";\r\n\r\n        private ISessionManager _sessionManager;\r\n\r\n        private ISessionManager SessionManager => _sessionManager ?? (_sessionManager = SessionUtility.GetSessionManager(NotepadsCore, App.IsGameBarWidget ? XBoxGameBarSessionFilePrefix : null));\r\n\r\n        private readonly string _defaultNewFileName;\r\n\r\n        public NotepadsMainPage()\r\n        {\r\n            InitializeComponent();\r\n\r\n            _defaultNewFileName = _resourceLoader.GetString(\"TextEditor_DefaultNewFileName\");\r\n\r\n            // Set custom title bar dragging area\r\n            Window.Current.SetTitleBar(AppTitleBar);\r\n\r\n            InitializeNotificationCenter();\r\n            InitializeThemeSettings();\r\n            InitializeStatusBar();\r\n            InitializeControls();\r\n            InitializeMainMenu();\r\n            InitializeKeyboardShortcuts();\r\n\r\n            // Session backup and restore toggle\r\n            AppSettingsService.OnSessionBackupAndRestoreOptionChanged += OnSessionBackupAndRestoreOptionChanged;\r\n\r\n            // Register for printing\r\n            if (PrintManager.IsSupported())\r\n            {\r\n                PrintArgs.RegisterForPrinting(this);\r\n            }\r\n\r\n            // Register for content Sharing\r\n            Windows.ApplicationModel.DataTransfer.DataTransferManager.GetForCurrentView().DataRequested += MainPage_DataRequested;\r\n            Windows.UI.Core.Preview.SystemNavigationManagerPreview.GetForCurrentView().CloseRequested += MainPage_CloseRequested;\r\n\r\n            if (App.IsGameBarWidget)\r\n            {\r\n                TitleBarReservedArea.Width = .0f;\r\n            }\r\n            else\r\n            {\r\n                Window.Current.SizeChanged += WindowSizeChanged;\r\n                Window.Current.VisibilityChanged += WindowVisibilityChangedEventHandler;\r\n            }\r\n        }\r\n\r\n        private void InitializeControls()\r\n        {\r\n            ToolTipService.SetToolTip(ExitCompactOverlayButton, _resourceLoader.GetString(\"App_ExitCompactOverlayMode_Text\"));\r\n            RootSplitView.PaneOpening += delegate { SettingsFrame.Navigate(typeof(SettingsPage), null, new SuppressNavigationTransitionInfo()); };\r\n            RootSplitView.PaneClosed += delegate { NotepadsCore.FocusOnSelectedTextEditor(); };\r\n            NewSetButton.Click += delegate { NotepadsCore.OpenNewTextEditor(_defaultNewFileName); };\r\n        }\r\n\r\n        private void InitializeKeyboardShortcuts()\r\n        {\r\n            _keyboardCommandHandler = new KeyboardCommandHandler(new List<IKeyboardCommand<KeyRoutedEventArgs>>()\r\n            {\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.W, (args) => NotepadsCore.CloseTextEditor(NotepadsCore.GetSelectedTextEditor())),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.Tab, (args) => NotepadsCore.SwitchTo(true)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, true, VirtualKey.Tab, (args) => NotepadsCore.SwitchTo(false)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.N, (args) => NotepadsCore.OpenNewTextEditor(_defaultNewFileName)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.T, (args) => NotepadsCore.OpenNewTextEditor(_defaultNewFileName)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.O, async (args) => await OpenNewFilesAsync()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.S, async (args) => await SaveAsync(NotepadsCore.GetSelectedTextEditor(), saveAs: false, ignoreUnmodifiedDocument: true)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, true, VirtualKey.S, async (args) => await SaveAsync(NotepadsCore.GetSelectedTextEditor(), saveAs: true)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.P, async (args) => await PrintAsync(NotepadsCore.GetSelectedTextEditor())),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, true, VirtualKey.P, async (args) => await PrintAllAsync(NotepadsCore.GetAllTextEditors())),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, true, VirtualKey.R, (args) => ReloadFileFromDiskAsync(this, new RoutedEventArgs())),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, true, VirtualKey.N, async (args) => await OpenNewAppInstanceAsync()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.Number1, (args) => NotepadsCore.SwitchTo(0)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.Number2, (args) => NotepadsCore.SwitchTo(1)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.Number3, (args) => NotepadsCore.SwitchTo(2)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.Number4, (args) => NotepadsCore.SwitchTo(3)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.Number5, (args) => NotepadsCore.SwitchTo(4)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.Number6, (args) => NotepadsCore.SwitchTo(5)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.Number7, (args) => NotepadsCore.SwitchTo(6)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.Number8, (args) => NotepadsCore.SwitchTo(7)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, false, false, VirtualKey.Number9, (args) => NotepadsCore.SwitchTo(8)),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(VirtualKey.F11, (args) => EnterExitFullScreenMode()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(VirtualKey.F12, (args) => EnterExitCompactOverlayMode()),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(VirtualKey.Escape, (args) => { if (RootSplitView.IsPaneOpen) RootSplitView.IsPaneOpen = false; }),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(VirtualKey.F1, (args) => { if (App.IsPrimaryInstance && !App.IsGameBarWidget) RootSplitView.IsPaneOpen = !RootSplitView.IsPaneOpen; }),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(VirtualKey.F2, async (args) => await RenameFileAsync(NotepadsCore.GetSelectedTextEditor())),\r\n                new KeyboardCommand<KeyRoutedEventArgs>(true, true, true, VirtualKey.L, async (args) => { await OpenFileAsync(LoggingService.GetLogFile(), rebuildOpenRecentItems: false); })\r\n            });\r\n        }\r\n\r\n        private static async Task OpenNewAppInstanceAsync()\r\n        {\r\n            if (!await NotepadsProtocolService.LaunchProtocolAsync(NotepadsOperationProtocol.OpenNewInstance))\r\n            {\r\n                AnalyticsService.TrackEvent(\"FailedToOpenNewAppInstance\");\r\n            }\r\n        }\r\n\r\n        #region Application Life Cycle & Window management\r\n\r\n        // Handles external links or cmd args activation before Sets loaded\r\n        protected override void OnNavigatedTo(NavigationEventArgs e)\r\n        {\r\n            base.OnNavigatedTo(e);\r\n\r\n            switch (e.Parameter)\r\n            {\r\n                case null:\r\n                    return;\r\n                case FileActivatedEventArgs fileActivatedEventArgs:\r\n                    _appLaunchFiles = fileActivatedEventArgs.Files;\r\n                    break;\r\n                case CommandLineActivatedEventArgs commandLineActivatedEventArgs:\r\n                    _appLaunchCmdDir = commandLineActivatedEventArgs.Operation.CurrentDirectoryPath;\r\n                    _appLaunchCmdArgs = commandLineActivatedEventArgs.Operation.Arguments;\r\n                    break;\r\n                case ProtocolActivatedEventArgs protocol:\r\n                    _appLaunchUri = protocol.Uri;\r\n                    break;\r\n            }\r\n        }\r\n\r\n        // App should wait for Sets fully loaded before opening files requested by user (by click or from cmd)\r\n        // Open files from external links or cmd args on Sets Loaded\r\n        private async void Sets_Loaded(object sender, RoutedEventArgs e)\r\n        {\r\n            int loadedCount = 0;\r\n\r\n            if (!_loaded && AppSettingsService.IsSessionSnapshotEnabled)\r\n            {\r\n                try\r\n                {\r\n                    loadedCount = await SessionManager.LoadLastSessionAsync();\r\n                }\r\n                catch (SessionDataCorruptedException ex)\r\n                {\r\n                    LoggingService.LogError($\"[{nameof(NotepadsMainPage)}] Failed to load last session: {ex}\");\r\n\r\n                    // Last session data is corrupted, clear it first\r\n                    await SessionManager.ClearSessionDataAsync();\r\n\r\n                    // Recover backup files\r\n                    int numberOfRecoveredFiles = await SessionManager.RecoverBackupFilesAsync();\r\n\r\n                    LoggingService.LogInfo($\"[{nameof(NotepadsMainPage)}] {numberOfRecoveredFiles} file(s) recovered from last session backup.\");\r\n\r\n                    AnalyticsService.TrackEvent(\"SessionManager_FailedToLoadLastSession_SessionDataCorruptedException\",\r\n                        new Dictionary<string, string>()\r\n                        {\r\n                            { \"Exception\", ex.Message },\r\n                            { \"NumberOfRecoveredFiles\", numberOfRecoveredFiles.ToString() }\r\n                        });\r\n\r\n                    // Show session recovery dialog if there are any recovered files\r\n                    if (numberOfRecoveredFiles > 0)\r\n                    {\r\n                        var sessionCorruptionErrorDialog = new SessionCorruptionErrorDialog(\r\n                            recoveryAction: async () =>\r\n                            {\r\n                                await SessionManager.OpenSessionBackupFolderAsync();\r\n                            });\r\n                        await DialogManager.OpenDialogAsync(sessionCorruptionErrorDialog, awaitPreviousDialog: false);\r\n                    }\r\n                }\r\n                catch (Exception ex) // Catch all other exceptions\r\n                {\r\n                    LoggingService.LogError($\"[{nameof(NotepadsMainPage)}] Failed to load last session: {ex}\");\r\n                    AnalyticsService.TrackEvent(\"SessionManager_FailedToLoadLastSession_UnhandledException\", new Dictionary<string, string>() { { \"Exception\", ex.Message } });\r\n                }\r\n            }\r\n\r\n            if (_appLaunchFiles != null && _appLaunchFiles.Count > 0)\r\n            {\r\n                loadedCount += await OpenFilesAsync(_appLaunchFiles);\r\n                _appLaunchFiles = null;\r\n            }\r\n            else if (_appLaunchCmdDir != null)\r\n            {\r\n                var file = await FileSystemUtility.OpenFileFromCommandLineAsync(_appLaunchCmdDir, _appLaunchCmdArgs);\r\n                if (file != null && await OpenFileAsync(file))\r\n                {\r\n                    loadedCount++;\r\n                }\r\n                _appLaunchCmdDir = null;\r\n                _appLaunchCmdArgs = null;\r\n            }\r\n            else if (_appLaunchUri != null)\r\n            {\r\n                var operation = NotepadsProtocolService.GetOperationProtocol(_appLaunchUri, out var context);\r\n                if (operation == NotepadsOperationProtocol.OpenNewInstance || operation == NotepadsOperationProtocol.Unrecognized)\r\n                {\r\n                    // Do nothing\r\n                }\r\n                _appLaunchUri = null;\r\n            }\r\n\r\n            if (!_loaded)\r\n            {\r\n                if (loadedCount == 0)\r\n                {\r\n                    NotepadsCore.OpenNewTextEditor(_defaultNewFileName);\r\n                }\r\n                _loaded = true;\r\n            }\r\n\r\n            if (AppSettingsService.IsSessionSnapshotEnabled)\r\n            {\r\n                SessionManager.IsBackupEnabled = true;\r\n                SessionManager.StartSessionBackup();\r\n            }\r\n\r\n            await BuildOpenRecentButtonSubItemsAsync();\r\n\r\n            if (!App.IsGameBarWidget)\r\n            {\r\n                // An issue with the Game Bar extension model and Windows platform prevents the Notepads process from exiting cleanly\r\n                // when more than one CoreWindow has been created, and NotepadsMainPage is the last to close. The common case for this\r\n                // is to open Notepads in Game Bar, then open its settings, then close the settings and finally close Notepads.\r\n                // This puts the process in a bad state where it will no longer open in Game Bar and the Notepads process is orphaned.\r\n                // To work around this do not use the EnteredBackground event when running as a widget.\r\n                // Microsoft is tracking this issue as VSO#25735260\r\n                Application.Current.EnteredBackground -= App_EnteredBackground;\r\n                Application.Current.EnteredBackground += App_EnteredBackground;\r\n\r\n                Window.Current.CoreWindow.Activated -= CoreWindow_Activated;\r\n                Window.Current.CoreWindow.Activated += CoreWindow_Activated;\r\n            }\r\n        }\r\n\r\n        private async void App_EnteredBackground(object sender, Windows.ApplicationModel.EnteredBackgroundEventArgs e)\r\n        {\r\n            var deferral = e.GetDeferral();\r\n\r\n            if (AppSettingsService.IsSessionSnapshotEnabled)\r\n            {\r\n                await SessionManager.SaveSessionAsync();\r\n            }\r\n\r\n            deferral.Complete();\r\n        }\r\n\r\n        public void ExecuteProtocol(Uri uri)\r\n        {\r\n            LoggingService.LogInfo($\"[{nameof(NotepadsMainPage)}] Executing protocol: {uri}\", consoleOnly: true);\r\n        }\r\n\r\n        private void CoreWindow_Activated(Windows.UI.Core.CoreWindow sender, Windows.UI.Core.WindowActivatedEventArgs args)\r\n        {\r\n            if (args.WindowActivationState == Windows.UI.Core.CoreWindowActivationState.Deactivated)\r\n            {\r\n                LoggingService.LogInfo($\"[{nameof(NotepadsMainPage)}] CoreWindow Deactivated.\", consoleOnly: true);\r\n                NotepadsCore.GetSelectedTextEditor()?.StopCheckingFileStatus();\r\n                if (AppSettingsService.IsSessionSnapshotEnabled)\r\n                {\r\n                    SessionManager.StopSessionBackup();\r\n                }\r\n            }\r\n            else if (args.WindowActivationState == Windows.UI.Core.CoreWindowActivationState.PointerActivated ||\r\n                     args.WindowActivationState == Windows.UI.Core.CoreWindowActivationState.CodeActivated)\r\n            {\r\n                LoggingService.LogInfo($\"[{nameof(NotepadsMainPage)}] CoreWindow Activated.\", consoleOnly: true);\r\n                Task.Run(() => ApplicationSettingsStore.Write(SettingsKey.ActiveInstanceIdStr, App.InstanceId.ToString()));\r\n                NotepadsCore.GetSelectedTextEditor()?.StartCheckingFileStatusPeriodically();\r\n                if (AppSettingsService.IsSessionSnapshotEnabled)\r\n                {\r\n                    SessionManager.StartSessionBackup();\r\n                }\r\n            }\r\n        }\r\n\r\n        private void WindowVisibilityChangedEventHandler(System.Object sender, Windows.UI.Core.VisibilityChangedEventArgs e)\r\n        {\r\n            LoggingService.LogInfo($\"[{nameof(NotepadsMainPage)}] Window Visibility Changed, Visible = {e.Visible}.\", consoleOnly: true);\r\n            // Perform operations that should take place when the application becomes visible rather than\r\n            // when it is prelaunched, such as building a what's new feed\r\n        }\r\n\r\n        // Content sharing\r\n        private void MainPage_DataRequested(DataTransferManager sender, DataRequestedEventArgs args)\r\n        {\r\n            var textEditor = NotepadsCore.GetSelectedTextEditor();\r\n            if (textEditor == null) return;\r\n\r\n            if (NotepadsCore.TryGetSharingContent(textEditor, out var title, out var content))\r\n            {\r\n                args.Request.Data.Properties.Title = title;\r\n                args.Request.Data.SetText(content);\r\n            }\r\n            else\r\n            {\r\n                args.Request.FailWithDisplayText(_resourceLoader.GetString(\"ContentSharing_FailureDisplayText\"));\r\n            }\r\n        }\r\n\r\n        private async void MainPage_CloseRequested(object sender, Windows.UI.Core.Preview.SystemNavigationCloseRequestedPreviewEventArgs e)\r\n        {\r\n            var deferral = e.GetDeferral();\r\n\r\n            if (AppSettingsService.IsSessionSnapshotEnabled)\r\n            {\r\n                // Save session before app exit\r\n                await SessionManager.SaveSessionAsync(() => { SessionManager.IsBackupEnabled = false; });\r\n                App.InstanceHandlerMutex?.Dispose();\r\n                deferral.Complete();\r\n                return;\r\n            }\r\n\r\n            if (!NotepadsCore.HaveUnsavedTextEditor())\r\n            {\r\n                App.InstanceHandlerMutex?.Dispose();\r\n                deferral.Complete();\r\n                return;\r\n            }\r\n\r\n            HideAllOpenFlyouts();\r\n\r\n            var appCloseSaveReminderDialog = new AppCloseSaveReminderDialog(\r\n                async () =>\r\n                {\r\n                    var count = NotepadsCore.GetNumberOfOpenedTextEditors();\r\n\r\n                    foreach (var textEditor in NotepadsCore.GetAllTextEditors())\r\n                    {\r\n                        if (await SaveAsync(textEditor, saveAs: false, ignoreUnmodifiedDocument: true, rebuildOpenRecentItems: false))\r\n                        {\r\n                            NotepadsCore.DeleteTextEditor(textEditor);\r\n                            count--;\r\n                        }\r\n                    }\r\n\r\n                    // Prevent app from closing if there is any tab still opens\r\n                    if (count > 0)\r\n                    {\r\n                        e.Handled = true;\r\n                        await BuildOpenRecentButtonSubItemsAsync();\r\n                    }\r\n                    else\r\n                    {\r\n                        App.InstanceHandlerMutex?.Dispose();\r\n                    }\r\n\r\n                    deferral.Complete();\r\n                },\r\n                discardAndExitAction: () =>\r\n                {\r\n                    App.InstanceHandlerMutex?.Dispose();\r\n                    deferral.Complete();\r\n                },\r\n                cancelAction: () =>\r\n                {\r\n                    e.Handled = true;\r\n                    deferral.Complete();\r\n                });\r\n\r\n            var result = await DialogManager.OpenDialogAsync(appCloseSaveReminderDialog, awaitPreviousDialog: false);\r\n\r\n            if (result == null)\r\n            {\r\n                e.Handled = true;\r\n                deferral.Complete();\r\n            }\r\n\r\n            if (e.Handled && !appCloseSaveReminderDialog.IsAborted)\r\n            {\r\n                NotepadsCore.FocusOnSelectedTextEditor();\r\n            }\r\n        }\r\n\r\n        private void HideAllOpenFlyouts()\r\n        {\r\n            // Hide TextEditor ContextFlyout if it is showing\r\n            // Why we need to do this? Take a look here: https://github.com/microsoft/microsoft-ui-xaml/issues/2461\r\n            var editorFlyout = NotepadsCore.GetSelectedTextEditor()?.GetContextFlyout();\r\n            if (editorFlyout != null && editorFlyout.IsOpen)\r\n            {\r\n                editorFlyout.Hide();\r\n            }\r\n        }\r\n\r\n        private async void OnSessionBackupAndRestoreOptionChanged(object sender, bool isSessionBackupAndRestoreEnabled)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(async () =>\r\n            {\r\n                if (isSessionBackupAndRestoreEnabled)\r\n                {\r\n                    SessionManager.IsBackupEnabled = true;\r\n                    SessionManager.StartSessionBackup(startImmediately: true);\r\n                }\r\n                else\r\n                {\r\n                    SessionManager.IsBackupEnabled = false;\r\n                    SessionManager.StopSessionBackup();\r\n                    await SessionManager.ClearSessionDataAsync();\r\n                }\r\n            });\r\n        }\r\n\r\n        private static void UpdateApplicationTitle(ITextEditor activeTextEditor)\r\n        {\r\n            if (!App.IsGameBarWidget)\r\n            {\r\n                ApplicationView.GetForCurrentView().Title = activeTextEditor.EditingFileName ?? activeTextEditor.FileNamePlaceholder;\r\n            }\r\n        }\r\n\r\n        #endregion\r\n\r\n        #region NotepadsCore Events\r\n\r\n        private void OnTextEditorLoaded(object sender, ITextEditor textEditor)\r\n        {\r\n            if (NotepadsCore.GetSelectedTextEditor() == textEditor)\r\n            {\r\n                SetupStatusBar(textEditor);\r\n                NotepadsCore.FocusOnSelectedTextEditor();\r\n            }\r\n        }\r\n\r\n        private async void OnTextEditorUnloaded(object sender, ITextEditor textEditor)\r\n        {\r\n            if (NotepadsCore.GetNumberOfOpenedTextEditors() == 0)\r\n            {\r\n                if (AppSettingsService.IsSessionSnapshotEnabled)\r\n                {\r\n                    await SessionManager.SaveSessionAsync(() => { SessionManager.IsBackupEnabled = false; });\r\n                }\r\n\r\n                if (_lastTabMovedToAnotherInstance || AppSettingsService.ExitWhenLastTabClosed)\r\n                {\r\n                    if (!await ApplicationView.GetForCurrentView().TryConsolidateAsync())\r\n                    {\r\n                        AnalyticsService.TrackEvent(\"FailedToConsolidateOnExit\");\r\n                    }\r\n\r\n                    Application.Current.Exit();\r\n                }\r\n                else\r\n                {\r\n                    NotepadsCore.OpenNewTextEditor(_defaultNewFileName);\r\n                }\r\n            }\r\n        }\r\n\r\n        private void OnTextEditorFileModificationStateChanged(ITextEditor textEditor)\r\n        {\r\n            if (textEditor.FileModificationState == FileModificationState.Modified)\r\n            {\r\n                NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"TextEditor_FileModifiedOutsideIndicator_ToolTip\"), 3500);\r\n            }\r\n            else if (textEditor.FileModificationState == FileModificationState.RenamedMovedOrDeleted)\r\n            {\r\n                NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"TextEditor_FileRenamedMovedOrDeletedIndicator_ToolTip\"), 3500);\r\n            }\r\n            UpdateFileModificationStateIndicator(textEditor);\r\n            UpdatePathIndicator(textEditor);\r\n        }\r\n\r\n        private void OnTextEditorSaved(object sender, ITextEditor textEditor)\r\n        {\r\n            if (NotepadsCore.GetSelectedTextEditor() == textEditor)\r\n            {\r\n                SetupStatusBar(textEditor);\r\n            }\r\n            NotificationCenter.Instance.PostNotification(_resourceLoader.GetString(\"TextEditor_NotificationMsg_FileSaved\"), 1500);\r\n        }\r\n\r\n        private void OnTextEditorMovedToAnotherAppInstance(object sender, ITextEditor textEditor)\r\n        {\r\n            if (NotepadsCore.GetNumberOfOpenedTextEditors() == 1)\r\n            {\r\n                _lastTabMovedToAnotherInstance = true;\r\n            }\r\n            NotepadsCore.DeleteTextEditor(textEditor);\r\n        }\r\n\r\n        private async void OnTextEditorClosing(object sender, ITextEditor textEditor)\r\n        {\r\n            if (!AppSettingsService.ExitWhenLastTabClosed &&\r\n                NotepadsCore.GetNumberOfOpenedTextEditors() == 1 &&\r\n                textEditor.IsModified == false &&\r\n                textEditor.EditingFile == null)\r\n            {\r\n                // Do nothing if user doesn't want closing window when last tab closed\r\n                // And if user is trying to close the last tab and the last tab is a new empty document\r\n            }\r\n            else if (!textEditor.IsModified)\r\n            {\r\n                NotepadsCore.DeleteTextEditor(textEditor);\r\n            }\r\n            else // Remind user to save uncommitted changes\r\n            {\r\n                var file = textEditor.EditingFilePath ?? textEditor.FileNamePlaceholder;\r\n\r\n                var setCloseSaveReminderDialog = new SetCloseSaveReminderDialog(file,\r\n                    saveAction: async () =>\r\n                    {\r\n                        if (NotepadsCore.GetAllTextEditors().Contains(textEditor) && await SaveAsync(textEditor, saveAs: false))\r\n                        {\r\n                            NotepadsCore.DeleteTextEditor(textEditor);\r\n                        }\r\n                    },\r\n                    skipSavingAction: () =>\r\n                    {\r\n                        if (NotepadsCore.GetAllTextEditors().Contains(textEditor))\r\n                        {\r\n                            NotepadsCore.DeleteTextEditor(textEditor);\r\n                        }\r\n                    });\r\n\r\n                setCloseSaveReminderDialog.Opened += (s, a) =>\r\n                {\r\n                    if (NotepadsCore.GetAllTextEditors().Contains(textEditor))\r\n                    {\r\n                        NotepadsCore.SwitchTo(textEditor);\r\n                    }\r\n                };\r\n\r\n                await DialogManager.OpenDialogAsync(setCloseSaveReminderDialog, awaitPreviousDialog: true);\r\n\r\n                if (!setCloseSaveReminderDialog.IsAborted)\r\n                {\r\n                    NotepadsCore.FocusOnSelectedTextEditor();\r\n                }\r\n            }\r\n        }\r\n\r\n        private void OnTextEditorKeyDown(object sender, KeyRoutedEventArgs e)\r\n        {\r\n            if (!(sender is ITextEditor textEditor)) return;\r\n            // ignoring key events coming from inactive text editors\r\n            if (NotepadsCore.GetSelectedTextEditor() != textEditor) return;\r\n            var result = _keyboardCommandHandler.Handle(e);\r\n            if (result.ShouldHandle)\r\n            {\r\n                e.Handled = true;\r\n            }\r\n        }\r\n\r\n        private async void OnStorageItemsDropped(object sender, IReadOnlyList<IStorageItem> storageItems)\r\n        {\r\n            foreach (var storageItem in storageItems)\r\n            {\r\n                if (storageItem is StorageFile file)\r\n                {\r\n                    await OpenFileAsync(file);\r\n                    AnalyticsService.TrackEvent(\"OnStorageFileDropped\");\r\n                }\r\n            }\r\n        }\r\n\r\n        #endregion\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Views/Settings/AboutPage.xaml",
    "content": "﻿<Page\r\n    x:Class=\"Notepads.Views.Settings.AboutPage\"\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\"\r\n    xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"\r\n    mc:Ignorable=\"d\"\r\n    Background=\"{ThemeResource SystemControlForegroundTransparentBrush}\">\r\n\r\n    <Grid>\r\n        <Grid.ChildrenTransitions>\r\n            <TransitionCollection>\r\n                <EntranceThemeTransition FromHorizontalOffset=\"25\" FromVerticalOffset=\"0\"/>\r\n            </TransitionCollection>\r\n        </Grid.ChildrenTransitions>\r\n        <Grid.BackgroundTransition>\r\n            <BrushTransition />\r\n        </Grid.BackgroundTransition>\r\n\r\n        <ScrollViewer\r\n            Grid.Row=\"0\"\r\n            Padding=\"20,0,20,0\"\r\n            IsTabStop=\"False\"\r\n            UseSystemFocusVisuals=\"False\"\r\n            VerticalScrollBarVisibility=\"Auto\"\r\n            VerticalScrollMode=\"Auto\">\r\n            <StackPanel HorizontalAlignment=\"Left\" Margin=\"0,0,0,40\">\r\n                <StackPanel Orientation=\"Horizontal\" Margin=\"0,15,0,0\">\r\n                    <Image x:Name=\"AppIconImage\" Width=\"90\" Margin=\"-6,0,0,0\" Source=\"/Assets/appicon_ws.png\"/>\r\n                    <StackPanel Margin=\"10,0,0,0\">\r\n                        <TextBlock\r\n                            Margin=\"0,5,0,0\"\r\n                            FontWeight=\"Normal\"\r\n                            FontSize=\"25\"\r\n                            Text=\"{x:Bind AppName, Mode=OneTime}\" />\r\n                        <TextBlock\r\n                            Margin=\"2,5,0,5\"\r\n                            FontWeight=\"Normal\"\r\n                            FontSize=\"20\"\r\n                            Text=\"{x:Bind AppVersion, Mode=OneTime}\" />\r\n                    </StackPanel>\r\n                </StackPanel>\r\n                <RichTextBlock MaxWidth=\"600\" Margin=\"0,15,0,0\" IsTextSelectionEnabled=\"False\">\r\n                    <Paragraph>\r\n                        <Run x:Uid=\"/Settings/AboutPage_NotepadsShortDescription\"/>\r\n                    </Paragraph>\r\n                    <Paragraph Margin=\"0,15,0,0\">\r\n                        <Run x:Uid=\"/Settings/AboutPage_Notepads_SourceCodeTitle\"/>\r\n                    </Paragraph>\r\n                    <Paragraph>\r\n                        <Hyperlink NavigateUri=\"https://github.com/0x7c13/Notepads\">\r\n                            https://github.com/0x7c13/Notepads\r\n                        </Hyperlink>\r\n                    </Paragraph>\r\n                    <Paragraph Margin=\"0,15,0,0\">\r\n                        <Run x:Uid=\"/Settings/AboutPage_Notepads_WebsiteTitle\"/>\r\n                    </Paragraph>\r\n                    <Paragraph>\r\n                        <Hyperlink NavigateUri=\"https://www.NotepadsApp.com\">\r\n                            https://www.NotepadsApp.com\r\n                        </Hyperlink>\r\n                    </Paragraph>\r\n                    <Paragraph Margin=\"0,15,0,0\">\r\n                        <Run x:Uid=\"/Settings/AboutPage_Notepads_AuthorContactsTitle\"/>\r\n                        <Hyperlink NavigateUri=\"mailto:NotepadsApp@outlook.com\">\r\n                            mailto:NotepadsApp@outlook.com\r\n                        </Hyperlink>\r\n                    </Paragraph>\r\n                    <Paragraph Margin=\"0,15,0,0\">\r\n                        <Run x:Uid=\"/Settings/AboutPage_Notepads_IssueAndFeatureRequestsTitle\"/>\r\n                    </Paragraph>\r\n                    <Paragraph>\r\n                        <Hyperlink NavigateUri=\"https://github.com/0x7c13/Notepads/issues\">\r\n                            https://github.com/0x7c13/Notepads/issues\r\n                        </Hyperlink>\r\n                    </Paragraph>\r\n                </RichTextBlock>\r\n                <Button  Content=\"Feedback\" Margin=\"0,8,0,0\" Visibility=\"Collapsed\" />\r\n\r\n                <TextBlock\r\n                    x:Uid=\"/Settings/AboutPage_ChangelogUrl_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,20,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <RichTextBlock IsTextSelectionEnabled=\"False\" MaxWidth=\"600\" Margin=\"0,10,0,0\" >\r\n                    <Paragraph Margin=\"0,10,0,10\">\r\n                        <Hyperlink NavigateUri=\"https://github.com/0x7c13/Notepads/releases\">Notepads Releases</Hyperlink>\r\n                    </Paragraph>\r\n                </RichTextBlock>\r\n\r\n                <TextBlock\r\n                    x:Uid=\"/Settings/AboutPage_DependenciesAndReferences_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,20,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <RichTextBlock IsTextSelectionEnabled=\"False\" MaxWidth=\"600\" Margin=\"0,10,0,0\" >\r\n                    <Paragraph Margin=\"0,10,0,10\">\r\n                        <Hyperlink NavigateUri=\"https://github.com/Microsoft/microsoft-ui-xaml\">Windows UI Library</Hyperlink>\r\n                    </Paragraph>\r\n                    <Paragraph Margin=\"0,10,0,10\">\r\n                        <Hyperlink NavigateUri=\"https://github.com/windows-toolkit/WindowsCommunityToolkit\">Windows Community Toolkit</Hyperlink>\r\n                    </Paragraph>\r\n                    <Paragraph Margin=\"0,10,0,10\">\r\n                        <Hyperlink NavigateUri=\"https://github.com/microsoft/Xaml-Controls-Gallery\">XAML Controls Gallery</Hyperlink>\r\n                    </Paragraph>\r\n                    <Paragraph Margin=\"0,10,0,10\">\r\n                        <Hyperlink NavigateUri=\"https://github.com/WilliamABradley/ColorCode-Universal\">ColorCode Universal</Hyperlink>\r\n                    </Paragraph>\r\n                    <Paragraph Margin=\"0,10,0,10\">\r\n                        <Hyperlink NavigateUri=\"https://github.com/CharsetDetector/UTF-unknown\">UTF Unknown</Hyperlink>\r\n                    </Paragraph>\r\n                    <Paragraph Margin=\"0,10,0,10\">\r\n                        <Hyperlink NavigateUri=\"https://github.com/mmanela/diffplex\">DiffPlex</Hyperlink>\r\n                    </Paragraph>\r\n                    <Paragraph Margin=\"0,10,0,10\">\r\n                        <Hyperlink NavigateUri=\"https://github.com/microsoft/Win2D\">Win2D</Hyperlink>\r\n                    </Paragraph>\r\n                </RichTextBlock>\r\n\r\n                <TextBlock\r\n                    x:Uid=\"/Settings/AboutPage_Disclaimer_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,20,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <RichTextBlock MaxWidth=\"600\" Margin=\"0,10,0,0\" IsTextSelectionEnabled=\"False\">\r\n                    <Paragraph>\r\n                        <Run x:Uid=\"/Settings/AboutPage_Disclaimer_Content\"/>\r\n                    </Paragraph>\r\n                    <Paragraph>\r\n                        <LineBreak /> Copyright (c) 2019-2024 Jackie (Jiaqi) Liu.\r\n                    </Paragraph>\r\n                    <Paragraph Margin=\"0,10,0,10\">\r\n                        <Hyperlink NavigateUri=\"https://github.com/0x7c13/Notepads/blob/master/PRIVACY.md\" >\r\n                            <Run x:Uid=\"/Settings/AboutPage_PrivacyStatementTitle\"/>\r\n                        </Hyperlink>\r\n                    </Paragraph>\r\n                </RichTextBlock>\r\n            </StackPanel>\r\n        </ScrollViewer>\r\n\r\n    </Grid>\r\n</Page>\r\n"
  },
  {
    "path": "src/Notepads/Views/Settings/AboutPage.xaml.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Views.Settings\r\n{\r\n    using System;\r\n    using Notepads.Extensions;\r\n    using Notepads.Services;\r\n    using Windows.ApplicationModel;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Media.Imaging;\r\n\r\n    public sealed partial class AboutPage : Page\r\n    {\r\n        public string AppName => App.ApplicationName;\r\n\r\n        public string AppVersion => $\"v{GetAppVersion()}\";\r\n\r\n        public AboutPage()\r\n        {\r\n            InitializeComponent();\r\n            SetAppIconBasedOnTheme(ThemeSettingsService.ThemeMode);\r\n\r\n            Loaded += AboutPage_Loaded;\r\n            Unloaded += AboutPage_Unloaded;\r\n        }\r\n\r\n        private void AboutPage_Loaded(object sender, RoutedEventArgs e)\r\n        {\r\n            ThemeSettingsService.OnThemeChanged += ThemeSettingsService_OnThemeChanged;\r\n        }\r\n\r\n        private void AboutPage_Unloaded(object sender, RoutedEventArgs e)\r\n        {\r\n            ThemeSettingsService.OnThemeChanged -= ThemeSettingsService_OnThemeChanged;\r\n        }\r\n\r\n        private async void ThemeSettingsService_OnThemeChanged(object sender, ElementTheme theme)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                SetAppIconBasedOnTheme(theme);\r\n            });\r\n        }\r\n\r\n        private void SetAppIconBasedOnTheme(ElementTheme theme)\r\n        {\r\n            if (theme == ElementTheme.Dark || theme == ElementTheme.Default)\r\n            {\r\n                AppIconImage.Source = new BitmapImage(new Uri(\"ms-appx:///Assets/appicon_w.png\"));\r\n            }\r\n            else\r\n            {\r\n                AppIconImage.Source = new BitmapImage(new Uri(\"ms-appx:///Assets/appicon_b.png\"));\r\n            }\r\n        }\r\n\r\n        private static string GetAppVersion()\r\n        {\r\n            PackageVersion version = Package.Current.Id.Version;\r\n            return $\"{version.Major}.{version.Minor}.{version.Build}.{version.Revision}\";\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Views/Settings/AdvancedSettingsPage.xaml",
    "content": "﻿<Page\r\n    x:Class=\"Notepads.Views.Settings.AdvancedSettingsPage\"\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\"\r\n    xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"\r\n    xmlns:utilities=\"using:Notepads.Utilities\"\r\n    mc:Ignorable=\"d\"\r\n    Background=\"{ThemeResource SystemControlForegroundTransparentBrush}\">\r\n\r\n    <Grid>\r\n        <Grid.ChildrenTransitions>\r\n            <TransitionCollection>\r\n                <EntranceThemeTransition FromHorizontalOffset=\"25\" FromVerticalOffset=\"0\"/>\r\n            </TransitionCollection>\r\n        </Grid.ChildrenTransitions>\r\n        <Grid.BackgroundTransition>\r\n            <BrushTransition />\r\n        </Grid.BackgroundTransition>\r\n\r\n        <ScrollViewer\r\n            Grid.Row=\"0\"\r\n            Padding=\"20,0,20,0\"\r\n            IsTabStop=\"False\"\r\n            UseSystemFocusVisuals=\"False\"\r\n            VerticalScrollBarVisibility=\"Auto\"\r\n            VerticalScrollMode=\"Auto\">\r\n            <StackPanel HorizontalAlignment=\"Left\" Margin=\"0,0,0,40\">\r\n                <TextBlock\r\n                    x:Uid=\"/Settings/AdvancedPage_StatusBarSettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,15,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <StackPanel Margin=\"0,10,0,0\">\r\n                    <ToggleSwitch x:Uid=\"/Settings/AdvancedPage_StatusBarSettings_ShowHideStatusBarToggleSwitch\"\r\n                                  Style=\"{StaticResource CustomToggleSwitchStyle}\" \r\n                                  x:Name=\"ShowStatusBarToggleSwitch\" />\r\n                </StackPanel>\r\n                <TextBlock\r\n                    x:Uid=\"/Settings/AdvancedPage_SmartCopySettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,15,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <StackPanel Margin=\"0,10,0,0\">\r\n                    <ToggleSwitch x:Uid=\"/Settings/AdvancedPage_SmartCopySettings_EnableSmartCopyToggleSwitch\"\r\n                                  Style=\"{StaticResource CustomToggleSwitchStyle}\" \r\n                                  x:Name=\"EnableSmartCopyToggleSwitch\" />\r\n                    <TextBlock x:Uid=\"/Settings/AdvancedPage_SmartCopySettings_Description\" Style=\"{ThemeResource DescriptionTextBlockStyle}\" Margin=\"0,8,0,0\"/>\r\n                </StackPanel>\r\n                <TextBlock\r\n                    x:Name=\"SessionSnapshotSettingsTitle\"\r\n                    x:Uid=\"/Settings/AdvancedPage_SessionSnapshotSettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,20,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <StackPanel x:Name=\"SessionSnapshotSettingsControls\" Margin=\"0,10,0,0\">\r\n                    <ToggleSwitch x:Uid=\"/Settings/AdvancedPage_SessionSnapshotSettings_OnOffToggleSwitch\"\r\n                                  Style=\"{StaticResource CustomToggleSwitchStyle}\" \r\n                                  x:Name=\"EnableSessionSnapshotToggleSwitch\" />\r\n                    <TextBlock x:Uid=\"/Settings/AdvancedPage_SessionSnapshotSettings_Description\" Style=\"{ThemeResource DescriptionTextBlockStyle}\" Margin=\"0,8,0,0\"/>\r\n                </StackPanel>\r\n                <TextBlock\r\n                    x:Name=\"LaunchPreferenceSettingsTitle\"\r\n                    x:Uid=\"/Settings/AdvancedPage_LaunchPreferenceSettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,25,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <StackPanel x:Name=\"LaunchPreferenceSettingsControls\" Margin=\"0,10,0,0\">\r\n                    <ToggleSwitch x:Uid=\"/Settings/AdvancedPage_LaunchPreferenceSettings_AlwaysOpenNewWindowToggleSwitch\"\r\n                                  Style=\"{StaticResource CustomToggleSwitchStyle}\" \r\n                                  x:Name=\"AlwaysOpenNewWindowToggleSwitch\" \r\n                                  Margin=\"0,10,0,0\" />\r\n                    <TextBlock x:Uid=\"/Settings/AdvancedPage_AlwaysOpenNewWindow_Description\" Style=\"{ThemeResource DescriptionTextBlockStyle}\" Margin=\"0,8,0,8\"/>\r\n                    <ToggleSwitch x:Uid=\"/Settings/AdvancedPage_LaunchPreferenceSettings_ExitWhenLastTabClosedToggleSwitch\"\r\n                                  Style=\"{StaticResource CustomToggleSwitchStyle}\" \r\n                                  x:Name=\"ExitWhenLastTabClosedToggleSwitch\" />\r\n                </StackPanel>\r\n                <StackPanel x:Name=\"LanguagePreferenceSettingsPanel\">\r\n                    <TextBlock\r\n                    x:Name=\"LanguagePreferenceSettingsTitle\"\r\n                    x:Uid=\"/Settings/AdvancedPage_LanguagePreferenceSettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,25,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                    <StackPanel x:Name=\"LanguagePreferenceSettingsControls\" Margin=\"0,10,0,0\">\r\n                        <ComboBox x:Name=\"LanguagePicker\"\r\n                              ItemsSource=\"{x:Bind SupportedLanguages, Mode=OneTime}\"\r\n                              HorizontalAlignment=\"Stretch\"\r\n                              VerticalAlignment=\"Center\"\r\n                              BorderThickness=\"1\"\r\n                              Height=\"36\"\r\n                              Background=\"Transparent\"\r\n                              IsTextSearchEnabled=\"True\">\r\n                            <ComboBox.ItemTemplate>\r\n                                <DataTemplate x:DataType=\"utilities:LanguageItem\">\r\n                                    <TextBlock Text=\"{x:Bind Name}\" />\r\n                                </DataTemplate>\r\n                            </ComboBox.ItemTemplate>\r\n                        </ComboBox>\r\n                        <TextBlock x:Name=\"RestartPrompt\"\r\n                                   x:Uid=\"/Settings/AdvancedPage_LanguagePreferenceSettings_RestartPrompt\"\r\n                                   Style=\"{ThemeResource DescriptionTextBlockStyle}\"\r\n                                   Foreground=\"{ThemeResource SystemControlErrorTextForegroundBrush}\"\r\n                                   TextWrapping=\"Wrap\"\r\n                                   Visibility=\"Collapsed\"\r\n                                   Margin=\"0,4,0,0\"/>\r\n                        <TextBlock x:Uid=\"/Settings/AdvancedPage_LanguagePreferenceSettings_Description\"\r\n                                   Style=\"{ThemeResource DescriptionTextBlockStyle}\"\r\n                                   Margin=\"0,8,0,0\"/>\r\n                    </StackPanel>\r\n                </StackPanel>\r\n            </StackPanel>\r\n        </ScrollViewer>\r\n\r\n    </Grid>\r\n</Page>\r\n"
  },
  {
    "path": "src/Notepads/Views/Settings/AdvancedSettingsPage.xaml.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Views.Settings\r\n{\r\n    using Notepads.Services;\r\n    using Notepads.Utilities;\r\n    using System.Collections.Generic;\r\n    using System.Linq;\r\n    using Windows.Globalization;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n\r\n    public sealed partial class AdvancedSettingsPage : Page\r\n    {\r\n        private readonly IReadOnlyCollection<LanguageItem> SupportedLanguages = LanguageUtility.GetSupportedLanguageItems();\r\n\r\n        public AdvancedSettingsPage()\r\n        {\r\n            InitializeComponent();\r\n\r\n            ShowStatusBarToggleSwitch.IsOn = AppSettingsService.ShowStatusBar;\r\n            EnableSmartCopyToggleSwitch.IsOn = AppSettingsService.IsSmartCopyEnabled;\r\n\r\n            // Disable session snapshot toggle for shadow windows\r\n            if (!App.IsPrimaryInstance)\r\n            {\r\n                EnableSessionSnapshotToggleSwitch.IsOn = false;\r\n                EnableSessionSnapshotToggleSwitch.IsEnabled = false;\r\n            }\r\n            else\r\n            {\r\n                EnableSessionSnapshotToggleSwitch.IsOn = AppSettingsService.IsSessionSnapshotEnabled;\r\n            }\r\n\r\n            ExitWhenLastTabClosedToggleSwitch.IsOn = AppSettingsService.ExitWhenLastTabClosed;\r\n            AlwaysOpenNewWindowToggleSwitch.IsOn = AppSettingsService.AlwaysOpenNewWindow;\r\n\r\n            if (App.IsGameBarWidget)\r\n            {\r\n                // these settings don't make sense for Game Bar, there can be only one\r\n                SessionSnapshotSettingsTitle.Visibility = Visibility.Collapsed;\r\n                SessionSnapshotSettingsControls.Visibility = Visibility.Collapsed;\r\n                LaunchPreferenceSettingsTitle.Visibility = Visibility.Collapsed;\r\n                LaunchPreferenceSettingsControls.Visibility = Visibility.Collapsed;\r\n            }\r\n\r\n            LanguagePicker.SelectedItem = SupportedLanguages.FirstOrDefault(language => language.ID == ApplicationLanguages.PrimaryLanguageOverride);\r\n            RestartPrompt.Visibility = LanguageUtility.CurrentLanguageID == ApplicationLanguages.PrimaryLanguageOverride ? Visibility.Collapsed : Visibility.Visible;\r\n\r\n            Loaded += AdvancedSettings_Loaded;\r\n            Unloaded += AdvancedSettings_Unloaded;\r\n        }\r\n\r\n        private void AdvancedSettings_Loaded(object sender, RoutedEventArgs e)\r\n        {\r\n            ShowStatusBarToggleSwitch.Toggled += ShowStatusBarToggleSwitch_Toggled;\r\n            EnableSmartCopyToggleSwitch.Toggled += EnableSmartCopyToggleSwitch_Toggled;\r\n            EnableSessionSnapshotToggleSwitch.Toggled += EnableSessionBackupAndRestoreToggleSwitch_Toggled;\r\n            ExitWhenLastTabClosedToggleSwitch.Toggled += ExitWhenLastTabClosedToggleSwitch_Toggled;\r\n            AlwaysOpenNewWindowToggleSwitch.Toggled += AlwaysOpenNewWindowToggleSwitch_Toggled;\r\n            LanguagePicker.SelectionChanged += LanguagePicker_SelectionChanged;\r\n        }\r\n\r\n        private void AdvancedSettings_Unloaded(object sender, RoutedEventArgs e)\r\n        {\r\n            ShowStatusBarToggleSwitch.Toggled -= ShowStatusBarToggleSwitch_Toggled;\r\n            EnableSmartCopyToggleSwitch.Toggled -= EnableSmartCopyToggleSwitch_Toggled;\r\n            EnableSessionSnapshotToggleSwitch.Toggled -= EnableSessionBackupAndRestoreToggleSwitch_Toggled;\r\n            ExitWhenLastTabClosedToggleSwitch.Toggled -= ExitWhenLastTabClosedToggleSwitch_Toggled;\r\n            AlwaysOpenNewWindowToggleSwitch.Toggled -= AlwaysOpenNewWindowToggleSwitch_Toggled;\r\n            LanguagePicker.SelectionChanged -= LanguagePicker_SelectionChanged;\r\n        }\r\n\r\n        private void EnableSmartCopyToggleSwitch_Toggled(object sender, RoutedEventArgs e)\r\n        {\r\n            AppSettingsService.IsSmartCopyEnabled = EnableSmartCopyToggleSwitch.IsOn;\r\n        }\r\n\r\n        private void EnableSessionBackupAndRestoreToggleSwitch_Toggled(object sender, RoutedEventArgs e)\r\n        {\r\n            AppSettingsService.IsSessionSnapshotEnabled = EnableSessionSnapshotToggleSwitch.IsOn;\r\n        }\r\n\r\n        private void ShowStatusBarToggleSwitch_Toggled(object sender, RoutedEventArgs e)\r\n        {\r\n            AppSettingsService.ShowStatusBar = ShowStatusBarToggleSwitch.IsOn;\r\n        }\r\n\r\n        private void ExitWhenLastTabClosedToggleSwitch_Toggled(object sender, RoutedEventArgs e)\r\n        {\r\n            AppSettingsService.ExitWhenLastTabClosed = ExitWhenLastTabClosedToggleSwitch.IsOn;\r\n        }\r\n\r\n        private void AlwaysOpenNewWindowToggleSwitch_Toggled(object sender, RoutedEventArgs e)\r\n        {\r\n            AppSettingsService.AlwaysOpenNewWindow = AlwaysOpenNewWindowToggleSwitch.IsOn;\r\n        }\r\n\r\n        private void LanguagePicker_SelectionChanged(object sender, SelectionChangedEventArgs e)\r\n        {\r\n            var languageId = ((LanguageItem)e.AddedItems.First()).ID;\r\n\r\n            RestartPrompt.Visibility = languageId == LanguageUtility.CurrentLanguageID ? Visibility.Collapsed : Visibility.Visible;\r\n\r\n            ApplicationLanguages.PrimaryLanguageOverride = languageId;\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "src/Notepads/Views/Settings/PersonalizationSettingsPage.xaml",
    "content": "﻿<Page\r\n    x:Class=\"Notepads.Views.Settings.PersonalizationSettingsPage\"\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\"\r\n    xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"\r\n    mc:Ignorable=\"d\"\r\n    Background=\"{ThemeResource SystemControlForegroundTransparentBrush}\">\r\n\r\n    <Grid>\r\n        <Grid.ChildrenTransitions>\r\n            <TransitionCollection>\r\n                <EntranceThemeTransition FromHorizontalOffset=\"25\" FromVerticalOffset=\"0\"/>\r\n            </TransitionCollection>\r\n        </Grid.ChildrenTransitions>\r\n        <Grid.BackgroundTransition>\r\n            <BrushTransition />\r\n        </Grid.BackgroundTransition>\r\n\r\n        <ScrollViewer\r\n            Grid.Row=\"0\"\r\n            Padding=\"20,0,20,0\"\r\n            IsTabStop=\"False\"\r\n            UseSystemFocusVisuals=\"False\"\r\n            VerticalScrollBarVisibility=\"Auto\"\r\n            VerticalScrollMode=\"Auto\">\r\n            <StackPanel HorizontalAlignment=\"Left\" Margin=\"0,0,0,40\">\r\n                <TextBlock\r\n                    x:Uid=\"/Settings/PersonalizationPage_ThemeModeSettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,15,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <StackPanel x:Name=\"ThemePanel\" Margin=\"0,10,0,0\">\r\n                    <RadioButton x:Uid=\"/Settings/PersonalizationPage_ThemeModeSettings_LightModeRadioButton\" Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"ThemeModeLightButton\" Tag=\"Light\" />\r\n                    <RadioButton x:Uid=\"/Settings/PersonalizationPage_ThemeModeSettings_DarkModeRadioButton\" Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"ThemeModeDarkButton\" Tag=\"Dark\" />\r\n                    <RadioButton x:Uid=\"/Settings/PersonalizationPage_ThemeModeSettings_WindowsModeRadioButton\" Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"ThemeModeDefaultButton\" Tag=\"Default\" />\r\n                </StackPanel>\r\n                <TextBlock x:Name=\"BackgroundTintOpacityTitle\"\r\n                    x:Uid=\"/Settings/PersonalizationPage_BackgroundTintOpacitySettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,20,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <StackPanel x:Name=\"BackgroundTintOpacityControls\" Margin=\"0,10,0,0\">\r\n                    <StackPanel Orientation=\"Horizontal\">\r\n                        <Slider Style=\"{StaticResource CustomSliderStyle}\" \r\n                                x:Name=\"BackgroundTintOpacitySlider\"\r\n                                Minimum=\"0\" Maximum=\"100\" \r\n                                StepFrequency=\"1\"\r\n                                Margin=\"0,0,10,0\" \r\n                                Width=\"200\"/>\r\n                        <TextBlock Text=\"{x:Bind BackgroundTintOpacitySlider.Value, Mode=OneWay}\"\r\n                                   Height=\"{x:Bind BackgroundTintOpacitySlider.Height, Mode=OneWay}\"\r\n                                   VerticalAlignment=\"Center\" \r\n                                   FontSize=\"18\"/>\r\n                        <TextBlock Text=\"%\"\r\n                                   Height=\"{x:Bind BackgroundTintOpacitySlider.Height, Mode=OneWay}\"\r\n                                   VerticalAlignment=\"Center\" \r\n                                   FontSize=\"18\"/>\r\n                    </StackPanel>\r\n                    <TextBlock x:Uid=\"/Settings/PersonalizationPage_BackgroundTintOpacitySettings_Description\" Style=\"{ThemeResource DescriptionTextBlockStyle}\" Margin=\"0,8,0,0\"/>\r\n                </StackPanel>\r\n                <TextBlock\r\n                    x:Uid=\"/Settings/PersonalizationPage_AccentColorSettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,20,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <StackPanel Margin=\"0,10,0,0\">\r\n                    <ToggleSwitch x:Uid=\"/Settings/PersonalizationPage_AccentColorSettings_UseWindowsAccentColorToggleSwitch\" Style=\"{StaticResource CustomToggleSwitchStyle}\" x:Name=\"AccentColorToggle\" Margin=\"0,0,0,8\"/>\r\n                    <Viewbox MaxWidth=\"300\" Stretch=\"Fill\">\r\n                        <ColorPicker\r\n                            x:Name=\"AccentColorPicker\"\r\n                            ColorSpectrumShape=\"Ring\"\r\n                            IsColorSliderVisible=\"True\"\r\n                            IsColorChannelTextInputVisible=\"True\"\r\n                            IsHexInputVisible=\"True\"\r\n                            IsAlphaEnabled=\"False\"\r\n                            IsAlphaSliderVisible=\"True\"\r\n                            IsAlphaTextInputVisible=\"True\">\r\n                        </ColorPicker>\r\n                    </Viewbox>\r\n                </StackPanel>\r\n\r\n            </StackPanel>\r\n        </ScrollViewer>\r\n    </Grid>\r\n</Page>\r\n"
  },
  {
    "path": "src/Notepads/Views/Settings/PersonalizationSettingsPage.xaml.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Views.Settings\r\n{\r\n    using Notepads.Extensions;\r\n    using Notepads.Services;\r\n    using Windows.System.Power;\r\n    using Windows.UI;\r\n    using Windows.UI.ViewManagement;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Controls.Primitives;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    public sealed partial class PersonalizationSettingsPage : Page\r\n    {\r\n        private readonly UISettings UISettings = new UISettings();\r\n\r\n        public PersonalizationSettingsPage()\r\n        {\r\n            InitializeComponent();\r\n\r\n            if (ThemeSettingsService.UseWindowsTheme)\r\n            {\r\n                ThemeModeDefaultButton.IsChecked = true;\r\n            }\r\n            else\r\n            {\r\n                switch (ThemeSettingsService.ThemeMode)\r\n                {\r\n                    case ElementTheme.Light:\r\n                        ThemeModeLightButton.IsChecked = true;\r\n                        break;\r\n                    case ElementTheme.Dark:\r\n                        ThemeModeDarkButton.IsChecked = true;\r\n                        break;\r\n                }\r\n            }\r\n\r\n            AccentColorToggle.IsOn = ThemeSettingsService.UseWindowsAccentColor;\r\n            AccentColorPicker.IsEnabled = !ThemeSettingsService.UseWindowsAccentColor;\r\n            BackgroundTintOpacitySlider.Value = ThemeSettingsService.AppBackgroundPanelTintOpacity * 100;\r\n            AccentColorPicker.Color = ThemeSettingsService.AppAccentColor;\r\n\r\n            if (App.IsGameBarWidget)\r\n            {\r\n                // Game Bar widgets do not support transparency, disable this setting\r\n                BackgroundTintOpacityTitle.Visibility = Visibility.Collapsed;\r\n                BackgroundTintOpacityControls.Visibility = Visibility.Collapsed;\r\n            }\r\n            else\r\n            {\r\n                BackgroundTintOpacitySlider.IsEnabled = UISettings.AdvancedEffectsEnabled &&\r\n                                                        PowerManager.EnergySaverStatus != EnergySaverStatus.On;\r\n            }\r\n\r\n            Loaded += PersonalizationSettings_Loaded;\r\n            Unloaded += PersonalizationSettings_Unloaded;\r\n        }\r\n\r\n        private async void ThemeSettingsService_OnAccentColorChanged(object sender, Color color)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                BackgroundTintOpacitySlider.Foreground = new SolidColorBrush(color);\r\n                AccentColorPicker.ColorChanged -= AccentColorPicker_OnColorChanged;\r\n                AccentColorPicker.Color = color;\r\n                AccentColorPicker.ColorChanged += AccentColorPicker_OnColorChanged;\r\n            });\r\n        }\r\n\r\n        private void PersonalizationSettings_Loaded(object sender, RoutedEventArgs e)\r\n        {\r\n            ThemeModeDefaultButton.Checked += ThemeRadioButton_OnChecked;\r\n            ThemeModeLightButton.Checked += ThemeRadioButton_OnChecked;\r\n            ThemeModeDarkButton.Checked += ThemeRadioButton_OnChecked;\r\n            BackgroundTintOpacitySlider.ValueChanged += BackgroundTintOpacitySlider_OnValueChanged;\r\n            AccentColorToggle.Toggled += WindowsAccentColorToggle_OnToggled;\r\n            AccentColorPicker.ColorChanged += AccentColorPicker_OnColorChanged;\r\n            ThemeSettingsService.OnAccentColorChanged += ThemeSettingsService_OnAccentColorChanged;\r\n            if (!App.IsGameBarWidget)\r\n            {\r\n                UISettings.AdvancedEffectsEnabledChanged += UISettings_AdvancedEffectsEnabledChanged;\r\n                PowerManager.EnergySaverStatusChanged += PowerManager_EnergySaverStatusChanged;\r\n            }\r\n        }\r\n\r\n        private void PersonalizationSettings_Unloaded(object sender, RoutedEventArgs e)\r\n        {\r\n            ThemeModeDefaultButton.Checked -= ThemeRadioButton_OnChecked;\r\n            ThemeModeLightButton.Checked -= ThemeRadioButton_OnChecked;\r\n            ThemeModeDarkButton.Checked -= ThemeRadioButton_OnChecked;\r\n            BackgroundTintOpacitySlider.ValueChanged -= BackgroundTintOpacitySlider_OnValueChanged;\r\n            AccentColorToggle.Toggled -= WindowsAccentColorToggle_OnToggled;\r\n            AccentColorPicker.ColorChanged -= AccentColorPicker_OnColorChanged;\r\n            ThemeSettingsService.OnAccentColorChanged -= ThemeSettingsService_OnAccentColorChanged;\r\n            if (!App.IsGameBarWidget)\r\n            {\r\n                UISettings.AdvancedEffectsEnabledChanged -= UISettings_AdvancedEffectsEnabledChanged;\r\n                PowerManager.EnergySaverStatusChanged -= PowerManager_EnergySaverStatusChanged;\r\n            }\r\n        }\r\n\r\n        private async void PowerManager_EnergySaverStatusChanged(object sender, object e)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                BackgroundTintOpacitySlider.IsEnabled = UISettings.AdvancedEffectsEnabled &&\r\n                                                        PowerManager.EnergySaverStatus != EnergySaverStatus.On;\r\n            });\r\n        }\r\n\r\n        private async void UISettings_AdvancedEffectsEnabledChanged(UISettings sender, object args)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                BackgroundTintOpacitySlider.IsEnabled = UISettings.AdvancedEffectsEnabled &&\r\n                                                        PowerManager.EnergySaverStatus != EnergySaverStatus.On;\r\n            });\r\n        }\r\n\r\n        private void ThemeRadioButton_OnChecked(object sender, RoutedEventArgs e)\r\n        {\r\n            if (sender is RadioButton radioButton)\r\n            {\r\n                switch (radioButton.Tag)\r\n                {\r\n                    case \"Light\":\r\n                        ThemeSettingsService.UseWindowsTheme = false;\r\n                        ThemeSettingsService.SetTheme(ElementTheme.Light);\r\n                        break;\r\n                    case \"Dark\":\r\n                        ThemeSettingsService.UseWindowsTheme = false;\r\n                        ThemeSettingsService.SetTheme(ElementTheme.Dark);\r\n                        break;\r\n                    case \"Default\":\r\n                        ThemeSettingsService.UseWindowsTheme = true;\r\n                        break;\r\n                }\r\n            }\r\n        }\r\n\r\n        private void AccentColorPicker_OnColorChanged(ColorPicker sender, ColorChangedEventArgs args)\r\n        {\r\n            if (AccentColorPicker.IsEnabled)\r\n            {\r\n                ThemeSettingsService.AppAccentColor = args.NewColor;\r\n                if (!AccentColorToggle.IsOn) ThemeSettingsService.CustomAccentColor = args.NewColor;\r\n            }\r\n        }\r\n\r\n        private void BackgroundTintOpacitySlider_OnValueChanged(object sender, RangeBaseValueChangedEventArgs e)\r\n        {\r\n            ThemeSettingsService.AppBackgroundPanelTintOpacity = e.NewValue / 100;\r\n        }\r\n\r\n        private void WindowsAccentColorToggle_OnToggled(object sender, RoutedEventArgs e)\r\n        {\r\n            AccentColorPicker.IsEnabled = !AccentColorToggle.IsOn;\r\n            ThemeSettingsService.UseWindowsAccentColor = AccentColorToggle.IsOn;\r\n            AccentColorPicker.Color = AccentColorToggle.IsOn ? ThemeSettingsService.AppAccentColor : ThemeSettingsService.CustomAccentColor;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Views/Settings/SettingsPage.xaml",
    "content": "﻿<Page\r\n    x:Class=\"Notepads.Views.Settings.SettingsPage\"\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\"\r\n    xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"\r\n    xmlns:settings=\"using:Notepads.Views.Settings\"\r\n    mc:Ignorable=\"d\"\r\n    Background=\"{ThemeResource SystemControlForegroundTransparentBrush}\">\r\n\r\n    <NavigationView x:Name=\"SettingsNavigationView\"\r\n                    IsPaneOpen=\"False\"\r\n                    IsSettingsVisible=\"False\"\r\n                    IsBackEnabled=\"False\"\r\n                    IsBackButtonVisible=\"Collapsed\"\r\n                    PaneDisplayMode=\"LeftCompact\"\r\n                    OpenPaneLength=\"200\"\r\n                    ItemInvoked=\"SettingsPanel_OnItemInvoked\">\r\n\r\n        <NavigationView.MenuItems>\r\n            <NavigationViewItem Style=\"{StaticResource CustomNavigationViewItemStyle}\" \r\n                                x:Uid=\"/Settings/TextAndEditorPage_Title\"\r\n                                Tag=\"TextAndEditor\"\r\n                                IsSelected=\"True\">\r\n                <NavigationViewItem.Icon>\r\n                    <FontIcon FontFamily=\"Segoe MDL2 Assets\"\r\n                              Glyph=\"&#xF17F;\" />\r\n                </NavigationViewItem.Icon>\r\n            </NavigationViewItem>\r\n            <NavigationViewItem Style=\"{StaticResource CustomNavigationViewItemStyle}\" \r\n                                x:Uid=\"/Settings/PersonalizationPage_Title\"\r\n                                Tag=\"Personalization\" >\r\n                <NavigationViewItem.Icon>\r\n                    <FontIcon FontFamily=\"Segoe MDL2 Assets\"\r\n                              Glyph=\"&#xE771;\" />\r\n                </NavigationViewItem.Icon>\r\n            </NavigationViewItem>\r\n            <NavigationViewItem Style=\"{StaticResource CustomNavigationViewItemStyle}\" \r\n                                x:Uid=\"/Settings/AdvancedPage_Title\"\r\n                                Tag=\"Advanced\" >\r\n                <NavigationViewItem.Icon>\r\n                    <FontIcon FontFamily=\"Segoe MDL2 Assets\"\r\n                              Glyph=\"&#xE9E9;\" />\r\n                </NavigationViewItem.Icon>\r\n            </NavigationViewItem>\r\n            <NavigationViewItem Style=\"{StaticResource CustomNavigationViewItemStyle}\" \r\n                                x:Uid=\"/Settings/AboutPage_Title\"\r\n                                Tag=\"About\" >\r\n                <NavigationViewItem.Icon>\r\n                    <FontIcon FontFamily=\"Segoe MDL2 Assets\"\r\n                              Glyph=\"&#xE946;\" />\r\n                </NavigationViewItem.Icon>\r\n            </NavigationViewItem>\r\n        </NavigationView.MenuItems>\r\n        <settings:SettingsPanel x:Name=\"SettingsPanel\"/>\r\n    </NavigationView>\r\n\r\n</Page>\r\n"
  },
  {
    "path": "src/Notepads/Views/Settings/SettingsPage.xaml.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Views.Settings\r\n{\r\n    using Notepads.Extensions;\r\n    using Notepads.Services;\r\n    using System.Linq;\r\n    using Windows.UI;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Navigation;\r\n\r\n    public sealed partial class SettingsPage : Page\r\n    {\r\n        public SettingsPage()\r\n        {\r\n            InitializeComponent();\r\n            Loaded += SettingsPage_Loaded;\r\n            Unloaded += SettingsPage_Unloaded;\r\n\r\n            if (App.IsGameBarWidget)\r\n            {\r\n                ThemeSettingsService.SetRequestedTheme(null, Window.Current.Content, null);\r\n            }\r\n        }\r\n\r\n        private void SettingsPage_Loaded(object sender, RoutedEventArgs e)\r\n        {\r\n            if (App.IsGameBarWidget)\r\n            {\r\n                ThemeSettingsService.OnThemeChanged += ThemeSettingsService_OnThemeChanged;\r\n                ThemeSettingsService.OnAccentColorChanged += ThemeSettingsService_OnAccentColorChanged;\r\n            }\r\n            ((NavigationViewItem)SettingsNavigationView.MenuItems.First()).IsSelected = true;\r\n        }\r\n\r\n        private void SettingsPage_Unloaded(object sender, RoutedEventArgs e)\r\n        {\r\n            if (App.IsGameBarWidget)\r\n            {\r\n                ThemeSettingsService.OnThemeChanged -= ThemeSettingsService_OnThemeChanged;\r\n                ThemeSettingsService.OnAccentColorChanged -= ThemeSettingsService_OnAccentColorChanged;\r\n            }\r\n        }\r\n\r\n        private async void ThemeSettingsService_OnAccentColorChanged(object sender, Color color)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(ThemeSettingsService.SetRequestedAccentColor);\r\n        }\r\n\r\n        private async void ThemeSettingsService_OnThemeChanged(object sender, ElementTheme theme)\r\n        {\r\n            await Dispatcher.CallOnUIThreadAsync(() =>\r\n            {\r\n                ThemeSettingsService.SetRequestedTheme(null, Window.Current.Content, null);\r\n            });\r\n        }\r\n\r\n        protected override void OnNavigatedTo(NavigationEventArgs e)\r\n        {\r\n            base.OnNavigatedTo(e);\r\n\r\n            switch (e.Parameter)\r\n            {\r\n                case null:\r\n                    return;\r\n            }\r\n        }\r\n\r\n        private void SettingsPanel_OnItemInvoked(NavigationView sender, NavigationViewItemInvokedEventArgs args)\r\n        {\r\n            SettingsPanel.Show((args.InvokedItem as string), (args.InvokedItemContainer as NavigationViewItem)?.Tag as string);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Views/Settings/SettingsPanel.xaml",
    "content": "﻿<Page\r\n    x:Class=\"Notepads.Views.Settings.SettingsPanel\"\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\"\r\n    xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"\r\n    mc:Ignorable=\"d\"\r\n    Background=\"{ThemeResource ApplicationPageBackgroundThemeBrush}\">\r\n\r\n    <Page.Resources>\r\n        <ResourceDictionary>\r\n            <ResourceDictionary.ThemeDictionaries>\r\n                <ResourceDictionary x:Key=\"Light\">\r\n                    <SolidColorBrush x:Key=\"SettingsPanelBackgroundBrush\"\r\n                                     Color=\"WhiteSmoke\"/>\r\n                </ResourceDictionary>\r\n                <ResourceDictionary x:Key=\"Dark\">\r\n                    <SolidColorBrush x:Key=\"SettingsPanelBackgroundBrush\"\r\n                                     Color=\"#222222\"/>\r\n                </ResourceDictionary>\r\n                <ResourceDictionary x:Key=\"HighContrast\">\r\n                    <SolidColorBrush x:Key=\"SettingsPanelBackgroundBrush\"\r\n                                     Color=\"{StaticResource SystemColorHighlightColor}\"/>\r\n                </ResourceDictionary>\r\n            </ResourceDictionary.ThemeDictionaries>\r\n        </ResourceDictionary>\r\n    </Page.Resources>\r\n\r\n    <Grid Background=\"{ThemeResource SettingsPanelBackgroundBrush}\">\r\n        <Grid.RowDefinitions>\r\n            <RowDefinition Height=\"60\"/>\r\n            <RowDefinition Height=\"*\"/>\r\n        </Grid.RowDefinitions>\r\n\r\n        <Grid Row=\"0\" \r\n              Margin=\"18,0,18,0\"\r\n              BorderThickness=\"0,0,0,1\"\r\n              BorderBrush=\"{ThemeResource SystemControlForegroundBaseMediumLowBrush}\">\r\n            <TextBlock x:Name=\"TitleTextBlock\"\r\n                       Padding=\"0,0,0,10\"\r\n                       FontSize=\"24\"\r\n                       VerticalAlignment=\"Bottom\"/>\r\n        </Grid>\r\n        <Grid Row=\"1\">\r\n            <Frame x:Name=\"ContentFrame\"/>\r\n        </Grid>\r\n    </Grid>\r\n</Page>\r\n"
  },
  {
    "path": "src/Notepads/Views/Settings/SettingsPanel.xaml.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Views.Settings\r\n{\r\n    using System;\r\n    using Notepads.Services;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Media.Animation;\r\n\r\n    public sealed partial class SettingsPanel : Page\r\n    {\r\n        public SettingsPanel()\r\n        {\r\n            InitializeComponent();\r\n        }\r\n\r\n        public void Show(string title, string tag)\r\n        {\r\n            Type pageType;\r\n\r\n            switch (tag)\r\n            {\r\n                case \"TextAndEditor\":\r\n                    pageType = typeof(TextAndEditorSettingsPage);\r\n                    break;\r\n                case \"Personalization\":\r\n                    pageType = typeof(PersonalizationSettingsPage);\r\n                    break;\r\n                case \"Advanced\":\r\n                    pageType = typeof(AdvancedSettingsPage);\r\n                    break;\r\n                case \"About\":\r\n                    pageType = typeof(AboutPage);\r\n                    break;\r\n                default:\r\n                    pageType = typeof(TextAndEditorSettingsPage);\r\n                    break;\r\n            }\r\n\r\n            LoggingService.LogInfo($\"[{nameof(SettingsPanel)}] Navigating to: {tag} Page\", consoleOnly: true);\r\n            TitleTextBlock.Text = title;\r\n            ContentFrame.Navigate(pageType, null, new SuppressNavigationTransitionInfo());\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads/Views/Settings/TextAndEditorSettingsPage.xaml",
    "content": "﻿<Page\r\n    x:Class=\"Notepads.Views.Settings.TextAndEditorSettingsPage\"\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\"\r\n    xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"\r\n    xmlns:settings=\"using:Notepads.Services\"\r\n    mc:Ignorable=\"d\"\r\n    Background=\"{ThemeResource SystemControlForegroundTransparentBrush}\">\r\n\r\n    <Grid>\r\n        <Grid.ChildrenTransitions>\r\n            <TransitionCollection>\r\n                <EntranceThemeTransition FromHorizontalOffset=\"25\" FromVerticalOffset=\"0\"/>\r\n            </TransitionCollection>\r\n        </Grid.ChildrenTransitions>\r\n        <Grid.BackgroundTransition>\r\n            <BrushTransition />\r\n        </Grid.BackgroundTransition>\r\n\r\n        <ScrollViewer\r\n            Grid.Row=\"0\"\r\n            Padding=\"20,0,20,0\"\r\n            IsTabStop=\"False\"\r\n            UseSystemFocusVisuals=\"False\"\r\n            VerticalScrollBarVisibility=\"Auto\"\r\n            VerticalScrollMode=\"Auto\">\r\n            <StackPanel HorizontalAlignment=\"Left\" Margin=\"0,0,0,40\">\r\n                <TextBlock\r\n                    x:Uid=\"/Settings/TextAndEditorPage_TextWrappingSettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,15,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <StackPanel Margin=\"0,10,0,0\">\r\n                    <ToggleSwitch x:Uid=\"/Settings/TextAndEditorPage_TextWrappingSettings_ToggleSwitch\"\r\n                                  Style=\"{StaticResource CustomToggleSwitchStyle}\" \r\n                                  x:Name=\"TextWrappingToggle\"/>\r\n                </StackPanel>\r\n                <TextBlock\r\n                    x:Uid=\"/Settings/TextAndEditorPage_SpellingSettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,20,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <StackPanel Margin=\"0,10,0,0\">\r\n                    <ToggleSwitch x:Uid=\"/Settings/TextAndEditorPage_SpellingSettings_HighlightMisspelledWordsToggleSwitch\"\r\n                                  Style=\"{StaticResource CustomToggleSwitchStyle}\" \r\n                                  x:Name=\"HighlightMisspelledWordsToggle\"/>\r\n                </StackPanel>\r\n                <TextBlock\r\n                    x:Uid=\"/Settings/TextAndEditorPage_DisplaySettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,20,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <StackPanel Margin=\"0,10,0,0\">\r\n                    <ToggleSwitch x:Uid=\"/Settings/TextAndEditorPage_LineHighlighterSettings_ToggleSwitch\"\r\n                                  Style=\"{StaticResource CustomToggleSwitchStyle}\" \r\n                                  x:Name=\"LineHighlighterToggle\"\r\n                                  Margin=\"0,0,0,10\"/>\r\n                    <ToggleSwitch x:Uid=\"/Settings/TextAndEditorPage_LineNumbersSettings_ToggleSwitch\"\r\n                                  Style=\"{StaticResource CustomToggleSwitchStyle}\" \r\n                                  x:Name=\"LineNumbersToggle\"/>\r\n                    <TextBlock x:Uid=\"/Settings/TextAndEditorPage_LineNumbersSettings_Description\" Style=\"{ThemeResource DescriptionTextBlockStyle}\" Margin=\"0,8,0,0\"/>\r\n                </StackPanel>\r\n                <TextBlock\r\n                    x:Uid=\"/Settings/TextAndEditorPage_FontSettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,25,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <StackPanel Margin=\"0,10,0,0\">\r\n                    <ComboBox x:Name=\"FontFamilyPicker\"\r\n                              ItemsSource=\"{x:Bind AvailableFonts, Mode=OneTime}\"\r\n                              HorizontalAlignment=\"Stretch\"\r\n                              VerticalAlignment=\"Center\"\r\n                              BorderThickness=\"1\"\r\n                              Height=\"36\"\r\n                              Background=\"Transparent\"\r\n                              IsTextSearchEnabled=\"True\">\r\n                        <ComboBox.ItemTemplate>\r\n                            <DataTemplate>\r\n                                <TextBlock Text=\"{Binding}\"\r\n                                           FontFamily=\"{Binding}\" />\r\n                            </DataTemplate>\r\n                        </ComboBox.ItemTemplate>\r\n                    </ComboBox>\r\n                    <ComboBox x:Name=\"FontSizePicker\"\r\n                              ItemsSource=\"{x:Bind AvailableFontSizes, Mode=OneTime}\"\r\n                              IsEditable=\"False\"\r\n                              Margin=\"0,10,0,0\"\r\n                              VerticalAlignment=\"Center\"\r\n                              BorderThickness=\"1\"\r\n                              Height=\"36\"\r\n                              MinWidth=\"70\"\r\n                              Background=\"Transparent\">\r\n                    </ComboBox>\r\n                </StackPanel>\r\n                <TextBlock\r\n                    x:Uid=\"/Settings/TextAndEditorPage_FontStyleSettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,20,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <StackPanel Margin=\"0,10,0,0\">\r\n                    <ComboBox x:Name=\"FontStylePicker\"\r\n                              ItemsSource=\"{x:Bind AvailableFontStyles, Mode=OneTime}\"\r\n                              FontFamily=\"{x:Bind settings:AppSettingsService.EditorFontFamily}\"\r\n                              VerticalAlignment=\"Center\"\r\n                              BorderThickness=\"1\"\r\n                              Height=\"36\"\r\n                              Background=\"Transparent\"\r\n                              IsTextSearchEnabled=\"True\">\r\n                        <ComboBox.ItemTemplate>\r\n                            <DataTemplate>\r\n                                <TextBlock Text=\"{Binding FontStyleLocalizedName}\"\r\n                                           FontStyle=\"{Binding FontStyle}\" />\r\n                            </DataTemplate>\r\n                        </ComboBox.ItemTemplate>\r\n                    </ComboBox>\r\n                </StackPanel>\r\n                <TextBlock\r\n                    x:Uid=\"/Settings/TextAndEditorPage_FontWeightSettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,20,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <StackPanel Margin=\"0,10,0,0\">\r\n                    <ComboBox x:Name=\"FontWeightPicker\"\r\n                              ItemsSource=\"{x:Bind AvailableFontWeights, Mode=OneTime}\"\r\n                              FontFamily=\"{x:Bind settings:AppSettingsService.EditorFontFamily}\"\r\n                              IsEditable=\"False\"\r\n                              VerticalAlignment=\"Center\"\r\n                              BorderThickness=\"1\"\r\n                              Height=\"36\"\r\n                              MinWidth=\"70\"\r\n                              Background=\"Transparent\">\r\n                        <ComboBox.ItemTemplate>\r\n                            <DataTemplate>\r\n                                <TextBlock Text=\"{Binding FontWeightLocalizedName}\"\r\n                                           FontWeight=\"{Binding FontWeight}\" />\r\n                            </DataTemplate>\r\n                        </ComboBox.ItemTemplate>\r\n                    </ComboBox>\r\n                </StackPanel>\r\n                <TextBlock\r\n                    x:Uid=\"/Settings/TextAndEditorPage_LineEndingSettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,25,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <StackPanel x:Name=\"LineEndingPanel\" Margin=\"0,10,0,0\">\r\n                    <RadioButton Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"CrlfRadioButton\" Tag=\"Crlf\" Content=\"Windows (CRLF)\" GroupName=\"LineEndingGroup\"/>\r\n                    <RadioButton Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"CrRadioButton\" Tag=\"Cr\" Content=\"Macintosh (CR)\" GroupName=\"LineEndingGroup\"/>\r\n                    <RadioButton Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"LfRadioButton\" Tag=\"Lf\" Content=\"Unix (LF)\" GroupName=\"LineEndingGroup\"/>\r\n                </StackPanel>\r\n                <TextBlock x:Uid=\"/Settings/TextAndEditorPage_LineEndingSettings_Description\" Style=\"{ThemeResource DescriptionTextBlockStyle}\" Margin=\"0,8,0,0\"/>\r\n                <TextBlock\r\n                    x:Uid=\"/Settings/TextAndEditorPage_EncodingSettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,25,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <StackPanel x:Name=\"EncodingPanel\" Margin=\"0,10,0,0\">\r\n                    <RadioButton Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"Utf8EncodingRadioButton\" Tag=\"UTF-8\" Content=\"UTF-8\" GroupName=\"EncodingGroup\"/>\r\n                    <RadioButton Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"Utf8BomEncodingRadioButton\" Tag=\"UTF-8-BOM\" Content=\"UTF-8-BOM\" GroupName=\"EncodingGroup\"/>\r\n                    <RadioButton Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"Utf16LeBomEncodingRadioButton\" Tag=\"UTF-16 LE BOM\" Content=\"UTF-16 LE BOM\" GroupName=\"EncodingGroup\"/>\r\n                    <RadioButton Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"Utf16BeBomEncodingRadioButton\" Tag=\"UTF-16 BE BOM\" Content=\"UTF-16 BE BOM\" GroupName=\"EncodingGroup\"/>\r\n                </StackPanel>\r\n                <TextBlock x:Uid=\"/Settings/TextAndEditorPage_EncodingSettings_Description\" Style=\"{ThemeResource DescriptionTextBlockStyle}\" Margin=\"0,8,0,0\"/>\r\n                <TextBlock\r\n                    x:Uid=\"/Settings/TextAndEditorPage_DecodingSettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,25,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <StackPanel x:Name=\"DecodingPanel\" Margin=\"0,10,0,0\">\r\n                    <RadioButton x:Uid=\"/Settings/TextAndEditorPage_DecodingSettings_AutoGuessRadioButton\" Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"AutoGuessDecodingRadioButton\" Tag=\"Auto\" GroupName=\"DecodingGroup\"/>\r\n                    <RadioButton x:Uid=\"/Settings/TextAndEditorPage_DecodingSettings_Utf8RadioButton\" Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"Utf8DecodingRadioButton\" Tag=\"UTF-8\" GroupName=\"DecodingGroup\"/>\r\n                    <RadioButton x:Uid=\"/Settings/TextAndEditorPage_DecodingSettings_AnsiRadioButton\" Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"AnsiDecodingRadioButton\" Tag=\"ANSI\" GroupName=\"DecodingGroup\"/>\r\n                </StackPanel>\r\n                <TextBlock x:Uid=\"/Settings/TextAndEditorPage_DecodingSettings_Description\" Style=\"{ThemeResource DescriptionTextBlockStyle}\" Margin=\"0,8,0,0\"/>\r\n                <TextBlock\r\n                    x:Uid=\"/Settings/TextAndEditorPage_TabKeySettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,25,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <StackPanel x:Name=\"TabBehaviorPanel\" Margin=\"0,10,0,0\">\r\n                    <RadioButton x:Uid=\"/Settings/TextAndEditorPage_TabKeySettings_DefaultRadioButton\" Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"TabDefaultRadioButton\" Tag=\"-1\" GroupName=\"TabBehaviorGroup\"/>\r\n                    <RadioButton x:Uid=\"/Settings/TextAndEditorPage_TabKeySettings_TwoSpacesRadioButton\" Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"TabTwoSpacesRadioButton\" Tag=\"2\" GroupName=\"TabBehaviorGroup\"/>\r\n                    <RadioButton x:Uid=\"/Settings/TextAndEditorPage_TabKeySettings_FourSpacesRadioButton\" Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"TabFourSpacesRadioButton\" Tag=\"4\" GroupName=\"TabBehaviorGroup\"/>\r\n                    <RadioButton x:Uid=\"/Settings/TextAndEditorPage_TabKeySettings_EightSpacesRadioButton\" Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"TabEightSpacesRadioButton\" Tag=\"8\" GroupName=\"TabBehaviorGroup\"/>\r\n                </StackPanel>\r\n                <TextBlock x:Uid=\"/Settings/TextAndEditorPage_TabKeySettings_Description\" Style=\"{ThemeResource DescriptionTextBlockStyle}\" Margin=\"0,8,0,0\"/>\r\n                <TextBlock\r\n                    x:Uid=\"/Settings/TextAndEditorPage_SearchEngineSettings_Title\"\r\n                    Style=\"{StaticResource CompactSubtitleTextBlockStyle}\"\r\n                    Margin=\"0,25,0,0\"\r\n                    FontWeight=\"Normal\"/>\r\n                <StackPanel x:Name=\"SearchEnginePanel\" Margin=\"0,10,0,0\">\r\n                    <RadioButton Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"BingRadioButton\" GroupName=\"SearchEngineGroup\">\r\n                        <StackPanel Orientation=\"Horizontal\">\r\n                            <Image Source=\"ms-appx:///Assets/search_bing.png\" Width=\"16\" Stretch=\"Uniform\"/>\r\n                            <TextBlock Text=\"Bing\" Margin=\"8,0,0,0\"/>\r\n                        </StackPanel>\r\n                    </RadioButton>\r\n                    <RadioButton Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"GoogleRadioButton\" GroupName=\"SearchEngineGroup\">\r\n                        <StackPanel Orientation=\"Horizontal\">\r\n                            <Image Source=\"ms-appx:///Assets/search_google.png\" Width=\"16\" Stretch=\"Uniform\"/>\r\n                            <TextBlock Text=\"Google\" Margin=\"8,0,0,0\"/>\r\n                        </StackPanel>\r\n                    </RadioButton>\r\n                    <RadioButton Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"DuckDuckGoRadioButton\" GroupName=\"SearchEngineGroup\">\r\n                        <StackPanel Orientation=\"Horizontal\">\r\n                            <Image Source=\"ms-appx:///Assets/search_duckduckgo.png\" Width=\"16\" Stretch=\"Uniform\"/>\r\n                            <TextBlock Text=\"Duck Duck Go\" Margin=\"8,0,0,0\"/>\r\n                        </StackPanel>\r\n                    </RadioButton>\r\n                    <RadioButton Style=\"{StaticResource CustomRadioButtonStyle}\" x:Name=\"CustomSearchUrlRadioButton\" GroupName=\"SearchEngineGroup\">\r\n                        <StackPanel Orientation=\"Horizontal\">\r\n                            <Image Source=\"ms-appx:///Assets/search_custom.png\" Width=\"16\" Stretch=\"Uniform\"/>\r\n                            <TextBlock x:Uid=\"/Settings/TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton\" Text=\"Custom Search Engine\" Margin=\"8,0,0,0\"/>\r\n                        </StackPanel>\r\n                    </RadioButton>\r\n                    <StackPanel  Margin=\"28,5,0,10\">\r\n                        <TextBox Style=\"{StaticResource TransparentTextBoxStyle}\" BorderThickness=\"0\" x:Name=\"CustomSearchUrl\" PlaceholderText=\"https://www.example.com/search?q={0}\" IsSpellCheckEnabled=\"False\" TextChanged=\"CustomSearchUrl_TextChanged\" LostFocus=\"CustomSearchUrl_LostFocus\"/>\r\n                        <TextBlock x:Name=\"CustomUrlErrorReport\" x:Uid=\"/Settings/TextAndEditorPage_SearchEngineSettings_CustomSearchUrlRadioButton_CustomUrlErrorReport\" Style=\"{ThemeResource DescriptionTextBlockStyle}\" Foreground=\"Red\" Visibility=\"Collapsed\"/>\r\n                    </StackPanel>\r\n                </StackPanel>\r\n                <TextBlock x:Uid=\"/Settings/TextAndEditorPage_SearchEngineSettings_Description\" Style=\"{ThemeResource DescriptionTextBlockStyle}\" Margin=\"0,8,0,0\"/>\r\n            </StackPanel>\r\n        </ScrollViewer>\r\n    </Grid>\r\n</Page>\r\n"
  },
  {
    "path": "src/Notepads/Views/Settings/TextAndEditorSettingsPage.xaml.cs",
    "content": "﻿// ---------------------------------------------------------------------------------------------\r\n//  Copyright (c) 2019-2024, Jiaqi (0x7c13) Liu. All rights reserved.\r\n//  See LICENSE file in the project root for license information.\r\n// ---------------------------------------------------------------------------------------------\r\n\r\nnamespace Notepads.Views.Settings\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Linq;\r\n    using System.Text;\r\n    using Services;\r\n    using Utilities;\r\n    using Windows.ApplicationModel.Resources;\r\n    using Windows.UI.Text;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    public class FontStyleItem\r\n    {\r\n        public FontStyle FontStyle { get; set; }\r\n\r\n        public string FontStyleLocalizedName { get; set; }\r\n    }\r\n\r\n    public class FontWeightItem\r\n    {\r\n        public FontWeight FontWeight { get; set; }\r\n\r\n        public string FontWeightLocalizedName { get; set; }\r\n    }\r\n\r\n    public sealed partial class TextAndEditorSettingsPage : Page\r\n    {\r\n        private readonly ResourceLoader _resourceLoader = ResourceLoader.GetForCurrentView();\r\n\r\n        public IReadOnlyCollection<string> AvailableFonts => FontUtility.GetSystemFontFamilies();\r\n\r\n        public int[] AvailableFontSizes = FontUtility.PredefinedFontSizes;\r\n\r\n        private IList<FontStyleItem> _availableFontStyles;\r\n\r\n        public IList<FontStyleItem> AvailableFontStyles\r\n        {\r\n            get\r\n            {\r\n                if (_availableFontStyles != null)\r\n                {\r\n                    return _availableFontStyles;\r\n                }\r\n\r\n                _availableFontStyles = new List<FontStyleItem>();\r\n                foreach (var (fontStyleName, fontStyle) in FontUtility.PredefinedFontStylesMap)\r\n                {\r\n                    _availableFontStyles.Add(new FontStyleItem()\r\n                    {\r\n                        FontStyle = fontStyle,\r\n                        FontStyleLocalizedName = _resourceLoader.GetString($\"FontStyle_{fontStyleName}\")\r\n                    });\r\n                }\r\n\r\n                return _availableFontStyles;\r\n            }\r\n        }\r\n\r\n        private IList<FontWeightItem> _availableFontWeights;\r\n\r\n        public IList<FontWeightItem> AvailableFontWeights\r\n        {\r\n            get\r\n            {\r\n                if (_availableFontWeights != null)\r\n                {\r\n                    return _availableFontWeights;\r\n                }\r\n\r\n                _availableFontWeights = new List<FontWeightItem>();\r\n                foreach (var (fontWeightName, fontWeight) in FontUtility.PredefinedFontWeightsMap)\r\n                {\r\n                    _availableFontWeights.Add(new FontWeightItem()\r\n                    {\r\n                        FontWeight = new FontWeight() { Weight = fontWeight },\r\n                        FontWeightLocalizedName = _resourceLoader.GetString($\"FontWeight_{fontWeightName}\")\r\n                    });\r\n                }\r\n\r\n                return _availableFontWeights;\r\n            }\r\n        }\r\n\r\n        public TextAndEditorSettingsPage()\r\n        {\r\n            InitializeComponent();\r\n\r\n            TextWrappingToggle.IsOn = (AppSettingsService.EditorDefaultTextWrapping == TextWrapping.Wrap);\r\n            HighlightMisspelledWordsToggle.IsOn = AppSettingsService.IsHighlightMisspelledWordsEnabled;\r\n            LineHighlighterToggle.IsOn = AppSettingsService.EditorDisplayLineHighlighter;\r\n            LineNumbersToggle.IsOn = AppSettingsService.EditorDisplayLineNumbers;\r\n            FontFamilyPicker.SelectedItem = AppSettingsService.EditorFontFamily;\r\n            FontSizePicker.SelectedItem = AppSettingsService.EditorFontSize;\r\n            FontStylePicker.SelectedItem = AvailableFontStyles.FirstOrDefault(style => style.FontStyle == AppSettingsService.EditorFontStyle);\r\n            FontWeightPicker.SelectedItem = AvailableFontWeights.FirstOrDefault(weight => weight.FontWeight.Weight == AppSettingsService.EditorFontWeight.Weight);\r\n\r\n            InitializeLineEndingSettings();\r\n\r\n            InitializeEncodingSettings();\r\n\r\n            InitializeDecodingSettings();\r\n\r\n            InitializeTabIndentationSettings();\r\n\r\n            InitializeSearchEngineSettings();\r\n\r\n            Loaded += TextAndEditorSettings_Loaded;\r\n        }\r\n\r\n        private void InitializeLineEndingSettings()\r\n        {\r\n            switch (AppSettingsService.EditorDefaultLineEnding)\r\n            {\r\n                case LineEnding.Crlf:\r\n                    CrlfRadioButton.IsChecked = true;\r\n                    break;\r\n                case LineEnding.Cr:\r\n                    CrRadioButton.IsChecked = true;\r\n                    break;\r\n                case LineEnding.Lf:\r\n                    LfRadioButton.IsChecked = true;\r\n                    break;\r\n            }\r\n        }\r\n\r\n        private void InitializeEncodingSettings()\r\n        {\r\n            if (AppSettingsService.EditorDefaultEncoding.CodePage == Encoding.UTF8.CodePage)\r\n            {\r\n                if (Equals(AppSettingsService.EditorDefaultEncoding, new UTF8Encoding(false)))\r\n                {\r\n                    Utf8EncodingRadioButton.IsChecked = true;\r\n                }\r\n                else\r\n                {\r\n                    Utf8BomEncodingRadioButton.IsChecked = true;\r\n                }\r\n            }\r\n            else if (AppSettingsService.EditorDefaultEncoding.CodePage == Encoding.Unicode.CodePage)\r\n            {\r\n                Utf16LeBomEncodingRadioButton.IsChecked = true;\r\n            }\r\n            else if (AppSettingsService.EditorDefaultEncoding.CodePage == Encoding.BigEndianUnicode.CodePage)\r\n            {\r\n                Utf16BeBomEncodingRadioButton.IsChecked = true;\r\n            }\r\n        }\r\n\r\n        private void InitializeDecodingSettings()\r\n        {\r\n            if (AppSettingsService.EditorDefaultDecoding == null)\r\n            {\r\n                AutoGuessDecodingRadioButton.IsChecked = true;\r\n            }\r\n            else if (AppSettingsService.EditorDefaultDecoding.CodePage == Encoding.UTF8.CodePage)\r\n            {\r\n                Utf8DecodingRadioButton.IsChecked = true;\r\n            }\r\n            else\r\n            {\r\n                AnsiDecodingRadioButton.IsChecked = true;\r\n            }\r\n        }\r\n\r\n        private void InitializeTabIndentationSettings()\r\n        {\r\n            if (AppSettingsService.EditorDefaultTabIndents == -1)\r\n            {\r\n                TabDefaultRadioButton.IsChecked = true;\r\n            }\r\n            else if (AppSettingsService.EditorDefaultTabIndents == 2)\r\n            {\r\n                TabTwoSpacesRadioButton.IsChecked = true;\r\n            }\r\n            else if (AppSettingsService.EditorDefaultTabIndents == 4)\r\n            {\r\n                TabFourSpacesRadioButton.IsChecked = true;\r\n            }\r\n            else if (AppSettingsService.EditorDefaultTabIndents == 8)\r\n            {\r\n                TabEightSpacesRadioButton.IsChecked = true;\r\n            }\r\n        }\r\n\r\n        private void InitializeSearchEngineSettings()\r\n        {\r\n            switch (AppSettingsService.EditorDefaultSearchEngine)\r\n            {\r\n                case SearchEngine.Bing:\r\n                    BingRadioButton.IsChecked = true;\r\n                    CustomSearchUrl.IsEnabled = false;\r\n                    break;\r\n                case SearchEngine.Google:\r\n                    GoogleRadioButton.IsChecked = true;\r\n                    CustomSearchUrl.IsEnabled = false;\r\n                    break;\r\n                case SearchEngine.DuckDuckGo:\r\n                    DuckDuckGoRadioButton.IsChecked = true;\r\n                    CustomSearchUrl.IsEnabled = false;\r\n                    break;\r\n                case SearchEngine.Custom:\r\n                    CustomSearchUrlRadioButton.IsChecked = true;\r\n                    CustomSearchUrl.IsEnabled = true;\r\n                    break;\r\n            }\r\n\r\n            if (!string.IsNullOrEmpty(AppSettingsService.EditorCustomMadeSearchUrl))\r\n            {\r\n                CustomSearchUrl.Text = AppSettingsService.EditorCustomMadeSearchUrl;\r\n            }\r\n        }\r\n\r\n        private void TextAndEditorSettings_Loaded(object sender, RoutedEventArgs e)\r\n        {\r\n            TextWrappingToggle.Toggled += TextWrappingToggle_OnToggled;\r\n            HighlightMisspelledWordsToggle.Toggled += HighlightMisspelledWordsToggle_OnToggled;\r\n            LineHighlighterToggle.Toggled += LineHighlighterToggle_OnToggled;\r\n            LineNumbersToggle.Toggled += LineNumbersToggle_Toggled;\r\n            FontFamilyPicker.SelectionChanged += FontFamilyPicker_OnSelectionChanged;\r\n            FontSizePicker.SelectionChanged += FontSizePicker_OnSelectionChanged;\r\n            FontStylePicker.SelectionChanged += FontStylePicker_OnSelectionChanged;\r\n            FontWeightPicker.SelectionChanged += FontWeightPicker_OnSelectionChanged;\r\n\r\n            CrlfRadioButton.Checked += LineEndingRadioButton_OnChecked;\r\n            CrRadioButton.Checked += LineEndingRadioButton_OnChecked;\r\n            LfRadioButton.Checked += LineEndingRadioButton_OnChecked;\r\n\r\n            Utf8EncodingRadioButton.Checked += EncodingRadioButton_Checked;\r\n            Utf8BomEncodingRadioButton.Checked += EncodingRadioButton_Checked;\r\n            Utf16LeBomEncodingRadioButton.Checked += EncodingRadioButton_Checked;\r\n            Utf16BeBomEncodingRadioButton.Checked += EncodingRadioButton_Checked;\r\n\r\n            Utf8DecodingRadioButton.Checked += DecodingRadioButton_Checked;\r\n            AnsiDecodingRadioButton.Checked += DecodingRadioButton_Checked;\r\n            AutoGuessDecodingRadioButton.Checked += DecodingRadioButton_Checked;\r\n\r\n            TabDefaultRadioButton.Checked += TabBehaviorRadioButton_Checked;\r\n            TabTwoSpacesRadioButton.Checked += TabBehaviorRadioButton_Checked;\r\n            TabFourSpacesRadioButton.Checked += TabBehaviorRadioButton_Checked;\r\n            TabEightSpacesRadioButton.Checked += TabBehaviorRadioButton_Checked;\r\n\r\n            BingRadioButton.Checked += SearchEngineRadioButton_Checked;\r\n            GoogleRadioButton.Checked += SearchEngineRadioButton_Checked;\r\n            DuckDuckGoRadioButton.Checked += SearchEngineRadioButton_Checked;\r\n            CustomSearchUrlRadioButton.Checked += SearchEngineRadioButton_Checked;\r\n        }\r\n\r\n        private void SearchEngineRadioButton_Checked(object sender, RoutedEventArgs e)\r\n        {\r\n            if (!(sender is RadioButton radioButton)) return;\r\n\r\n            switch (radioButton.Name)\r\n            {\r\n                case \"BingRadioButton\":\r\n                    AppSettingsService.EditorDefaultSearchEngine = SearchEngine.Bing;\r\n                    OnCustomSearchEngineSelectionChanged(false);\r\n                    break;\r\n                case \"GoogleRadioButton\":\r\n                    AppSettingsService.EditorDefaultSearchEngine = SearchEngine.Google;\r\n                    OnCustomSearchEngineSelectionChanged(false);\r\n                    break;\r\n                case \"DuckDuckGoRadioButton\":\r\n                    AppSettingsService.EditorDefaultSearchEngine = SearchEngine.DuckDuckGo;\r\n                    OnCustomSearchEngineSelectionChanged(false);\r\n                    break;\r\n                case \"CustomSearchUrlRadioButton\":\r\n                    OnCustomSearchEngineSelectionChanged(true);\r\n                    break;\r\n            }\r\n        }\r\n\r\n        private void TabBehaviorRadioButton_Checked(object sender, RoutedEventArgs e)\r\n        {\r\n            if (!(sender is RadioButton radioButton)) return;\r\n\r\n            switch (radioButton.Tag)\r\n            {\r\n                case \"-1\":\r\n                    AppSettingsService.EditorDefaultTabIndents = -1;\r\n                    break;\r\n                case \"2\":\r\n                    AppSettingsService.EditorDefaultTabIndents = 2;\r\n                    break;\r\n                case \"4\":\r\n                    AppSettingsService.EditorDefaultTabIndents = 4;\r\n                    break;\r\n                case \"8\":\r\n                    AppSettingsService.EditorDefaultTabIndents = 8;\r\n                    break;\r\n            }\r\n        }\r\n\r\n        private void EncodingRadioButton_Checked(object sender, RoutedEventArgs e)\r\n        {\r\n            if (!(sender is RadioButton radioButton)) return;\r\n\r\n            switch (radioButton.Tag)\r\n            {\r\n                case \"UTF-8\":\r\n                    AppSettingsService.EditorDefaultEncoding = new UTF8Encoding(false);\r\n                    break;\r\n                case \"UTF-8-BOM\":\r\n                    AppSettingsService.EditorDefaultEncoding = new UTF8Encoding(true);\r\n                    break;\r\n                case \"UTF-16 LE BOM\":\r\n                    AppSettingsService.EditorDefaultEncoding = new UnicodeEncoding(false, true);\r\n                    break;\r\n                case \"UTF-16 BE BOM\":\r\n                    AppSettingsService.EditorDefaultEncoding = new UnicodeEncoding(true, true);\r\n                    break;\r\n            }\r\n        }\r\n\r\n        private void DecodingRadioButton_Checked(object sender, RoutedEventArgs e)\r\n        {\r\n            if (!(sender is RadioButton radioButton)) return;\r\n\r\n            switch (radioButton.Tag)\r\n            {\r\n                case \"Auto\":\r\n                    AppSettingsService.EditorDefaultDecoding = null;\r\n                    break;\r\n                case \"UTF-8\":\r\n                    AppSettingsService.EditorDefaultDecoding = new UTF8Encoding(false);\r\n                    break;\r\n                case \"ANSI\":\r\n                    if (EncodingUtility.TryGetSystemDefaultANSIEncoding(out var systemDefaultEncoding))\r\n                    {\r\n                        AppSettingsService.EditorDefaultDecoding = systemDefaultEncoding;\r\n                    }\r\n                    else if (EncodingUtility.TryGetCurrentCultureANSIEncoding(out var currentCultureEncoding))\r\n                    {\r\n                        AppSettingsService.EditorDefaultDecoding = currentCultureEncoding;\r\n                    }\r\n                    else\r\n                    {\r\n                        AutoGuessDecodingRadioButton.IsChecked = true;\r\n                    }\r\n                    break;\r\n            }\r\n        }\r\n\r\n        private void LineEndingRadioButton_OnChecked(object sender, RoutedEventArgs e)\r\n        {\r\n            if (!(sender is RadioButton radioButton)) return;\r\n\r\n            switch (radioButton.Tag)\r\n            {\r\n                case \"Crlf\":\r\n                    AppSettingsService.EditorDefaultLineEnding = LineEnding.Crlf;\r\n                    break;\r\n                case \"Cr\":\r\n                    AppSettingsService.EditorDefaultLineEnding = LineEnding.Cr;\r\n                    break;\r\n                case \"Lf\":\r\n                    AppSettingsService.EditorDefaultLineEnding = LineEnding.Lf;\r\n                    break;\r\n            }\r\n        }\r\n\r\n        private void FontFamilyPicker_OnSelectionChanged(object sender, SelectionChangedEventArgs e)\r\n        {\r\n            var fontFamily = new FontFamily((string)e.AddedItems.First());\r\n            AppSettingsService.EditorFontFamily = fontFamily.Source;\r\n            FontStylePicker.FontFamily = fontFamily;\r\n            FontWeightPicker.FontFamily = fontFamily;\r\n        }\r\n\r\n        private void FontSizePicker_OnSelectionChanged(object sender, SelectionChangedEventArgs e)\r\n        {\r\n            AppSettingsService.EditorFontSize = (int)e.AddedItems.First();\r\n        }\r\n\r\n        private void FontStylePicker_OnSelectionChanged(object sender, SelectionChangedEventArgs e)\r\n        {\r\n            AppSettingsService.EditorFontStyle = ((FontStyleItem)e.AddedItems.First()).FontStyle;\r\n        }\r\n\r\n        private void FontWeightPicker_OnSelectionChanged(object sender, SelectionChangedEventArgs e)\r\n        {\r\n            AppSettingsService.EditorFontWeight = ((FontWeightItem)e.AddedItems.First()).FontWeight;\r\n        }\r\n\r\n        private void TextWrappingToggle_OnToggled(object sender, RoutedEventArgs e)\r\n        {\r\n            AppSettingsService.EditorDefaultTextWrapping = TextWrappingToggle.IsOn ? TextWrapping.Wrap : TextWrapping.NoWrap;\r\n        }\r\n\r\n        private void HighlightMisspelledWordsToggle_OnToggled(object sender, RoutedEventArgs e)\r\n        {\r\n            AppSettingsService.IsHighlightMisspelledWordsEnabled = HighlightMisspelledWordsToggle.IsOn;\r\n        }\r\n\r\n        private void LineHighlighterToggle_OnToggled(object sender, RoutedEventArgs e)\r\n        {\r\n            AppSettingsService.EditorDisplayLineHighlighter = LineHighlighterToggle.IsOn;\r\n        }\r\n\r\n        private void LineNumbersToggle_Toggled(object sender, RoutedEventArgs e)\r\n        {\r\n            AppSettingsService.EditorDisplayLineNumbers = LineNumbersToggle.IsOn;\r\n        }\r\n\r\n        private void CustomSearchUrl_TextChanged(object sender, TextChangedEventArgs e)\r\n        {\r\n            AppSettingsService.EditorCustomMadeSearchUrl = CustomSearchUrl.Text;\r\n            CustomUrlErrorReport.Visibility = IsValidUrl(CustomSearchUrl.Text) ? Visibility.Collapsed : Visibility.Visible;\r\n        }\r\n\r\n        private void CustomSearchUrl_LostFocus(object sender, RoutedEventArgs e)\r\n        {\r\n            if (CustomSearchUrlRadioButton.IsChecked != null &&\r\n                (IsValidUrl(CustomSearchUrl.Text) && (bool)CustomSearchUrlRadioButton.IsChecked))\r\n            {\r\n                AppSettingsService.EditorDefaultSearchEngine = SearchEngine.Custom;\r\n            }\r\n            else if (!IsValidUrl(CustomSearchUrl.Text) && AppSettingsService.EditorDefaultSearchEngine == SearchEngine.Custom)\r\n            {\r\n                AppSettingsService.EditorDefaultSearchEngine = SearchEngine.Bing;\r\n            }\r\n\r\n            CustomUrlErrorReport.Visibility = IsValidUrl(CustomSearchUrl.Text) ? Visibility.Collapsed : Visibility.Visible;\r\n            AppSettingsService.EditorCustomMadeSearchUrl = CustomSearchUrl.Text;\r\n        }\r\n\r\n        private static bool IsValidUrl(string url)\r\n        {\r\n            try\r\n            {\r\n                if (Uri.TryCreate(url, UriKind.Absolute, out var uriResult) && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps))\r\n                {\r\n                    if (string.Format(url, \"s\") == url)\r\n                        return false;\r\n                }\r\n                else\r\n                {\r\n                    return false;\r\n                }\r\n            }\r\n            catch (Exception)\r\n            {\r\n                return false;\r\n            }\r\n            return true;\r\n        }\r\n\r\n        private void OnCustomSearchEngineSelectionChanged(bool selected)\r\n        {\r\n            if (selected)\r\n            {\r\n                CustomSearchUrl.IsEnabled = true;\r\n                CustomSearchUrl.Focus(FocusState.Programmatic);\r\n                CustomSearchUrl.Select(CustomSearchUrl.Text.Length, 0);\r\n                if (IsValidUrl(CustomSearchUrl.Text))\r\n                {\r\n                    AppSettingsService.EditorDefaultSearchEngine = SearchEngine.Custom;\r\n                    AppSettingsService.EditorCustomMadeSearchUrl = CustomSearchUrl.Text;\r\n                }\r\n                CustomSearchUrl_TextChanged(null, null);\r\n            }\r\n            else\r\n            {\r\n                CustomSearchUrl.IsEnabled = false;\r\n                CustomSearchUrl.Text = AppSettingsService.EditorCustomMadeSearchUrl;\r\n                CustomUrlErrorReport.Visibility = Visibility.Collapsed;\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/DropShadowPanel/DropShadowPanel.Properties.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/DropShadowPanel\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using Windows.UI;\r\n    using Windows.UI.Composition;\r\n    using Windows.UI.Xaml;\r\n\r\n    /// <summary>\r\n    /// The <see cref=\"DropShadowPanel\"/> control allows the creation of a DropShadow for any Xaml FrameworkElement in markup\r\n    /// making it easier to add shadows to Xaml without having to directly drop down to Windows.UI.Composition APIs.\r\n    /// </summary>\r\n    public partial class DropShadowPanel\r\n    {\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"BlurRadius\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty BlurRadiusProperty =\r\n             DependencyProperty.Register(nameof(BlurRadius), typeof(double), typeof(DropShadowPanel), new PropertyMetadata(9.0, OnBlurRadiusChanged));\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"Color\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty ColorProperty =\r\n            DependencyProperty.Register(nameof(Color), typeof(Color), typeof(DropShadowPanel), new PropertyMetadata(Colors.Black, OnColorChanged));\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"OffsetX\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty OffsetXProperty =\r\n            DependencyProperty.Register(nameof(OffsetX), typeof(double), typeof(DropShadowPanel), new PropertyMetadata(0.0, OnOffsetXChanged));\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"OffsetY\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty OffsetYProperty =\r\n            DependencyProperty.Register(nameof(OffsetY), typeof(double), typeof(DropShadowPanel), new PropertyMetadata(0.0, OnOffsetYChanged));\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"OffsetZ\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty OffsetZProperty =\r\n            DependencyProperty.Register(nameof(OffsetZ), typeof(double), typeof(DropShadowPanel), new PropertyMetadata(0.0, OnOffsetZChanged));\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"ShadowOpacity\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty ShadowOpacityProperty =\r\n            DependencyProperty.Register(nameof(ShadowOpacity), typeof(double), typeof(DropShadowPanel), new PropertyMetadata(1.0, OnShadowOpacityChanged));\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"IsMasked\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty IsMaskedProperty =\r\n            DependencyProperty.Register(nameof(IsMasked), typeof(bool), typeof(DropShadowPanel), new PropertyMetadata(true, OnIsMaskedChanged));\r\n\r\n        /// <summary>\r\n        /// Gets DropShadow. Exposes the underlying composition object to allow custom Windows.UI.Composition animations.\r\n        /// </summary>\r\n        public DropShadow DropShadow => _dropShadow;\r\n\r\n        /// <summary>\r\n        /// Gets or sets the mask of the underlying <see cref=\"Windows.UI.Composition.DropShadow\"/>.\r\n        /// Allows for a custom <see cref=\"Windows.UI.Composition.CompositionBrush\"/> to be set.\r\n        /// </summary>\r\n        public CompositionBrush Mask\r\n        {\r\n            get => _dropShadow?.Mask;\r\n\r\n            set\r\n            {\r\n                if (_dropShadow != null)\r\n                {\r\n                    _dropShadow.Mask = value;\r\n                }\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the blur radius of the drop shadow.\r\n        /// </summary>\r\n        public double BlurRadius\r\n        {\r\n            get => (double)GetValue(BlurRadiusProperty);\r\n            set => SetValue(BlurRadiusProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the color of the drop shadow.\r\n        /// </summary>\r\n        public Color Color\r\n        {\r\n            get => (Color)GetValue(ColorProperty);\r\n            set => SetValue(ColorProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the x offset of the drop shadow.\r\n        /// </summary>\r\n        public double OffsetX\r\n        {\r\n            get => (double)GetValue(OffsetXProperty);\r\n            set => SetValue(OffsetXProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the y offset of the drop shadow.\r\n        /// </summary>\r\n        public double OffsetY\r\n        {\r\n            get => (double)GetValue(OffsetYProperty);\r\n            set => SetValue(OffsetYProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the z offset of the drop shadow.\r\n        /// </summary>\r\n        public double OffsetZ\r\n        {\r\n            get => (double)GetValue(OffsetZProperty);\r\n            set => SetValue(OffsetZProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the opacity of the drop shadow.\r\n        /// </summary>\r\n        public double ShadowOpacity\r\n        {\r\n            get => (double)GetValue(ShadowOpacityProperty);\r\n            set => SetValue(ShadowOpacityProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether the panel uses an alpha mask to create a more precise shadow vs. a quicker rectangle shape.\r\n        /// </summary>\r\n        /// <remarks>\r\n        /// Turn this off to lose fidelity and gain performance of the panel.\r\n        /// </remarks>\r\n        public bool IsMasked\r\n        {\r\n            get => (bool)GetValue(IsMaskedProperty);\r\n            set => SetValue(IsMaskedProperty, value);\r\n        }\r\n\r\n        private static void OnBlurRadiusChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)\r\n        {\r\n            if (d is DropShadowPanel panel)\r\n            {\r\n                panel.OnBlurRadiusChanged((double)e.NewValue);\r\n            }\r\n        }\r\n\r\n        private static void OnColorChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)\r\n        {\r\n            if (d is DropShadowPanel panel)\r\n            {\r\n                panel.OnColorChanged((Color)e.NewValue);\r\n            }\r\n        }\r\n\r\n        private static void OnOffsetXChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)\r\n        {\r\n            if (d is DropShadowPanel panel)\r\n            {\r\n                panel.OnOffsetXChanged((double)e.NewValue);\r\n            }\r\n        }\r\n\r\n        private static void OnOffsetYChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)\r\n        {\r\n            if (d is DropShadowPanel panel)\r\n            {\r\n                panel.OnOffsetYChanged((double)e.NewValue);\r\n            }\r\n        }\r\n\r\n        private static void OnOffsetZChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)\r\n        {\r\n            if (d is DropShadowPanel panel)\r\n            {\r\n                panel.OnOffsetZChanged((double)e.NewValue);\r\n            }\r\n        }\r\n\r\n        private static void OnShadowOpacityChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)\r\n        {\r\n            if (d is DropShadowPanel panel)\r\n            {\r\n                panel.OnShadowOpacityChanged((double)e.NewValue);\r\n            }\r\n        }\r\n\r\n        private static void OnIsMaskedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)\r\n        {\r\n            if (d is DropShadowPanel panel)\r\n            {\r\n                panel.UpdateShadowMask();\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/DropShadowPanel/DropShadowPanel.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/DropShadowPanel\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System.Numerics;\r\n    using Windows.UI;\r\n    using Windows.UI.Composition;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Hosting;\r\n    using Windows.UI.Xaml.Shapes;\r\n\r\n    /// <summary>\r\n    /// The <see cref=\"DropShadowPanel\"/> control allows the creation of a DropShadow for any Xaml FrameworkElement in markup\r\n    /// making it easier to add shadows to Xaml without having to directly drop down to Windows.UI.Composition APIs.\r\n    /// </summary>\r\n    [TemplatePart(Name = PartShadow, Type = typeof(Border))]\r\n    public partial class DropShadowPanel : ContentControl\r\n    {\r\n        private const string PartShadow = \"ShadowElement\";\r\n\r\n        private readonly DropShadow _dropShadow;\r\n        private readonly SpriteVisual _shadowVisual;\r\n        private Border _border;\r\n\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"DropShadowPanel\"/> class.\r\n        /// </summary>\r\n        public DropShadowPanel()\r\n        {\r\n            DefaultStyleKey = typeof(DropShadowPanel);\r\n\r\n            Compositor compositor = ElementCompositionPreview.GetElementVisual(this).Compositor;\r\n\r\n            _shadowVisual = compositor.CreateSpriteVisual();\r\n\r\n            _dropShadow = compositor.CreateDropShadow();\r\n            _shadowVisual.Shadow = _dropShadow;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Update the visual state of the control when its template is changed.\r\n        /// </summary>\r\n        protected override void OnApplyTemplate()\r\n        {\r\n            _border = GetTemplateChild(PartShadow) as Border;\r\n\r\n            if (_border != null)\r\n            {\r\n                ElementCompositionPreview.SetElementChildVisual(_border, _shadowVisual);\r\n            }\r\n\r\n            ConfigureShadowVisualForCastingElement();\r\n\r\n            base.OnApplyTemplate();\r\n        }\r\n\r\n        /// <inheritdoc/>\r\n        protected override void OnContentChanged(object oldContent, object newContent)\r\n        {\r\n            if (oldContent != null)\r\n            {\r\n                if (oldContent is FrameworkElement oldElement)\r\n                {\r\n                    oldElement.SizeChanged -= OnSizeChanged;\r\n                }\r\n            }\r\n\r\n            if (newContent != null)\r\n            {\r\n                if (newContent is FrameworkElement newElement)\r\n                {\r\n                    newElement.SizeChanged += OnSizeChanged;\r\n                }\r\n            }\r\n\r\n            base.OnContentChanged(oldContent, newContent);\r\n        }\r\n\r\n        private void OnSizeChanged(object sender, SizeChangedEventArgs e)\r\n        {\r\n            UpdateShadowSize();\r\n        }\r\n\r\n        private void ConfigureShadowVisualForCastingElement()\r\n        {\r\n            UpdateShadowMask();\r\n            UpdateShadowSize();\r\n        }\r\n\r\n        private void OnBlurRadiusChanged(double newValue)\r\n        {\r\n            if (_dropShadow != null)\r\n            {\r\n                _dropShadow.BlurRadius = (float)newValue;\r\n            }\r\n        }\r\n\r\n        private void OnColorChanged(Color newValue)\r\n        {\r\n            if (_dropShadow != null)\r\n            {\r\n                _dropShadow.Color = newValue;\r\n            }\r\n        }\r\n\r\n        private void OnOffsetXChanged(double newValue)\r\n        {\r\n            if (_dropShadow != null)\r\n            {\r\n                UpdateShadowOffset((float)newValue, _dropShadow.Offset.Y, _dropShadow.Offset.Z);\r\n            }\r\n        }\r\n\r\n        private void OnOffsetYChanged(double newValue)\r\n        {\r\n            if (_dropShadow != null)\r\n            {\r\n                UpdateShadowOffset(_dropShadow.Offset.X, (float)newValue, _dropShadow.Offset.Z);\r\n            }\r\n        }\r\n\r\n        private void OnOffsetZChanged(double newValue)\r\n        {\r\n            if (_dropShadow != null)\r\n            {\r\n                UpdateShadowOffset(_dropShadow.Offset.X, _dropShadow.Offset.Y, (float)newValue);\r\n            }\r\n        }\r\n\r\n        private void OnShadowOpacityChanged(double newValue)\r\n        {\r\n            if (_dropShadow != null)\r\n            {\r\n                _dropShadow.Opacity = (float)newValue;\r\n            }\r\n        }\r\n\r\n        private void UpdateShadowMask()\r\n        {\r\n            if (Content != null && IsMasked)\r\n            {\r\n                CompositionBrush mask = null;\r\n\r\n                if (Content is Image image)\r\n                {\r\n                    mask = image.GetAlphaMask();\r\n                }\r\n                else if (Content is Shape shape)\r\n                {\r\n                    mask = shape.GetAlphaMask();\r\n                }\r\n                else if (Content is TextBlock textBlock)\r\n                {\r\n                    mask = textBlock.GetAlphaMask();\r\n                }\r\n\r\n                _dropShadow.Mask = mask;\r\n            }\r\n            else\r\n            {\r\n                _dropShadow.Mask = null;\r\n            }\r\n        }\r\n\r\n        private void UpdateShadowOffset(float x, float y, float z)\r\n        {\r\n            if (_dropShadow != null)\r\n            {\r\n                _dropShadow.Offset = new Vector3(x, y, z);\r\n            }\r\n        }\r\n\r\n        private void UpdateShadowSize()\r\n        {\r\n            if (_shadowVisual != null)\r\n            {\r\n                Vector2 newSize = new Vector2(0, 0);\r\n                if (Content is FrameworkElement content)\r\n                {\r\n                    newSize = new Vector2((float)content.ActualWidth, (float)content.ActualHeight);\r\n                }\r\n\r\n                _shadowVisual.Size = newSize;\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/DropShadowPanel/DropShadowPanel.xaml",
    "content": "﻿<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n                    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n                    xmlns:controls=\"using:Notepads.Controls\">\r\n\r\n    <Style TargetType=\"controls:DropShadowPanel\">\r\n        <Setter Property=\"IsTabStop\"\r\n                Value=\"False\" />\r\n        <Setter Property=\"HorizontalAlignment\" Value=\"Stretch\"/>\r\n        <Setter Property=\"HorizontalContentAlignment\" Value=\"Left\"/>\r\n        <Setter Property=\"VerticalAlignment\" Value=\"Stretch\"/>\r\n        <Setter Property=\"VerticalContentAlignment\" Value=\"Stretch\"/>\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"controls:DropShadowPanel\">\r\n                    <Grid Background=\"{TemplateBinding Background}\"\r\n                          BorderBrush=\"{TemplateBinding BorderBrush}\"\r\n                          BorderThickness=\"{TemplateBinding BorderThickness}\"\r\n                          HorizontalAlignment=\"{TemplateBinding HorizontalAlignment}\"\r\n                          VerticalAlignment=\"{TemplateBinding VerticalAlignment}\">\r\n                        <Border x:Name=\"ShadowElement\" \r\n                                HorizontalAlignment=\"{TemplateBinding HorizontalContentAlignment}\"\r\n                                VerticalAlignment=\"{TemplateBinding VerticalContentAlignment}\" />\r\n                        <ContentPresenter HorizontalAlignment=\"{TemplateBinding HorizontalContentAlignment}\"\r\n                                          VerticalAlignment=\"{TemplateBinding VerticalContentAlignment}\"/>\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n</ResourceDictionary>\r\n"
  },
  {
    "path": "src/Notepads.Controls/GridSplitter/GridSplitter.Data.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/GridSplitter\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    /// <summary>\r\n    /// Represents the control that redistributes space between columns or rows of a Grid control.\r\n    /// </summary>\r\n    public partial class GridSplitter\r\n    {\r\n        /// <summary>\r\n        /// Enum to indicate whether GridSplitter resizes Columns or Rows\r\n        /// </summary>\r\n        public enum GridResizeDirection\r\n        {\r\n            /// <summary>\r\n            /// Determines whether to resize rows or columns based on its Alignment and\r\n            /// width compared to height\r\n            /// </summary>\r\n            Auto,\r\n\r\n            /// <summary>\r\n            /// Resize columns when dragging Splitter.\r\n            /// </summary>\r\n            Columns,\r\n\r\n            /// <summary>\r\n            /// Resize rows when dragging Splitter.\r\n            /// </summary>\r\n            Rows\r\n        }\r\n\r\n        /// <summary>\r\n        /// Enum to indicate what Columns or Rows the GridSplitter resizes\r\n        /// </summary>\r\n        public enum GridResizeBehavior\r\n        {\r\n            /// <summary>\r\n            /// Determine which columns or rows to resize based on its Alignment.\r\n            /// </summary>\r\n            BasedOnAlignment,\r\n\r\n            /// <summary>\r\n            /// Resize the current and next Columns or Rows.\r\n            /// </summary>\r\n            CurrentAndNext,\r\n\r\n            /// <summary>\r\n            /// Resize the previous and current Columns or Rows.\r\n            /// </summary>\r\n            PreviousAndCurrent,\r\n\r\n            /// <summary>\r\n            /// Resize the previous and next Columns or Rows.\r\n            /// </summary>\r\n            PreviousAndNext\r\n        }\r\n\r\n        /// <summary>\r\n        ///  Enum to indicate the supported gripper cursor types.\r\n        /// </summary>\r\n        public enum GripperCursorType\r\n        {\r\n            /// <summary>\r\n            /// Change the cursor based on the splitter direction\r\n            /// </summary>\r\n            Default = -1,\r\n\r\n            /// <summary>\r\n            /// Standard Arrow cursor\r\n            /// </summary>\r\n            Arrow,\r\n\r\n            /// <summary>\r\n            /// Standard Cross cursor\r\n            /// </summary>\r\n            Cross,\r\n\r\n            /// <summary>\r\n            /// Standard Custom cursor\r\n            /// </summary>\r\n            Custom,\r\n\r\n            /// <summary>\r\n            /// Standard Hand cursor\r\n            /// </summary>\r\n            Hand,\r\n\r\n            /// <summary>\r\n            /// Standard Help cursor\r\n            /// </summary>\r\n            Help,\r\n\r\n            /// <summary>\r\n            /// Standard IBeam cursor\r\n            /// </summary>\r\n            IBeam,\r\n\r\n            /// <summary>\r\n            /// Standard SizeAll cursor\r\n            /// </summary>\r\n            SizeAll,\r\n\r\n            /// <summary>\r\n            /// Standard SizeNortheastSouthwest cursor\r\n            /// </summary>\r\n            SizeNortheastSouthwest,\r\n\r\n            /// <summary>\r\n            /// Standard SizeNorthSouth cursor\r\n            /// </summary>\r\n            SizeNorthSouth,\r\n\r\n            /// <summary>\r\n            /// Standard SizeNorthwestSoutheast cursor\r\n            /// </summary>\r\n            SizeNorthwestSoutheast,\r\n\r\n            /// <summary>\r\n            /// Standard SizeWestEast cursor\r\n            /// </summary>\r\n            SizeWestEast,\r\n\r\n            /// <summary>\r\n            /// Standard UniversalNo cursor\r\n            /// </summary>\r\n            UniversalNo,\r\n\r\n            /// <summary>\r\n            /// Standard UpArrow cursor\r\n            /// </summary>\r\n            UpArrow,\r\n\r\n            /// <summary>\r\n            /// Standard Wait cursor\r\n            /// </summary>\r\n            Wait\r\n        }\r\n\r\n        /// <summary>\r\n        ///  Enum to indicate the behavior of window cursor on grid splitter hover\r\n        /// </summary>\r\n        public enum SplitterCursorBehavior\r\n        {\r\n            /// <summary>\r\n            /// Update window cursor on Grid Splitter hover\r\n            /// </summary>\r\n            ChangeOnSplitterHover,\r\n\r\n            /// <summary>\r\n            /// Update window cursor on Grid Splitter Gripper hover\r\n            /// </summary>\r\n            ChangeOnGripperHover\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/GridSplitter/GridSplitter.Events.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/GridSplitter\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using Windows.System;\r\n    using Windows.UI.Core;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Input;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    /// <summary>\r\n    /// Represents the control that redistributes space between columns or rows of a Grid control.\r\n    /// </summary>\r\n    public partial class GridSplitter\r\n    {\r\n        // Symbols for GripperBar in Segoe MDL2 Assets\r\n        private const string GripperBarVertical = \"\\xE784\";\r\n        private const string GripperBarHorizontal = \"\\xE76F\";\r\n        private const string GripperDisplayFont = \"Segoe MDL2 Assets\";\r\n\r\n        private void GridSplitter_Loaded(object sender, RoutedEventArgs e)\r\n        {\r\n            _resizeDirection = GetResizeDirection();\r\n            _resizeBehavior = GetResizeBehavior();\r\n\r\n            // Adding Grip to Grid Splitter\r\n            if (Element == default(UIElement))\r\n            {\r\n                CreateGripperDisplay();\r\n                Element = _gripperDisplay;\r\n            }\r\n\r\n            if (_hoverWrapper == null)\r\n            {\r\n                var hoverWrapper = new GripperHoverWrapper(\r\n                    CursorBehavior == SplitterCursorBehavior.ChangeOnSplitterHover\r\n                    ? this\r\n                    : Element,\r\n                    _resizeDirection,\r\n                    GripperCursor,\r\n                    GripperCustomCursorResource);\r\n                ManipulationStarted += hoverWrapper.SplitterManipulationStarted;\r\n                ManipulationCompleted += hoverWrapper.SplitterManipulationCompleted;\r\n\r\n                _hoverWrapper = hoverWrapper;\r\n            }\r\n        }\r\n\r\n        private void CreateGripperDisplay()\r\n        {\r\n            if (_gripperDisplay == null)\r\n            {\r\n                _gripperDisplay = new TextBlock\r\n                {\r\n                    FontFamily = new FontFamily(GripperDisplayFont),\r\n                    HorizontalAlignment = HorizontalAlignment.Center,\r\n                    VerticalAlignment = VerticalAlignment.Center,\r\n                    Foreground = GripperForeground,\r\n                    Text = _resizeDirection == GridResizeDirection.Columns ? GripperBarVertical : GripperBarHorizontal\r\n                };\r\n            }\r\n        }\r\n\r\n        /// <inheritdoc />\r\n        protected override void OnKeyDown(KeyRoutedEventArgs e)\r\n        {\r\n            var step = 1;\r\n            var ctrl = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control);\r\n            if (ctrl.HasFlag(CoreVirtualKeyStates.Down))\r\n            {\r\n                step = 5;\r\n            }\r\n\r\n            if (_resizeDirection == GridResizeDirection.Columns)\r\n            {\r\n                if (e.Key == VirtualKey.Left)\r\n                {\r\n                    HorizontalMove(-step);\r\n                }\r\n                else if (e.Key == VirtualKey.Right)\r\n                {\r\n                    HorizontalMove(step);\r\n                }\r\n                else\r\n                {\r\n                    return;\r\n                }\r\n\r\n                e.Handled = true;\r\n                return;\r\n            }\r\n\r\n            if (_resizeDirection == GridResizeDirection.Rows)\r\n            {\r\n                if (e.Key == VirtualKey.Up)\r\n                {\r\n                    VerticalMove(-step);\r\n                }\r\n                else if (e.Key == VirtualKey.Down)\r\n                {\r\n                    VerticalMove(step);\r\n                }\r\n                else\r\n                {\r\n                    return;\r\n                }\r\n\r\n                e.Handled = true;\r\n            }\r\n\r\n            base.OnKeyDown(e);\r\n        }\r\n\r\n        /// <inheritdoc />\r\n        protected override void OnManipulationStarted(ManipulationStartedRoutedEventArgs e)\r\n        {\r\n            // saving the previous state\r\n            PreviousCursor = Window.Current.CoreWindow.PointerCursor;\r\n            _resizeDirection = GetResizeDirection();\r\n            _resizeBehavior = GetResizeBehavior();\r\n\r\n            if (_resizeDirection == GridResizeDirection.Columns)\r\n            {\r\n                Window.Current.CoreWindow.PointerCursor = ColumnsSplitterCursor;\r\n            }\r\n            else if (_resizeDirection == GridResizeDirection.Rows)\r\n            {\r\n                Window.Current.CoreWindow.PointerCursor = RowSplitterCursor;\r\n            }\r\n\r\n            base.OnManipulationStarted(e);\r\n        }\r\n\r\n        /// <inheritdoc />\r\n        protected override void OnManipulationCompleted(ManipulationCompletedRoutedEventArgs e)\r\n        {\r\n            Window.Current.CoreWindow.PointerCursor = PreviousCursor;\r\n\r\n            base.OnManipulationCompleted(e);\r\n        }\r\n\r\n        /// <inheritdoc />\r\n        protected override void OnManipulationDelta(ManipulationDeltaRoutedEventArgs e)\r\n        {\r\n            var horizontalChange = e.Delta.Translation.X;\r\n            var verticalChange = e.Delta.Translation.Y;\r\n\r\n            if (_resizeDirection == GridResizeDirection.Columns)\r\n            {\r\n                if (HorizontalMove(horizontalChange))\r\n                {\r\n                    return;\r\n                }\r\n            }\r\n            else if (_resizeDirection == GridResizeDirection.Rows)\r\n            {\r\n                if (VerticalMove(verticalChange))\r\n                {\r\n                    return;\r\n                }\r\n            }\r\n\r\n            base.OnManipulationDelta(e);\r\n        }\r\n\r\n        private bool VerticalMove(double verticalChange)\r\n        {\r\n            if (CurrentRow == null || SiblingRow == null)\r\n            {\r\n                return true;\r\n            }\r\n\r\n            // if current row has fixed height then resize it\r\n            if (!IsStarRow(CurrentRow))\r\n            {\r\n                // No need to check for the row Min height because it is automatically respected\r\n                if (!SetRowHeight(CurrentRow, verticalChange, GridUnitType.Pixel))\r\n                {\r\n                    return true;\r\n                }\r\n            }\r\n\r\n            // if sibling row has fixed width then resize it\r\n            else if (!IsStarRow(SiblingRow))\r\n            {\r\n                // Would adding to this column make the current column violate the MinWidth?\r\n                if (IsValidRowHeight(CurrentRow, verticalChange) == false)\r\n                {\r\n                    return false;\r\n                }\r\n\r\n                if (!SetRowHeight(SiblingRow, verticalChange * -1, GridUnitType.Pixel))\r\n                {\r\n                    return true;\r\n                }\r\n            }\r\n\r\n            // if both row haven't fixed height (auto *)\r\n            else\r\n            {\r\n                // change current row height to the new height with respecting the auto\r\n                // change sibling row height to the new height relative to current row\r\n                // respect the other star row height by setting it's height to it's actual height with stars\r\n\r\n                // We need to validate current and sibling height to not cause any un expected behavior\r\n                if (!IsValidRowHeight(CurrentRow, verticalChange) ||\r\n                    !IsValidRowHeight(SiblingRow, verticalChange * -1))\r\n                {\r\n                    return true;\r\n                }\r\n\r\n                foreach (var rowDefinition in Resizable.RowDefinitions)\r\n                {\r\n                    if (rowDefinition == CurrentRow)\r\n                    {\r\n                        SetRowHeight(CurrentRow, verticalChange, GridUnitType.Star);\r\n                    }\r\n                    else if (rowDefinition == SiblingRow)\r\n                    {\r\n                        SetRowHeight(SiblingRow, verticalChange * -1, GridUnitType.Star);\r\n                    }\r\n                    else if (IsStarRow(rowDefinition))\r\n                    {\r\n                        rowDefinition.Height = new GridLength(rowDefinition.ActualHeight, GridUnitType.Star);\r\n                    }\r\n                }\r\n            }\r\n\r\n            return false;\r\n        }\r\n\r\n        private bool HorizontalMove(double horizontalChange)\r\n        {\r\n            if (CurrentColumn == null || SiblingColumn == null)\r\n            {\r\n                return true;\r\n            }\r\n\r\n            // if current column has fixed width then resize it\r\n            if (!IsStarColumn(CurrentColumn))\r\n            {\r\n                // No need to check for the Column Min width because it is automatically respected\r\n                if (!SetColumnWidth(CurrentColumn, horizontalChange, GridUnitType.Pixel))\r\n                {\r\n                    return true;\r\n                }\r\n            }\r\n\r\n            // if sibling column has fixed width then resize it\r\n            else if (!IsStarColumn(SiblingColumn))\r\n            {\r\n                // Would adding to this column make the current column violate the MinWidth?\r\n                if (IsValidColumnWidth(CurrentColumn, horizontalChange) == false)\r\n                {\r\n                    return false;\r\n                }\r\n\r\n                if (!SetColumnWidth(SiblingColumn, horizontalChange * -1, GridUnitType.Pixel))\r\n                {\r\n                    return true;\r\n                }\r\n            }\r\n\r\n            // if both column haven't fixed width (auto *)\r\n            else\r\n            {\r\n                // change current column width to the new width with respecting the auto\r\n                // change sibling column width to the new width relative to current column\r\n                // respect the other star column width by setting it's width to it's actual width with stars\r\n\r\n                // We need to validate current and sibling width to not cause any un expected behavior\r\n                if (!IsValidColumnWidth(CurrentColumn, horizontalChange) ||\r\n                    !IsValidColumnWidth(SiblingColumn, horizontalChange * -1))\r\n                {\r\n                    return true;\r\n                }\r\n\r\n                foreach (var columnDefinition in Resizable.ColumnDefinitions)\r\n                {\r\n                    if (columnDefinition == CurrentColumn)\r\n                    {\r\n                        SetColumnWidth(CurrentColumn, horizontalChange, GridUnitType.Star);\r\n                    }\r\n                    else if (columnDefinition == SiblingColumn)\r\n                    {\r\n                        SetColumnWidth(SiblingColumn, horizontalChange * -1, GridUnitType.Star);\r\n                    }\r\n                    else if (IsStarColumn(columnDefinition))\r\n                    {\r\n                        columnDefinition.Width = new GridLength(columnDefinition.ActualWidth, GridUnitType.Star);\r\n                    }\r\n                }\r\n            }\r\n\r\n            return false;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/GridSplitter/GridSplitter.Helper.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/GridSplitter\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n\r\n    /// <summary>\r\n    /// Represents the control that redistributes space between columns or rows of a Grid control.\r\n    /// </summary>\r\n    public partial class GridSplitter\r\n    {\r\n        private static bool IsStarColumn(ColumnDefinition definition)\r\n        {\r\n            return ((GridLength)definition.GetValue(ColumnDefinition.WidthProperty)).IsStar;\r\n        }\r\n\r\n        private static bool IsStarRow(RowDefinition definition)\r\n        {\r\n            return ((GridLength)definition.GetValue(RowDefinition.HeightProperty)).IsStar;\r\n        }\r\n\r\n        private bool SetColumnWidth(ColumnDefinition columnDefinition, double horizontalChange, GridUnitType unitType)\r\n        {\r\n            var newWidth = columnDefinition.ActualWidth + horizontalChange;\r\n\r\n            var minWidth = columnDefinition.MinWidth;\r\n            if (!double.IsNaN(minWidth) && newWidth < minWidth)\r\n            {\r\n                newWidth = minWidth;\r\n            }\r\n\r\n            var maxWidth = columnDefinition.MaxWidth;\r\n            if (!double.IsNaN(maxWidth) && newWidth > maxWidth)\r\n            {\r\n                newWidth = maxWidth;\r\n            }\r\n\r\n            if (newWidth > ActualWidth)\r\n            {\r\n                columnDefinition.Width = new GridLength(newWidth, unitType);\r\n                return true;\r\n            }\r\n\r\n            return false;\r\n        }\r\n\r\n        private bool IsValidColumnWidth(ColumnDefinition columnDefinition, double horizontalChange)\r\n        {\r\n            var newWidth = columnDefinition.ActualWidth + horizontalChange;\r\n\r\n            var minWidth = columnDefinition.MinWidth;\r\n            if (!double.IsNaN(minWidth) && newWidth < minWidth)\r\n            {\r\n                return false;\r\n            }\r\n\r\n            var maxWidth = columnDefinition.MaxWidth;\r\n            if (!double.IsNaN(maxWidth) && newWidth > maxWidth)\r\n            {\r\n                return false;\r\n            }\r\n\r\n            if (newWidth <= ActualWidth)\r\n            {\r\n                return false;\r\n            }\r\n\r\n            return true;\r\n        }\r\n\r\n        private bool SetRowHeight(RowDefinition rowDefinition, double verticalChange, GridUnitType unitType)\r\n        {\r\n            var newHeight = rowDefinition.ActualHeight + verticalChange;\r\n\r\n            var minHeight = rowDefinition.MinHeight;\r\n            if (!double.IsNaN(minHeight) && newHeight < minHeight)\r\n            {\r\n                newHeight = minHeight;\r\n            }\r\n\r\n            var maxWidth = rowDefinition.MaxHeight;\r\n            if (!double.IsNaN(maxWidth) && newHeight > maxWidth)\r\n            {\r\n                newHeight = maxWidth;\r\n            }\r\n\r\n            if (newHeight > ActualHeight)\r\n            {\r\n                rowDefinition.Height = new GridLength(newHeight, unitType);\r\n                return true;\r\n            }\r\n\r\n            return false;\r\n        }\r\n\r\n        private bool IsValidRowHeight(RowDefinition rowDefinition, double verticalChange)\r\n        {\r\n            var newHeight = rowDefinition.ActualHeight + verticalChange;\r\n\r\n            var minHeight = rowDefinition.MinHeight;\r\n            if (!double.IsNaN(minHeight) && newHeight < minHeight)\r\n            {\r\n                return false;\r\n            }\r\n\r\n            var maxHeight = rowDefinition.MaxHeight;\r\n            if (!double.IsNaN(maxHeight) && newHeight > maxHeight)\r\n            {\r\n                return false;\r\n            }\r\n\r\n            if (newHeight <= ActualHeight)\r\n            {\r\n                return false;\r\n            }\r\n\r\n            return true;\r\n        }\r\n\r\n        // Return the targeted Column based on the resize behavior\r\n        private int GetTargetedColumn()\r\n        {\r\n            var currentIndex = Grid.GetColumn(TargetControl);\r\n            return GetTargetIndex(currentIndex);\r\n        }\r\n\r\n        // Return the sibling Row based on the resize behavior\r\n        private int GetTargetedRow()\r\n        {\r\n            var currentIndex = Grid.GetRow(TargetControl);\r\n            return GetTargetIndex(currentIndex);\r\n        }\r\n\r\n        // Return the sibling Column based on the resize behavior\r\n        private int GetSiblingColumn()\r\n        {\r\n            var currentIndex = Grid.GetColumn(TargetControl);\r\n            return GetSiblingIndex(currentIndex);\r\n        }\r\n\r\n        // Return the sibling Row based on the resize behavior\r\n        private int GetSiblingRow()\r\n        {\r\n            var currentIndex = Grid.GetRow(TargetControl);\r\n            return GetSiblingIndex(currentIndex);\r\n        }\r\n\r\n        // Gets index based on resize behavior for first targeted row/column\r\n        private int GetTargetIndex(int currentIndex)\r\n        {\r\n            switch (_resizeBehavior)\r\n            {\r\n                case GridResizeBehavior.CurrentAndNext:\r\n                    return currentIndex;\r\n                case GridResizeBehavior.PreviousAndNext:\r\n                    return currentIndex - 1;\r\n                case GridResizeBehavior.PreviousAndCurrent:\r\n                    return currentIndex - 1;\r\n                default:\r\n                    return -1;\r\n            }\r\n        }\r\n\r\n        // Gets index based on resize behavior for second targeted row/column\r\n        private int GetSiblingIndex(int currentIndex)\r\n        {\r\n            switch (_resizeBehavior)\r\n            {\r\n                case GridResizeBehavior.CurrentAndNext:\r\n                    return currentIndex + 1;\r\n                case GridResizeBehavior.PreviousAndNext:\r\n                    return currentIndex + 1;\r\n                case GridResizeBehavior.PreviousAndCurrent:\r\n                    return currentIndex;\r\n                default:\r\n                    return -1;\r\n            }\r\n        }\r\n\r\n        // Checks the control alignment and Width/Height to detect the control resize direction columns/rows\r\n        private GridResizeDirection GetResizeDirection()\r\n        {\r\n            GridResizeDirection direction = ResizeDirection;\r\n\r\n            if (direction == GridResizeDirection.Auto)\r\n            {\r\n                // When HorizontalAlignment is Left, Right or Center, resize Columns\r\n                if (HorizontalAlignment != HorizontalAlignment.Stretch)\r\n                {\r\n                    direction = GridResizeDirection.Columns;\r\n                }\r\n\r\n                // When VerticalAlignment is Top, Bottom or Center, resize Rows\r\n                else if (VerticalAlignment != VerticalAlignment.Stretch)\r\n                {\r\n                    direction = GridResizeDirection.Rows;\r\n                }\r\n\r\n                // Check Width vs Height\r\n                else if (ActualWidth <= ActualHeight)\r\n                {\r\n                    direction = GridResizeDirection.Columns;\r\n                }\r\n                else\r\n                {\r\n                    direction = GridResizeDirection.Rows;\r\n                }\r\n            }\r\n\r\n            return direction;\r\n        }\r\n\r\n        // Get the resize behavior (Which columns/rows should be resized) based on alignment and Direction\r\n        private GridResizeBehavior GetResizeBehavior()\r\n        {\r\n            GridResizeBehavior resizeBehavior = ResizeBehavior;\r\n\r\n            if (resizeBehavior == GridResizeBehavior.BasedOnAlignment)\r\n            {\r\n                if (_resizeDirection == GridResizeDirection.Columns)\r\n                {\r\n                    switch (HorizontalAlignment)\r\n                    {\r\n                        case HorizontalAlignment.Left:\r\n                            resizeBehavior = GridResizeBehavior.PreviousAndCurrent;\r\n                            break;\r\n                        case HorizontalAlignment.Right:\r\n                            resizeBehavior = GridResizeBehavior.CurrentAndNext;\r\n                            break;\r\n                        default:\r\n                            resizeBehavior = GridResizeBehavior.PreviousAndNext;\r\n                            break;\r\n                    }\r\n                }\r\n\r\n                // resize direction is vertical\r\n                else\r\n                {\r\n                    switch (VerticalAlignment)\r\n                    {\r\n                        case VerticalAlignment.Top:\r\n                            resizeBehavior = GridResizeBehavior.PreviousAndCurrent;\r\n                            break;\r\n                        case VerticalAlignment.Bottom:\r\n                            resizeBehavior = GridResizeBehavior.CurrentAndNext;\r\n                            break;\r\n                        default:\r\n                            resizeBehavior = GridResizeBehavior.PreviousAndNext;\r\n                            break;\r\n                    }\r\n                }\r\n            }\r\n\r\n            return resizeBehavior;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/GridSplitter/GridSplitter.Options.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/GridSplitter\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using Windows.UI.Core;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    /// <summary>\r\n    /// Represents the control that redistributes space between columns or rows of a Grid control.\r\n    /// </summary>\r\n    public partial class GridSplitter\r\n    {\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"Element\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty ElementProperty\r\n            = DependencyProperty.Register(\r\n                nameof(Element),\r\n                typeof(UIElement),\r\n                typeof(GridSplitter),\r\n                new PropertyMetadata(default(UIElement), OnElementPropertyChanged));\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"ResizeDirection\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty ResizeDirectionProperty\r\n            = DependencyProperty.Register(\r\n                nameof(ResizeDirection),\r\n                typeof(GridResizeDirection),\r\n                typeof(GridSplitter),\r\n                new PropertyMetadata(GridResizeDirection.Auto));\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"ResizeBehavior\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty ResizeBehaviorProperty\r\n            = DependencyProperty.Register(\r\n                nameof(ResizeBehavior),\r\n                typeof(GridResizeBehavior),\r\n                typeof(GridSplitter),\r\n                new PropertyMetadata(GridResizeBehavior.BasedOnAlignment));\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"GripperForeground\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty GripperForegroundProperty\r\n            = DependencyProperty.Register(\r\n                nameof(GripperForeground),\r\n                typeof(Brush),\r\n                typeof(GridSplitter),\r\n                new PropertyMetadata(default(Brush), OnGripperForegroundPropertyChanged));\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"ParentLevel\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty ParentLevelProperty\r\n            = DependencyProperty.Register(\r\n                nameof(ParentLevel),\r\n                typeof(int),\r\n                typeof(GridSplitter),\r\n                new PropertyMetadata(default(int)));\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"GripperCursor\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty GripperCursorProperty =\r\n            DependencyProperty.RegisterAttached(\r\n                nameof(GripperCursor),\r\n                typeof(CoreCursorType?),\r\n                typeof(GridSplitter),\r\n                new PropertyMetadata(GripperCursorType.Default, OnGripperCursorPropertyChanged));\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"GripperCustomCursorResource\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty GripperCustomCursorResourceProperty =\r\n            DependencyProperty.RegisterAttached(\r\n                nameof(GripperCustomCursorResource),\r\n                typeof(uint),\r\n                typeof(GridSplitter),\r\n                new PropertyMetadata(GripperCustomCursorDefaultResource, GripperCustomCursorResourcePropertyChanged));\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"CursorBehavior\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty CursorBehaviorProperty =\r\n            DependencyProperty.RegisterAttached(\r\n                nameof(CursorBehavior),\r\n                typeof(SplitterCursorBehavior),\r\n                typeof(GridSplitter),\r\n                new PropertyMetadata(SplitterCursorBehavior.ChangeOnSplitterHover, CursorBehaviorPropertyChanged));\r\n\r\n        /// <summary>\r\n        /// Gets or sets the visual content of this Grid Splitter\r\n        /// </summary>\r\n        public UIElement Element\r\n        {\r\n            get => (UIElement)GetValue(ElementProperty);\r\n            set => SetValue(ElementProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets whether the Splitter resizes the Columns, Rows, or Both.\r\n        /// </summary>\r\n        public GridResizeDirection ResizeDirection\r\n        {\r\n            get => (GridResizeDirection)GetValue(ResizeDirectionProperty);\r\n            set => SetValue(ResizeDirectionProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets which Columns or Rows the Splitter resizes.\r\n        /// </summary>\r\n        public GridResizeBehavior ResizeBehavior\r\n        {\r\n            get => (GridResizeBehavior)GetValue(ResizeBehaviorProperty);\r\n            set => SetValue(ResizeBehaviorProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the foreground color of grid splitter grip\r\n        /// </summary>\r\n        public Brush GripperForeground\r\n        {\r\n            get => (Brush)GetValue(GripperForegroundProperty);\r\n            set => SetValue(GripperForegroundProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the level of the parent grid to resize\r\n        /// </summary>\r\n        public int ParentLevel\r\n        {\r\n            get => (int)GetValue(ParentLevelProperty);\r\n            set => SetValue(ParentLevelProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the gripper Cursor type\r\n        /// </summary>\r\n        public GripperCursorType GripperCursor\r\n        {\r\n            get => (GripperCursorType)GetValue(GripperCursorProperty);\r\n            set => SetValue(GripperCursorProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the gripper Custom Cursor resource number\r\n        /// </summary>\r\n        public int GripperCustomCursorResource\r\n        {\r\n            get => (int)GetValue(GripperCustomCursorResourceProperty);\r\n            set => SetValue(GripperCustomCursorResourceProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets splitter cursor on hover behavior\r\n        /// </summary>\r\n        public SplitterCursorBehavior CursorBehavior\r\n        {\r\n            get => (SplitterCursorBehavior)GetValue(CursorBehaviorProperty);\r\n            set => SetValue(CursorBehaviorProperty, value);\r\n        }\r\n\r\n        private static void OnGripperForegroundPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)\r\n        {\r\n            var gridSplitter = (GridSplitter)d;\r\n\r\n            if (gridSplitter._gripperDisplay == null)\r\n            {\r\n                return;\r\n            }\r\n\r\n            gridSplitter._gripperDisplay.Foreground = gridSplitter.GripperForeground;\r\n        }\r\n\r\n        private static void OnGripperCursorPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)\r\n        {\r\n            var gridSplitter = (GridSplitter)d;\r\n\r\n            if (gridSplitter._hoverWrapper == null)\r\n            {\r\n                return;\r\n            }\r\n\r\n            gridSplitter._hoverWrapper.GripperCursor = gridSplitter.GripperCursor;\r\n        }\r\n\r\n        private static void GripperCustomCursorResourcePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)\r\n        {\r\n            var gridSplitter = (GridSplitter)d;\r\n\r\n            if (gridSplitter._hoverWrapper == null)\r\n            {\r\n                return;\r\n            }\r\n\r\n            gridSplitter._hoverWrapper.GripperCustomCursorResource = gridSplitter.GripperCustomCursorResource;\r\n        }\r\n\r\n        private static void CursorBehaviorPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)\r\n        {\r\n            var gridSplitter = (GridSplitter)d;\r\n\r\n            gridSplitter._hoverWrapper?.UpdateHoverElement(gridSplitter.CursorBehavior ==\r\n                                                           SplitterCursorBehavior.ChangeOnSplitterHover\r\n                ? gridSplitter\r\n                : gridSplitter.Element);\r\n        }\r\n\r\n        private static void OnElementPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)\r\n        {\r\n            var gridSplitter = (GridSplitter)d;\r\n\r\n            gridSplitter._hoverWrapper?.UpdateHoverElement(gridSplitter.CursorBehavior ==\r\n                                                           SplitterCursorBehavior.ChangeOnSplitterHover\r\n                ? gridSplitter\r\n                : gridSplitter.Element);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/GridSplitter/GridSplitter.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/GridSplitter\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using Windows.UI.Core;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Automation;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Input;\r\n\r\n    /// <summary>\r\n    /// Represents the control that redistributes space between columns or rows of a Grid control.\r\n    /// </summary>\r\n    public partial class GridSplitter : Control\r\n    {\r\n        internal const int GripperCustomCursorDefaultResource = -1;\r\n        internal static readonly CoreCursor ColumnsSplitterCursor = new CoreCursor(CoreCursorType.SizeWestEast, 1);\r\n        internal static readonly CoreCursor RowSplitterCursor = new CoreCursor(CoreCursorType.SizeNorthSouth, 1);\r\n\r\n        internal CoreCursor PreviousCursor { get; set; }\r\n\r\n        private GridResizeDirection _resizeDirection;\r\n        private GridResizeBehavior _resizeBehavior;\r\n        private GripperHoverWrapper _hoverWrapper;\r\n        private TextBlock _gripperDisplay;\r\n\r\n        private bool _pressed = false;\r\n        private bool _dragging = false;\r\n        private bool _pointerEntered = false;\r\n\r\n        /// <summary>\r\n        /// Gets the target parent grid from level\r\n        /// </summary>\r\n        private FrameworkElement TargetControl\r\n        {\r\n            get\r\n            {\r\n                if (ParentLevel == 0)\r\n                {\r\n                    return this;\r\n                }\r\n\r\n                var parent = Parent;\r\n                for (int i = 2; i < ParentLevel; i++)\r\n                {\r\n                    if (parent is FrameworkElement frameworkElement)\r\n                    {\r\n                        parent = frameworkElement.Parent;\r\n                    }\r\n                }\r\n\r\n                return parent as FrameworkElement;\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets GridSplitter Container Grid\r\n        /// </summary>\r\n        private Grid Resizable => TargetControl?.Parent as Grid;\r\n\r\n        /// <summary>\r\n        /// Gets the current Column definition of the parent Grid\r\n        /// </summary>\r\n        private ColumnDefinition CurrentColumn\r\n        {\r\n            get\r\n            {\r\n                if (Resizable == null)\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                var gridSplitterTargetedColumnIndex = GetTargetedColumn();\r\n\r\n                if ((gridSplitterTargetedColumnIndex >= 0)\r\n                    && (gridSplitterTargetedColumnIndex < Resizable.ColumnDefinitions.Count))\r\n                {\r\n                    return Resizable.ColumnDefinitions[gridSplitterTargetedColumnIndex];\r\n                }\r\n\r\n                return null;\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets the Sibling Column definition of the parent Grid\r\n        /// </summary>\r\n        private ColumnDefinition SiblingColumn\r\n        {\r\n            get\r\n            {\r\n                if (Resizable == null)\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                var gridSplitterSiblingColumnIndex = GetSiblingColumn();\r\n\r\n                if ((gridSplitterSiblingColumnIndex >= 0)\r\n                    && (gridSplitterSiblingColumnIndex < Resizable.ColumnDefinitions.Count))\r\n                {\r\n                    return Resizable.ColumnDefinitions[gridSplitterSiblingColumnIndex];\r\n                }\r\n\r\n                return null;\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets the current Row definition of the parent Grid\r\n        /// </summary>\r\n        private RowDefinition CurrentRow\r\n        {\r\n            get\r\n            {\r\n                if (Resizable == null)\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                var gridSplitterTargetedRowIndex = GetTargetedRow();\r\n\r\n                if ((gridSplitterTargetedRowIndex >= 0)\r\n                    && (gridSplitterTargetedRowIndex < Resizable.RowDefinitions.Count))\r\n                {\r\n                    return Resizable.RowDefinitions[gridSplitterTargetedRowIndex];\r\n                }\r\n\r\n                return null;\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets the Sibling Row definition of the parent Grid\r\n        /// </summary>\r\n        private RowDefinition SiblingRow\r\n        {\r\n            get\r\n            {\r\n                if (Resizable == null)\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                var gridSplitterSiblingRowIndex = GetSiblingRow();\r\n\r\n                if ((gridSplitterSiblingRowIndex >= 0)\r\n                    && (gridSplitterSiblingRowIndex < Resizable.RowDefinitions.Count))\r\n                {\r\n                    return Resizable.RowDefinitions[gridSplitterSiblingRowIndex];\r\n                }\r\n\r\n                return null;\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"GridSplitter\"/> class.\r\n        /// </summary>\r\n        public GridSplitter()\r\n        {\r\n            DefaultStyleKey = typeof(GridSplitter);\r\n            Loaded += GridSplitter_Loaded;\r\n            string automationName = \"GridSpliter\";\r\n            AutomationProperties.SetName(this, automationName);\r\n        }\r\n\r\n        /// <inheritdoc />\r\n        protected override void OnApplyTemplate()\r\n        {\r\n            base.OnApplyTemplate();\r\n\r\n            // Unhook registered events\r\n            Loaded -= GridSplitter_Loaded;\r\n            PointerEntered -= GridSplitter_PointerEntered;\r\n            PointerExited -= GridSplitter_PointerExited;\r\n            PointerPressed -= GridSplitter_PointerPressed;\r\n            PointerReleased -= GridSplitter_PointerReleased;\r\n            ManipulationStarted -= GridSplitter_ManipulationStarted;\r\n            ManipulationCompleted -= GridSplitter_ManipulationCompleted;\r\n\r\n            _hoverWrapper?.UnhookEvents();\r\n\r\n            // Register Events\r\n            Loaded += GridSplitter_Loaded;\r\n            PointerEntered += GridSplitter_PointerEntered;\r\n            PointerExited += GridSplitter_PointerExited;\r\n            PointerPressed += GridSplitter_PointerPressed;\r\n            PointerReleased += GridSplitter_PointerReleased;\r\n            ManipulationStarted += GridSplitter_ManipulationStarted;\r\n            ManipulationCompleted += GridSplitter_ManipulationCompleted;\r\n\r\n            _hoverWrapper?.UpdateHoverElement(Element);\r\n\r\n            ManipulationMode = ManipulationModes.TranslateX | ManipulationModes.TranslateY;\r\n        }\r\n\r\n        private void GridSplitter_PointerReleased(object sender, PointerRoutedEventArgs e)\r\n        {\r\n            _pressed = false;\r\n            VisualStateManager.GoToState(this, _pointerEntered ? \"PointerOver\" : \"Normal\", true);\r\n        }\r\n\r\n        private void GridSplitter_PointerPressed(object sender, PointerRoutedEventArgs e)\r\n        {\r\n            _pressed = true;\r\n            VisualStateManager.GoToState(this, \"Pressed\", true);\r\n        }\r\n\r\n        private void GridSplitter_PointerExited(object sender, PointerRoutedEventArgs e)\r\n        {\r\n            _pointerEntered = false;\r\n\r\n            if (!_pressed && !_dragging)\r\n            {\r\n                VisualStateManager.GoToState(this, \"Normal\", true);\r\n            }\r\n        }\r\n\r\n        private void GridSplitter_PointerEntered(object sender, PointerRoutedEventArgs e)\r\n        {\r\n            _pointerEntered = true;\r\n\r\n            if (!_pressed && !_dragging)\r\n            {\r\n                VisualStateManager.GoToState(this, \"PointerOver\", true);\r\n            }\r\n        }\r\n\r\n        private void GridSplitter_ManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e)\r\n        {\r\n            _dragging = false;\r\n            _pressed = false;\r\n            VisualStateManager.GoToState(this, _pointerEntered ? \"PointerOver\" : \"Normal\", true);\r\n        }\r\n\r\n        private void GridSplitter_ManipulationStarted(object sender, ManipulationStartedRoutedEventArgs e)\r\n        {\r\n            _dragging = true;\r\n            VisualStateManager.GoToState(this, \"Pressed\", true);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/GridSplitter/GridSplitter.xaml",
    "content": "﻿<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n                    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n                    xmlns:local=\"using:Notepads.Controls\">\r\n\r\n    <ResourceDictionary.ThemeDictionaries>\r\n        <ResourceDictionary x:Key=\"Default\">\r\n            <SolidColorBrush x:Key=\"SystemControlSplitterPointerOver\" Color=\"{ThemeResource SystemBaseLowColor}\" />\r\n            <SolidColorBrush x:Key=\"SystemControlSplitterPressed\" Color=\"{ThemeResource SystemBaseHighColor}\" />\r\n        </ResourceDictionary>\r\n        <ResourceDictionary x:Key=\"HighContrast\">\r\n            <SolidColorBrush x:Key=\"SystemControlSplitterPointerOver\" Color=\"{ThemeResource SystemColorHighlightColor}\" />\r\n            <SolidColorBrush x:Key=\"SystemControlSplitterPressed\" Color=\"{ThemeResource SystemColorHighlightColor}\" />\r\n        </ResourceDictionary>\r\n    </ResourceDictionary.ThemeDictionaries>\r\n    \r\n    <Style TargetType=\"local:GridSplitter\">\r\n        <Setter Property=\"IsTabStop\" Value=\"True\"></Setter>\r\n        <Setter Property=\"UseSystemFocusVisuals\" Value=\"True\"></Setter>\r\n        <Setter Property=\"HorizontalAlignment\" Value=\"Stretch\"></Setter>\r\n        <Setter Property=\"VerticalAlignment\" Value=\"Stretch\"></Setter>\r\n        <Setter Property=\"IsFocusEngagementEnabled\" Value=\"True\"></Setter>\r\n        <Setter Property=\"MinWidth\" Value=\"16\"></Setter>\r\n        <Setter Property=\"MinHeight\" Value=\"16\"></Setter>\r\n        <Setter Property=\"Background\" Value=\"{ThemeResource SystemControlHighlightChromeHighBrush}\"></Setter>\r\n        <Setter Property=\"GripperForeground\" Value=\"{ThemeResource SystemControlForegroundAltHighBrush}\" />\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"local:GridSplitter\">\r\n                    <Grid x:Name=\"RootGrid\" Background=\"{TemplateBinding Background}\">\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"GridSplitterStates\">\r\n                                <VisualState x:Name=\"Normal\" />\r\n                                <VisualState x:Name=\"PointerOver\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"RootGrid.Background\" Value=\"{ThemeResource SystemControlSplitterPointerOver}\" />\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Pressed\">\r\n                                    <VisualState.Setters>\r\n                                        <Setter Target=\"RootGrid.Background\" Value=\"{ThemeResource SystemControlSplitterPressed}\" />\r\n                                    </VisualState.Setters>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n                        <ContentPresenter Content=\"{TemplateBinding Element}\" HorizontalContentAlignment=\"Stretch\" VerticalContentAlignment=\"Stretch\" />\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n\r\n</ResourceDictionary>\r\n"
  },
  {
    "path": "src/Notepads.Controls/GridSplitter/GripperHoverWrapper.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/GridSplitter\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using Windows.UI.Core;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Input;\r\n\r\n    internal class GripperHoverWrapper\r\n    {\r\n        private readonly GridSplitter.GridResizeDirection _gridSplitterDirection;\r\n\r\n        private CoreCursor _splitterPreviousPointer;\r\n        private CoreCursor _previousCursor;\r\n        private GridSplitter.GripperCursorType _gripperCursor;\r\n        private int _gripperCustomCursorResource;\r\n        private bool _isDragging;\r\n        private UIElement _element;\r\n\r\n        internal GridSplitter.GripperCursorType GripperCursor\r\n        {\r\n            get => _gripperCursor;\r\n            set => _gripperCursor = value;\r\n        }\r\n\r\n        internal int GripperCustomCursorResource\r\n        {\r\n            get => _gripperCustomCursorResource;\r\n            set => _gripperCustomCursorResource = value;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"GripperHoverWrapper\"/> class that add cursor change on hover functionality for GridSplitter.\r\n        /// </summary>\r\n        /// <param name=\"element\">UI element to apply cursor change on hover</param>\r\n        /// <param name=\"gridSplitterDirection\">GridSplitter resize direction</param>\r\n        /// <param name=\"gripperCursor\">GridSplitter gripper on hover cursor type</param>\r\n        /// <param name=\"gripperCustomCursorResource\">GridSplitter gripper custom cursor resource number</param>\r\n        internal GripperHoverWrapper(UIElement element, GridSplitter.GridResizeDirection gridSplitterDirection, GridSplitter.GripperCursorType gripperCursor, int gripperCustomCursorResource)\r\n        {\r\n            _gridSplitterDirection = gridSplitterDirection;\r\n            _gripperCursor = gripperCursor;\r\n            _gripperCustomCursorResource = gripperCustomCursorResource;\r\n            _element = element;\r\n            UnhookEvents();\r\n            _element.PointerEntered += Element_PointerEntered;\r\n            _element.PointerExited += Element_PointerExited;\r\n        }\r\n\r\n        internal void UpdateHoverElement(UIElement element)\r\n        {\r\n            UnhookEvents();\r\n            _element = element;\r\n            _element.PointerEntered += Element_PointerEntered;\r\n            _element.PointerExited += Element_PointerExited;\r\n        }\r\n\r\n        private void Element_PointerExited(object sender, PointerRoutedEventArgs e)\r\n        {\r\n            if (_isDragging)\r\n            {\r\n                // if dragging don't update the curser just update the splitter cursor with the last window cursor,\r\n                // because the splitter is still using the arrow cursor and will revert to original case when drag completes\r\n                _splitterPreviousPointer = _previousCursor;\r\n            }\r\n            else\r\n            {\r\n                Window.Current.CoreWindow.PointerCursor = _previousCursor;\r\n            }\r\n        }\r\n\r\n        private void Element_PointerEntered(object sender, PointerRoutedEventArgs e)\r\n        {\r\n            // if not dragging\r\n            if (!_isDragging)\r\n            {\r\n                _previousCursor = _splitterPreviousPointer = Window.Current.CoreWindow.PointerCursor;\r\n                UpdateDisplayCursor();\r\n            }\r\n\r\n            // if dragging\r\n            else\r\n            {\r\n                _previousCursor = _splitterPreviousPointer;\r\n            }\r\n        }\r\n\r\n        private void UpdateDisplayCursor()\r\n        {\r\n            if (_gripperCursor == GridSplitter.GripperCursorType.Default)\r\n            {\r\n                if (_gridSplitterDirection == GridSplitter.GridResizeDirection.Columns)\r\n                {\r\n                    Window.Current.CoreWindow.PointerCursor = GridSplitter.ColumnsSplitterCursor;\r\n                }\r\n                else if (_gridSplitterDirection == GridSplitter.GridResizeDirection.Rows)\r\n                {\r\n                    Window.Current.CoreWindow.PointerCursor = GridSplitter.RowSplitterCursor;\r\n                }\r\n            }\r\n            else\r\n            {\r\n                var coreCursor = (CoreCursorType)((int)_gripperCursor);\r\n                if (_gripperCursor == GridSplitter.GripperCursorType.Custom)\r\n                {\r\n                    if (_gripperCustomCursorResource > GridSplitter.GripperCustomCursorDefaultResource)\r\n                    {\r\n                        Window.Current.CoreWindow.PointerCursor = new CoreCursor(coreCursor, (uint)_gripperCustomCursorResource);\r\n                    }\r\n                }\r\n                else\r\n                {\r\n                    Window.Current.CoreWindow.PointerCursor = new CoreCursor(coreCursor, 1);\r\n                }\r\n            }\r\n        }\r\n\r\n        internal void SplitterManipulationStarted(object sender, ManipulationStartedRoutedEventArgs e)\r\n        {\r\n            if (!(sender is GridSplitter splitter))\r\n            {\r\n                return;\r\n            }\r\n\r\n            _splitterPreviousPointer = splitter.PreviousCursor;\r\n            _isDragging = true;\r\n        }\r\n\r\n        internal void SplitterManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e)\r\n        {\r\n            if (!(sender is GridSplitter splitter))\r\n            {\r\n                return;\r\n            }\r\n\r\n            Window.Current.CoreWindow.PointerCursor = splitter.PreviousCursor = _splitterPreviousPointer;\r\n            _isDragging = false;\r\n        }\r\n\r\n        internal void UnhookEvents()\r\n        {\r\n            if (_element == null)\r\n            {\r\n                return;\r\n            }\r\n\r\n            _element.PointerEntered -= Element_PointerEntered;\r\n            _element.PointerExited -= Element_PointerExited;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/Helpers/DispatcherQueueHelper.cs",
    "content": "﻿// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/blob/8464f8e5263686c1484732bdea86ebba3f30a075/Microsoft.Toolkit.Uwp/Helpers/DispatcherQueueHelper.cs\r\n\r\nnamespace Notepads.Controls.Helpers\r\n{\r\n    using System;\r\n    using System.Threading.Tasks;\r\n    using Windows.System;\r\n\r\n    /// <summary>\r\n    /// This class provides static methods helper for executing code in a DispatcherQueue.\r\n    /// </summary>\r\n    public static class DispatcherQueueHelper\r\n    {\r\n        /// <summary>\r\n        /// Extension method for <see cref=\"DispatcherQueue\"/>. Offering an actual awaitable <see cref=\"Task\"/> with optional result that will be executed on the given dispatcher.\r\n        /// </summary>\r\n        /// <param name=\"dispatcher\">DispatcherQueue of a thread to run <paramref name=\"function\"/>.</param>\r\n        /// <param name=\"function\"> Function to be executed on the given dispatcher.</param>\r\n        /// <param name=\"priority\">DispatcherQueue execution priority, default is normal.</param>\r\n        /// <returns>An awaitable <see cref=\"Task\"/> for the operation.</returns>\r\n        /// <remarks>If the current thread has UI access, <paramref name=\"function\"/> will be invoked directly.</remarks>\r\n        public static Task ExecuteOnUIThreadAsync(this DispatcherQueue dispatcher, Action function, DispatcherQueuePriority priority = DispatcherQueuePriority.Normal)\r\n        {\r\n            if (function is null)\r\n            {\r\n                throw new ArgumentNullException(nameof(function));\r\n            }\r\n\r\n            /* Run the function directly when we have thread access.\r\n             * Also reuse Task.CompletedTask in case of success,\r\n             * to skip an unnecessary heap allocation for every invocation. */\r\n\r\n            // Ignoring for now, but need to map the CurrentThreadID for all dispatcher queue code we have\r\n            /*\r\n            if (dispatcher.HasThreadAccess)\r\n            {\r\n                try\r\n                {\r\n                    function();\r\n\r\n                    return Task.CompletedTask;\r\n                }\r\n                catch (Exception e)\r\n                {\r\n                    return Task.FromException(e);\r\n                }\r\n            }\r\n            */\r\n\r\n            var taskCompletionSource = new TaskCompletionSource<object>();\r\n\r\n            _ = dispatcher?.TryEnqueue(priority, () =>\r\n            {\r\n                try\r\n                {\r\n                    function();\r\n\r\n                    taskCompletionSource.SetResult(null);\r\n                }\r\n                catch (Exception e)\r\n                {\r\n                    taskCompletionSource.SetException(e);\r\n                }\r\n            });\r\n\r\n            return taskCompletionSource.Task;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Extension method for <see cref=\"DispatcherQueue\"/>. Offering an actual awaitable <see cref=\"Task{T}\"/> with optional result that will be executed on the given dispatcher.\r\n        /// </summary>\r\n        /// <typeparam name=\"T\">Returned data type of the function.</typeparam>\r\n        /// <param name=\"dispatcher\">DispatcherQueue of a thread to run <paramref name=\"function\"/>.</param>\r\n        /// <param name=\"function\"> Function to be executed on the given dispatcher.</param>\r\n        /// <param name=\"priority\">DispatcherQueue execution priority, default is normal.</param>\r\n        /// <returns>An awaitable <see cref=\"Task{T}\"/> for the operation.</returns>\r\n        /// <remarks>If the current thread has UI access, <paramref name=\"function\"/> will be invoked directly.</remarks>\r\n        public static Task<T> ExecuteOnUIThreadAsync<T>(this DispatcherQueue dispatcher, Func<T> function, DispatcherQueuePriority priority = DispatcherQueuePriority.Normal)\r\n        {\r\n            if (function is null)\r\n            {\r\n                throw new ArgumentNullException(nameof(function));\r\n            }\r\n\r\n            // Skip the dispatch, if possible\r\n            // Ignoring for now, but need to map the CurrentThreadID for all dispatcher queue code we have\r\n            /*\r\n            if (dispatcher.HasThreadAccess)\r\n            {\r\n                try\r\n                {\r\n                    return Task.FromResult(function());\r\n                }\r\n                catch (Exception e)\r\n                {\r\n                    return Task.FromException<T>(e);\r\n                }\r\n            }\r\n            */\r\n\r\n            var taskCompletionSource = new TaskCompletionSource<T>();\r\n\r\n            _ = dispatcher?.TryEnqueue(priority, () =>\r\n            {\r\n                try\r\n                {\r\n                    taskCompletionSource.SetResult(function());\r\n                }\r\n                catch (Exception e)\r\n                {\r\n                    taskCompletionSource.SetException(e);\r\n                }\r\n            });\r\n\r\n            return taskCompletionSource.Task;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Extension method for <see cref=\"DispatcherQueue\"/>. Offering an actual awaitable <see cref=\"Task\"/> with optional result that will be executed on the given dispatcher.\r\n        /// </summary>\r\n        /// <param name=\"dispatcher\">DispatcherQueue of a thread to run <paramref name=\"function\"/>.</param>\r\n        /// <param name=\"function\">Asynchronous function to be executed on the given dispatcher.</param>\r\n        /// <param name=\"priority\">DispatcherQueue execution priority, default is normal.</param>\r\n        /// <returns>An awaitable <see cref=\"Task\"/> for the operation.</returns>\r\n        /// <remarks>If the current thread has UI access, <paramref name=\"function\"/> will be invoked directly.</remarks>\r\n        public static Task ExecuteOnUIThreadAsync(this DispatcherQueue dispatcher, Func<Task> function, DispatcherQueuePriority priority = DispatcherQueuePriority.Normal)\r\n        {\r\n            if (function is null)\r\n            {\r\n                throw new ArgumentNullException(nameof(function));\r\n            }\r\n\r\n            /* If we have thread access, we can retrieve the task directly.\r\n             * We don't use ConfigureAwait(false) in this case, in order\r\n             * to let the caller continue its execution on the same thread\r\n             * after awaiting the task returned by this function. */\r\n\r\n            // Ignoring for now, but need to map the CurrentThreadID for all dispatcher queue code we have\r\n            /*\r\n            if (dispatcher.HasThreadAccess)\r\n            {\r\n                try\r\n                {\r\n                    if (function() is Task awaitableResult)\r\n                    {\r\n                        return awaitableResult;\r\n                    }\r\n\r\n                    return Task.FromException(new InvalidOperationException(\"The Task returned by function cannot be null.\"));\r\n                }\r\n                catch (Exception e)\r\n                {\r\n                    return Task.FromException(e);\r\n                }\r\n            }\r\n            */\r\n\r\n            var taskCompletionSource = new TaskCompletionSource<object>();\r\n\r\n            _ = dispatcher?.TryEnqueue(priority, async () =>\r\n            {\r\n                try\r\n                {\r\n                    if (function() is Task awaitableResult)\r\n                    {\r\n                        await awaitableResult.ConfigureAwait(false);\r\n\r\n                        taskCompletionSource.SetResult(null);\r\n                    }\r\n                    else\r\n                    {\r\n                        taskCompletionSource.SetException(new InvalidOperationException(\"The Task returned by function cannot be null.\"));\r\n                    }\r\n                }\r\n                catch (Exception e)\r\n                {\r\n                    taskCompletionSource.SetException(e);\r\n                }\r\n            });\r\n\r\n            return taskCompletionSource.Task;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Extension method for <see cref=\"DispatcherQueue\"/>. Offering an actual awaitable <see cref=\"Task{T}\"/> with optional result that will be executed on the given dispatcher.\r\n        /// </summary>\r\n        /// <typeparam name=\"T\">Returned data type of the function.</typeparam>\r\n        /// <param name=\"dispatcher\">DispatcherQueue of a thread to run <paramref name=\"function\"/>.</param>\r\n        /// <param name=\"function\">Asynchronous function to be executed asynchronously on the given dispatcher.</param>\r\n        /// <param name=\"priority\">DispatcherQueue execution priority, default is normal.</param>\r\n        /// <returns>An awaitable <see cref=\"Task{T}\"/> for the operation.</returns>\r\n        /// <remarks>If the current thread has UI access, <paramref name=\"function\"/> will be invoked directly.</remarks>\r\n        public static Task<T> ExecuteOnUIThreadAsync<T>(this DispatcherQueue dispatcher, Func<Task<T>> function, DispatcherQueuePriority priority = DispatcherQueuePriority.Normal)\r\n        {\r\n            if (function is null)\r\n            {\r\n                throw new ArgumentNullException(nameof(function));\r\n            }\r\n\r\n            // Skip the dispatch, if possible\r\n            // Ignoring for now, but need to map the CurrentThreadID for all dispatcher queue code we have\r\n            /*\r\n            if (dispatcher.HasThreadAccess)\r\n            {\r\n                try\r\n                {\r\n                    if (function() is Task<T> awaitableResult)\r\n                    {\r\n                        return awaitableResult;\r\n                    }\r\n\r\n                    return Task.FromException<T>(new InvalidOperationException(\"The Task returned by function cannot be null.\"));\r\n                }\r\n                catch (Exception e)\r\n                {\r\n                    return Task.FromException<T>(e);\r\n                }\r\n            }\r\n            */\r\n\r\n            var taskCompletionSource = new TaskCompletionSource<T>();\r\n\r\n            _ = dispatcher?.TryEnqueue(priority, async () =>\r\n            {\r\n                try\r\n                {\r\n                    if (function() is Task<T> awaitableResult)\r\n                    {\r\n                        var result = await awaitableResult.ConfigureAwait(false);\r\n\r\n                        taskCompletionSource.SetResult(result);\r\n                    }\r\n                    else\r\n                    {\r\n                        taskCompletionSource.SetException(new InvalidOperationException(\"The Task returned by function cannot be null.\"));\r\n                    }\r\n                }\r\n                catch (Exception e)\r\n                {\r\n                    taskCompletionSource.SetException(e);\r\n                }\r\n            });\r\n\r\n            return taskCompletionSource.Task;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/Helpers/ThemeListener.cs",
    "content": "﻿// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/blob/8464f8e5263686c1484732bdea86ebba3f30a075/Microsoft.Toolkit.Uwp.UI/Helpers/ThemeListener.cs\r\n\r\nnamespace Notepads.Controls.Helpers\r\n{\r\n    using System;\r\n    using System.Threading.Tasks;\r\n    using Windows.Foundation.Metadata;\r\n    using Windows.System;\r\n    using Windows.UI.ViewManagement;\r\n    using Windows.UI.Xaml;\r\n\r\n    /// <summary>\r\n    /// The Delegate for a ThemeChanged Event.\r\n    /// </summary>\r\n    /// <param name=\"sender\">Sender ThemeListener</param>\r\n    public delegate void ThemeChangedEvent(ThemeListener sender);\r\n\r\n    /// <summary>\r\n    /// Class which listens for changes to Application Theme or High Contrast Modes\r\n    /// and Signals an Event when they occur.\r\n    /// </summary>\r\n    [AllowForWeb]\r\n    public sealed class ThemeListener : IDisposable\r\n    {\r\n        /// <summary>\r\n        /// Gets the Name of the Current Theme.\r\n        /// </summary>\r\n        public string CurrentThemeName => CurrentTheme.ToString();\r\n\r\n        /// <summary>\r\n        /// Gets or sets the Current Theme.\r\n        /// </summary>\r\n        public ApplicationTheme CurrentTheme { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether the current theme is high contrast.\r\n        /// </summary>\r\n        public bool IsHighContrast { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets which DispatcherQueue is used to dispatch UI updates.\r\n        /// </summary>\r\n        public DispatcherQueue DispatcherQueue { get; set; }\r\n\r\n        /// <summary>\r\n        /// An event that fires if the Theme changes.\r\n        /// </summary>\r\n        public event ThemeChangedEvent ThemeChanged;\r\n\r\n        private readonly AccessibilitySettings _accessible = new AccessibilitySettings();\r\n        private readonly UISettings _settings = new UISettings();\r\n\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"ThemeListener\"/> class.\r\n        /// </summary>\r\n        /// <param name=\"dispatcherQueue\">The DispatcherQueue that should be used to dispatch UI updates, or null if this is being called from the UI thread.</param>\r\n        public ThemeListener(DispatcherQueue dispatcherQueue = null)\r\n        {\r\n            CurrentTheme = Application.Current.RequestedTheme;\r\n            IsHighContrast = _accessible.HighContrast;\r\n\r\n            DispatcherQueue = dispatcherQueue ?? DispatcherQueue.GetForCurrentThread();\r\n\r\n            _accessible.HighContrastChanged += Accessible_HighContrastChanged;\r\n            _settings.ColorValuesChanged += Settings_ColorValuesChanged;\r\n\r\n            // Fallback in case either of the above fail, we'll check when we get activated next.\r\n            if (Window.Current != null)\r\n            {\r\n                Window.Current.CoreWindow.Activated += CoreWindow_Activated;\r\n            }\r\n        }\r\n\r\n        private async void Accessible_HighContrastChanged(AccessibilitySettings sender, object args)\r\n        {\r\n            await DispatcherQueue.ExecuteOnUIThreadAsync(UpdateProperties, DispatcherQueuePriority.Normal);\r\n        }\r\n\r\n        // Note: This can get called multiple times during HighContrast switch, do we care?\r\n        private async void Settings_ColorValuesChanged(UISettings sender, object args)\r\n        {\r\n            await OnColorValuesChanged();\r\n        }\r\n\r\n        internal Task OnColorValuesChanged()\r\n        {\r\n            // Getting called off thread, so we need to dispatch to request value.\r\n            return DispatcherQueue.ExecuteOnUIThreadAsync(\r\n                () =>\r\n                {\r\n                    // TODO: This doesn't stop the multiple calls if we're in our faked 'White' HighContrast Mode below.\r\n                    if (CurrentTheme != Application.Current.RequestedTheme ||\r\n                        IsHighContrast != _accessible.HighContrast)\r\n                    {\r\n                        UpdateProperties();\r\n                    }\r\n                }, DispatcherQueuePriority.Normal);\r\n        }\r\n\r\n        private void CoreWindow_Activated(Windows.UI.Core.CoreWindow sender, Windows.UI.Core.WindowActivatedEventArgs args)\r\n        {\r\n            if (CurrentTheme != Application.Current.RequestedTheme ||\r\n                IsHighContrast != _accessible.HighContrast)\r\n            {\r\n                UpdateProperties();\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Set our current properties and fire a change notification.\r\n        /// </summary>\r\n        private void UpdateProperties()\r\n        {\r\n            // TODO: Not sure if HighContrastScheme names are localized?\r\n            if (_accessible.HighContrast && _accessible.HighContrastScheme.IndexOf(\"white\", StringComparison.OrdinalIgnoreCase) != -1)\r\n            {\r\n                IsHighContrast = false;\r\n                CurrentTheme = ApplicationTheme.Light;\r\n            }\r\n            else\r\n            {\r\n                // Otherwise, we just set to what's in the system as we'd expect.\r\n                IsHighContrast = _accessible.HighContrast;\r\n                CurrentTheme = Application.Current.RequestedTheme;\r\n            }\r\n\r\n            ThemeChanged?.Invoke(this);\r\n        }\r\n\r\n        /// <inheritdoc/>\r\n        public void Dispose()\r\n        {\r\n            _accessible.HighContrastChanged -= Accessible_HighContrastChanged;\r\n            _settings.ColorValuesChanged -= Settings_ColorValuesChanged;\r\n            if (Window.Current != null)\r\n            {\r\n                Window.Current.CoreWindow.Activated -= CoreWindow_Activated;\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/InAppNotification/InAppNotification.AttachedProperties.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/InAppNotification\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Media.Animation;\r\n\r\n    /// <summary>\r\n    /// In App Notification defines a control to show local notification in the app.\r\n    /// </summary>\r\n    public partial class InAppNotification\r\n    {\r\n        /// <summary>\r\n        /// Gets the value of the KeyFrameDuration attached Property\r\n        /// </summary>\r\n        /// <param name=\"obj\">the KeyFrame where the duration is set</param>\r\n        /// <returns>Value of KeyFrameDuration</returns>\r\n        public static TimeSpan GetKeyFrameDuration(DependencyObject obj)\r\n        {\r\n            return (TimeSpan)obj.GetValue(KeyFrameDurationProperty);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Sets the value of the KeyFrameDuration attached property\r\n        /// </summary>\r\n        /// <param name=\"obj\">The KeyFrame object where the property is attached</param>\r\n        /// <param name=\"value\">The TimeSpan value to be set as duration</param>\r\n        public static void SetKeyFrameDuration(DependencyObject obj, TimeSpan value)\r\n        {\r\n            obj.SetValue(KeyFrameDurationProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Using a DependencyProperty as the backing store for KeyFrameDuration. This enables animation, styling, binding, etc\r\n        /// </summary>\r\n        public static readonly DependencyProperty KeyFrameDurationProperty =\r\n            DependencyProperty.RegisterAttached(\"KeyFrameDuration\", typeof(TimeSpan), typeof(InAppNotification), new PropertyMetadata(0, OnKeyFrameAnimationChanged));\r\n\r\n        private static void OnKeyFrameAnimationChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)\r\n        {\r\n            if (e.NewValue is TimeSpan ts)\r\n            {\r\n                if (d is DoubleKeyFrame dkf)\r\n                {\r\n                    dkf.KeyTime = KeyTime.FromTimeSpan(ts);\r\n                }\r\n                else if (d is ObjectKeyFrame okf)\r\n                {\r\n                    okf.KeyTime = KeyTime.FromTimeSpan(ts);\r\n                }\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/InAppNotification/InAppNotification.Constants.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/InAppNotification\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    /// <summary>\r\n    /// In App Notification defines a control to show local notification in the app.\r\n    /// </summary>\r\n    public partial class InAppNotification\r\n    {\r\n        /// <summary>\r\n        /// Key of the VisualStateGroup that show/dismiss content\r\n        /// </summary>\r\n        private const string GroupContent = \"State\";\r\n\r\n        /// <summary>\r\n        /// Key of the VisualState when content is showed\r\n        /// </summary>\r\n        private const string StateContentVisible = \"Visible\";\r\n\r\n        /// <summary>\r\n        /// Key of the VisualState when content is dismissed\r\n        /// </summary>\r\n        private const string StateContentCollapsed = \"Collapsed\";\r\n\r\n        /// <summary>\r\n        /// Key of the UI Element that dismiss the control\r\n        /// </summary>\r\n        private const string DismissButtonPart = \"PART_DismissButton\";\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/InAppNotification/InAppNotification.Events.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/InAppNotification\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Automation;\r\n    using Windows.UI.Xaml.Automation.Peers;\r\n\r\n    /// <summary>\r\n    /// In App Notification defines a control to show local notification in the app.\r\n    /// </summary>\r\n    public partial class InAppNotification\r\n    {\r\n        /// <summary>\r\n        /// Event raised when the notification is opening\r\n        /// </summary>\r\n        public event InAppNotificationOpeningEventHandler Opening;\r\n\r\n        /// <summary>\r\n        /// Event raised when the notification is opened\r\n        /// </summary>\r\n        public event EventHandler Opened;\r\n\r\n        /// <summary>\r\n        /// Event raised when the notification is closing\r\n        /// </summary>\r\n        public event InAppNotificationClosingEventHandler Closing;\r\n\r\n        /// <summary>\r\n        /// Event raised when the notification is closed\r\n        /// </summary>\r\n        public event InAppNotificationClosedEventHandler Closed;\r\n\r\n        private AutomationPeer peer;\r\n\r\n        private void DismissButton_Click(object sender, RoutedEventArgs e)\r\n        {\r\n            Dismiss(InAppNotificationDismissKind.User);\r\n        }\r\n\r\n        private void DismissTimer_Tick(object sender, object e)\r\n        {\r\n            Dismiss(InAppNotificationDismissKind.Timeout);\r\n        }\r\n\r\n        private void OpenAnimationTimer_Tick(object sender, object e)\r\n        {\r\n            lock (_openAnimationTimer)\r\n            {\r\n                _openAnimationTimer.Stop();\r\n                Opened?.Invoke(this, EventArgs.Empty);\r\n                SetValue(AutomationProperties.NameProperty, \"Notification\");\r\n                peer = FrameworkElementAutomationPeer.CreatePeerForElement(ContentTemplateRoot);\r\n                if (Content?.GetType() == typeof(string))\r\n                {\r\n                    AutomateTextNotification(Content.ToString());\r\n                }\r\n            }\r\n        }\r\n\r\n        private void AutomateTextNotification(string message)\r\n        {\r\n            if (peer != null)\r\n            {\r\n                peer.SetFocus();\r\n                peer.RaiseNotificationEvent(\r\n                    AutomationNotificationKind.Other,\r\n                    AutomationNotificationProcessing.ImportantMostRecent,\r\n                    \"New notification\" + message,\r\n                    Guid.NewGuid().ToString());\r\n            }\r\n        }\r\n\r\n        private void ClosingAnimationTimer_Tick(object sender, object e)\r\n        {\r\n            lock (_closingAnimationTimer)\r\n            {\r\n                _closingAnimationTimer.Stop();\r\n                Closed?.Invoke(this, new InAppNotificationClosedEventArgs(_lastDismissKind));\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/InAppNotification/InAppNotification.Properties.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/InAppNotification\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n    using Windows.UI.Xaml;\r\n\r\n    /// <summary>\r\n    /// In App Notification defines a control to show local notification in the app.\r\n    /// </summary>\r\n    public partial class InAppNotification\r\n    {\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"ShowDismissButton\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty ShowDismissButtonProperty =\r\n            DependencyProperty.Register(nameof(ShowDismissButton), typeof(bool), typeof(InAppNotification), new PropertyMetadata(true, OnShowDismissButtonChanged));\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"AnimationDuration\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty AnimationDurationProperty =\r\n            DependencyProperty.Register(nameof(AnimationDuration), typeof(TimeSpan), typeof(InAppNotification), new PropertyMetadata(TimeSpan.FromMilliseconds(100)));\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"VerticalOffset\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty VerticalOffsetProperty =\r\n            DependencyProperty.Register(nameof(VerticalOffset), typeof(double), typeof(InAppNotification), new PropertyMetadata(100));\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"HorizontalOffset\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty HorizontalOffsetProperty =\r\n            DependencyProperty.Register(nameof(HorizontalOffset), typeof(double), typeof(InAppNotification), new PropertyMetadata(0));\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"StackMode\"/> dependency property.\r\n        /// </summary>\r\n        public static readonly DependencyProperty StackModeProperty =\r\n            DependencyProperty.Register(nameof(StackMode), typeof(StackMode), typeof(InAppNotification), new PropertyMetadata(StackMode.Replace));\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether to show the Dismiss button of the control.\r\n        /// </summary>\r\n        public bool ShowDismissButton\r\n        {\r\n            get => (bool)GetValue(ShowDismissButtonProperty);\r\n            set => SetValue(ShowDismissButtonProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating the duration of the popup animation (in milliseconds).\r\n        /// </summary>\r\n        public TimeSpan AnimationDuration\r\n        {\r\n            get => (TimeSpan)GetValue(AnimationDurationProperty);\r\n            set => SetValue(AnimationDurationProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating the vertical offset of the popup animation.\r\n        /// </summary>\r\n        public double VerticalOffset\r\n        {\r\n            get => (double)GetValue(VerticalOffsetProperty);\r\n            set => SetValue(VerticalOffsetProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating the horizontal offset of the popup animation.\r\n        /// </summary>\r\n        public double HorizontalOffset\r\n        {\r\n            get => (double)GetValue(HorizontalOffsetProperty);\r\n            set => SetValue(HorizontalOffsetProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating the stack mode of the notifications.\r\n        /// </summary>\r\n        public StackMode StackMode\r\n        {\r\n            get => (StackMode)GetValue(StackModeProperty);\r\n            set => SetValue(StackModeProperty, value);\r\n        }\r\n\r\n        private static void OnShowDismissButtonChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)\r\n        {\r\n            var inApNotification = d as InAppNotification;\r\n\r\n            if (inApNotification._dismissButton != null)\r\n            {\r\n                bool showDismissButton = (bool)e.NewValue;\r\n                inApNotification._dismissButton.Visibility = showDismissButton ? Visibility.Visible : Visibility.Collapsed;\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/InAppNotification/InAppNotification.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/InAppNotification\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Linq;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n\r\n    /// <summary>\r\n    /// In App Notification defines a control to show local notification in the app.\r\n    /// </summary>\r\n    [TemplateVisualState(Name = StateContentVisible, GroupName = GroupContent)]\r\n    [TemplateVisualState(Name = StateContentCollapsed, GroupName = GroupContent)]\r\n    [TemplatePart(Name = DismissButtonPart, Type = typeof(Button))]\r\n    public partial class InAppNotification : ContentControl\r\n    {\r\n        private InAppNotificationDismissKind _lastDismissKind;\r\n        private readonly DispatcherTimer _openAnimationTimer = new DispatcherTimer();\r\n        private readonly DispatcherTimer _closingAnimationTimer = new DispatcherTimer();\r\n        private readonly DispatcherTimer _dismissTimer = new DispatcherTimer();\r\n        private Button _dismissButton;\r\n        //private VisualStateGroup _visualStateGroup;\r\n        private readonly List<NotificationOptions> _stackedNotificationOptions = new List<NotificationOptions>();\r\n\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"InAppNotification\"/> class.\r\n        /// </summary>\r\n        public InAppNotification()\r\n        {\r\n            DefaultStyleKey = typeof(InAppNotification);\r\n\r\n            _dismissTimer.Tick += DismissTimer_Tick;\r\n            _openAnimationTimer.Tick += OpenAnimationTimer_Tick;\r\n            _closingAnimationTimer.Tick += ClosingAnimationTimer_Tick;\r\n        }\r\n\r\n        /// <inheritdoc />\r\n        protected override void OnApplyTemplate()\r\n        {\r\n            if (_dismissButton != null)\r\n            {\r\n                _dismissButton.Click -= DismissButton_Click;\r\n            }\r\n\r\n            _dismissButton = (Button)GetTemplateChild(DismissButtonPart);\r\n            //_visualStateGroup = (VisualStateGroup)GetTemplateChild(GroupContent);\r\n\r\n            if (_dismissButton != null)\r\n            {\r\n                _dismissButton.Visibility = ShowDismissButton ? Visibility.Visible : Visibility.Collapsed;\r\n                _dismissButton.Click += DismissButton_Click;\r\n            }\r\n\r\n            if (Visibility == Visibility.Visible)\r\n            {\r\n                VisualStateManager.GoToState(this, StateContentVisible, true);\r\n            }\r\n            else\r\n            {\r\n                VisualStateManager.GoToState(this, StateContentCollapsed, true);\r\n            }\r\n\r\n            base.OnApplyTemplate();\r\n        }\r\n\r\n        /// <summary>\r\n        /// Show notification using the current template\r\n        /// </summary>\r\n        /// <param name=\"duration\">Displayed duration of the notification in ms (less or equal 0 means infinite duration)</param>\r\n        public void Show(int duration = 0)\r\n        {\r\n            lock (_openAnimationTimer)\r\n                lock (_closingAnimationTimer)\r\n                    lock (_dismissTimer)\r\n                    {\r\n                        _openAnimationTimer.Stop();\r\n                        _closingAnimationTimer.Stop();\r\n                        _dismissTimer.Stop();\r\n\r\n                        var eventArgs = new InAppNotificationOpeningEventArgs();\r\n                        Opening?.Invoke(this, eventArgs);\r\n\r\n                        if (eventArgs.Cancel)\r\n                        {\r\n                            return;\r\n                        }\r\n\r\n                        Visibility = Visibility.Visible;\r\n                        VisualStateManager.GoToState(this, StateContentVisible, true);\r\n\r\n                        _openAnimationTimer.Interval = AnimationDuration;\r\n                        _openAnimationTimer.Start();\r\n\r\n                        if (duration > 0)\r\n                        {\r\n                            _dismissTimer.Interval = TimeSpan.FromMilliseconds(duration);\r\n                            _dismissTimer.Start();\r\n                        }\r\n                    }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Show notification using text as the content of the notification\r\n        /// </summary>\r\n        /// <param name=\"text\">Text used as the content of the notification</param>\r\n        /// <param name=\"duration\">Displayed duration of the notification in ms (less or equal 0 means infinite duration)</param>\r\n        public void Show(string text, int duration = 0)\r\n        {\r\n            var notificationOptions = new NotificationOptions\r\n            {\r\n                Duration = duration,\r\n                Content = text\r\n            };\r\n            Show(notificationOptions);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Show notification using UIElement as the content of the notification\r\n        /// </summary>\r\n        /// <param name=\"element\">UIElement used as the content of the notification</param>\r\n        /// <param name=\"duration\">Displayed duration of the notification in ms (less or equal 0 means infinite duration)</param>\r\n        public void Show(UIElement element, int duration = 0)\r\n        {\r\n            var notificationOptions = new NotificationOptions\r\n            {\r\n                Duration = duration,\r\n                Content = element\r\n            };\r\n            Show(notificationOptions);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Show notification using DataTemplate as the content of the notification\r\n        /// </summary>\r\n        /// <param name=\"dataTemplate\">DataTemplate used as the content of the notification</param>\r\n        /// <param name=\"duration\">Displayed duration of the notification in ms (less or equal 0 means infinite duration)</param>\r\n        public void Show(DataTemplate dataTemplate, int duration = 0)\r\n        {\r\n            var notificationOptions = new NotificationOptions\r\n            {\r\n                Duration = duration,\r\n                Content = dataTemplate\r\n            };\r\n            Show(notificationOptions);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Dismiss the notification\r\n        /// </summary>\r\n        public void Dismiss()\r\n        {\r\n            Dismiss(InAppNotificationDismissKind.Programmatic);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Dismiss the notification\r\n        /// </summary>\r\n        /// <param name=\"dismissKind\">Kind of action that triggered dismiss event</param>\r\n        private void Dismiss(InAppNotificationDismissKind dismissKind)\r\n        {\r\n            lock (_openAnimationTimer)\r\n                lock (_closingAnimationTimer)\r\n                    lock (_dismissTimer)\r\n                    {\r\n                        if (Visibility == Visibility.Visible)\r\n                        {\r\n                            _dismissTimer.Stop();\r\n\r\n                            // Continue to display notification if on remaining stacked notification\r\n                            if (_stackedNotificationOptions.Any())\r\n                            {\r\n                                _stackedNotificationOptions.RemoveAt(0);\r\n\r\n                                if (_stackedNotificationOptions.Any())\r\n                                {\r\n                                    var notificationOptions = _stackedNotificationOptions[0];\r\n\r\n                                    UpdateContent(notificationOptions);\r\n\r\n                                    if (notificationOptions.Duration > 0)\r\n                                    {\r\n                                        _dismissTimer.Interval = TimeSpan.FromMilliseconds(notificationOptions.Duration);\r\n                                        _dismissTimer.Start();\r\n                                    }\r\n\r\n                                    return;\r\n                                }\r\n                            }\r\n\r\n                            _openAnimationTimer.Stop();\r\n                            _closingAnimationTimer.Stop();\r\n\r\n                            var closingEventArgs = new InAppNotificationClosingEventArgs(dismissKind);\r\n                            Closing?.Invoke(this, closingEventArgs);\r\n\r\n                            if (closingEventArgs.Cancel)\r\n                            {\r\n                                return;\r\n                            }\r\n\r\n                            VisualStateManager.GoToState(this, StateContentCollapsed, true);\r\n\r\n                            _lastDismissKind = dismissKind;\r\n\r\n                            _closingAnimationTimer.Interval = AnimationDuration;\r\n                            _closingAnimationTimer.Start();\r\n                        }\r\n                    }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Informs if the notification should be displayed immediately (based on the StackMode)\r\n        /// </summary>\r\n        /// <returns>True if notification should be displayed immediately</returns>\r\n        private bool ShouldDisplayImmediately()\r\n        {\r\n            return StackMode != StackMode.QueueBehind ||\r\n                (StackMode == StackMode.QueueBehind && _stackedNotificationOptions.Count == 0);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Update the Content of the notification\r\n        /// </summary>\r\n        /// <param name=\"notificationOptions\">Information about the notification to display</param>\r\n        private void UpdateContent(NotificationOptions notificationOptions)\r\n        {\r\n            switch (notificationOptions.Content)\r\n            {\r\n                case string text:\r\n                    ContentTemplate = null;\r\n                    Content = text;\r\n                    break;\r\n                case UIElement element:\r\n                    ContentTemplate = null;\r\n                    Content = element;\r\n                    break;\r\n                case DataTemplate dataTemplate:\r\n                    ContentTemplate = dataTemplate;\r\n                    Content = null;\r\n                    break;\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Handle the display of the notification based on the current StackMode\r\n        /// </summary>\r\n        /// <param name=\"notificationOptions\">Information about the notification to display</param>\r\n        private void Show(NotificationOptions notificationOptions)\r\n        {\r\n            bool shouldDisplayImmediately = ShouldDisplayImmediately();\r\n\r\n            if (StackMode == StackMode.QueueBehind)\r\n            {\r\n                _stackedNotificationOptions.Add(notificationOptions);\r\n            }\r\n\r\n            if (StackMode == StackMode.StackInFront)\r\n            {\r\n                _stackedNotificationOptions.Insert(0, notificationOptions);\r\n            }\r\n\r\n            if (shouldDisplayImmediately)\r\n            {\r\n                UpdateContent(notificationOptions);\r\n                Show(notificationOptions.Duration);\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/InAppNotification/InAppNotification.xaml",
    "content": "﻿<ResourceDictionary\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" \r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:local=\"using:Notepads.Controls\">\r\n\r\n    <ResourceDictionary.MergedDictionaries>\r\n        <ResourceDictionary Source=\"Styles/MSEdgeNotificationStyle.xaml\" />\r\n    </ResourceDictionary.MergedDictionaries>\r\n\r\n    <Style TargetType=\"local:InAppNotification\" x:Key=\"BaseInAppNotificationsStyle\">\r\n        <Setter Property=\"Background\" Value=\"{ThemeResource SystemControlBackgroundChromeMediumBrush}\" />\r\n        <Setter Property=\"Foreground\" Value=\"{ThemeResource SystemControlForegroundBaseHighBrush}\" />\r\n        <Setter Property=\"BorderBrush\" Value=\"{ThemeResource SystemControlForegroundBaseLowBrush}\" />\r\n        <Setter Property=\"Visibility\" Value=\"Collapsed\" />\r\n        <Setter Property=\"BorderThickness\" Value=\"2\" />\r\n        <Setter Property=\"HorizontalAlignment\" Value=\"Stretch\" />\r\n        <Setter Property=\"VerticalAlignment\" Value=\"Bottom\" />\r\n        <Setter Property=\"MinHeight\" Value=\"55\" />\r\n        <Setter Property=\"FontSize\" Value=\"16\" />\r\n        <Setter Property=\"RenderTransformOrigin\" Value=\"0.5,1\" />\r\n        <Setter Property=\"Margin\" Value=\"24,12\" />\r\n        <Setter Property=\"Padding\" Value=\"24,12\" />\r\n        <Setter Property=\"MaxWidth\" Value=\"960\" />\r\n        <Setter Property=\"MinWidth\" Value=\"132\" />\r\n        <Setter Property=\"AnimationDuration\" Value=\"0:0:0.100\" />\r\n        <Setter Property=\"VerticalOffset\" Value=\"100\" />\r\n        <Setter Property=\"HorizontalOffset\" Value=\"0\" />\r\n        <Setter Property=\"Template\" Value=\"{StaticResource MSEdgeNotificationTemplate}\" />\r\n    </Style>\r\n\r\n    <Style TargetType=\"local:InAppNotification\" BasedOn=\"{StaticResource BaseInAppNotificationsStyle}\">\r\n        <Setter Property=\"Background\" Value=\"{ThemeResource SystemControlAcrylicElementBrush}\" />\r\n    </Style>\r\n\r\n</ResourceDictionary>\r\n"
  },
  {
    "path": "src/Notepads.Controls/InAppNotification/InAppNotificationClosedEventArgs.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/InAppNotification\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n\r\n    /// <summary>\r\n    /// A delegate for <see cref=\"InAppNotification\"/> dismissing.\r\n    /// </summary>\r\n    /// <param name=\"sender\">The sender.</param>\r\n    /// <param name=\"e\">The event arguments.</param>\r\n    public delegate void InAppNotificationClosedEventHandler(object sender, InAppNotificationClosedEventArgs e);\r\n\r\n    /// <summary>\r\n    /// Provides data for the <see cref=\"InAppNotification\"/> Dismissing event.\r\n    /// </summary>\r\n    public class InAppNotificationClosedEventArgs : EventArgs\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"InAppNotificationClosedEventArgs\"/> class.\r\n        /// </summary>\r\n        /// <param name=\"dismissKind\">Dismiss kind that triggered the closing event</param>\r\n        public InAppNotificationClosedEventArgs(InAppNotificationDismissKind dismissKind)\r\n        {\r\n            DismissKind = dismissKind;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets the kind of action for the closing event.\r\n        /// </summary>\r\n        public InAppNotificationDismissKind DismissKind { get; private set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/InAppNotification/InAppNotificationClosingEventArgs.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/InAppNotification\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n\r\n    /// <summary>\r\n    /// A delegate for <see cref=\"InAppNotification\"/> dismissing.\r\n    /// </summary>\r\n    /// <param name=\"sender\">The sender.</param>\r\n    /// <param name=\"e\">The event arguments.</param>\r\n    public delegate void InAppNotificationClosingEventHandler(object sender, InAppNotificationClosingEventArgs e);\r\n\r\n    /// <summary>\r\n    /// Provides data for the <see cref=\"InAppNotification\"/> Dismissing event.\r\n    /// </summary>\r\n    public class InAppNotificationClosingEventArgs : EventArgs\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"InAppNotificationClosingEventArgs\"/> class.\r\n        /// </summary>\r\n        /// <param name=\"dismissKind\">Dismiss kind that triggered the closing event</param>\r\n        public InAppNotificationClosingEventArgs(InAppNotificationDismissKind dismissKind)\r\n        {\r\n            DismissKind = dismissKind;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets the kind of action for the closing event.\r\n        /// </summary>\r\n        public InAppNotificationDismissKind DismissKind { get; private set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether the notification should be closed.\r\n        /// </summary>\r\n        public bool Cancel { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/InAppNotification/InAppNotificationDismissKind.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/InAppNotification\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    /// <summary>\r\n    /// Enumeration to describe how an InAppNotification was dismissed\r\n    /// </summary>\r\n    public enum InAppNotificationDismissKind\r\n    {\r\n        /// <summary>\r\n        /// When the system dismissed the notification.\r\n        /// </summary>\r\n        Programmatic,\r\n\r\n        /// <summary>\r\n        /// When user explicitly dismissed the notification.\r\n        /// </summary>\r\n        User,\r\n\r\n        /// <summary>\r\n        /// When the system dismissed the notification after timeout.\r\n        /// </summary>\r\n        Timeout\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/InAppNotification/InAppNotificationOpeningEventArgs.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/InAppNotification\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n\r\n    /// <summary>\r\n    /// A delegate for <see cref=\"InAppNotification\"/> opening.\r\n    /// </summary>\r\n    /// <param name=\"sender\">The sender.</param>\r\n    /// <param name=\"e\">The event arguments.</param>\r\n    public delegate void InAppNotificationOpeningEventHandler(object sender, InAppNotificationOpeningEventArgs e);\r\n\r\n    /// <summary>\r\n    /// Provides data for the <see cref=\"InAppNotification\"/> Dismissing event.\r\n    /// </summary>\r\n    public class InAppNotificationOpeningEventArgs : EventArgs\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"InAppNotificationOpeningEventArgs\"/> class.\r\n        /// </summary>\r\n        public InAppNotificationOpeningEventArgs()\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether the notification should be opened.\r\n        /// </summary>\r\n        public bool Cancel { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/InAppNotification/NotificationOptions.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/InAppNotification\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using Windows.UI.Xaml;\r\n\r\n    /// <summary>\r\n    /// Base class that contains options of notification\r\n    /// </summary>\r\n    internal class NotificationOptions\r\n    {\r\n        /// <summary>\r\n        /// Gets or sets duration of the stacked notification\r\n        /// </summary>\r\n        public int Duration { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets Content of the notification\r\n        /// Could be either a <see cref=\"string\"/> or a <see cref=\"UIElement\"/> or a <see cref=\"DataTemplate\"/>\r\n        /// </summary>\r\n        public object Content { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/InAppNotification/StackMode.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/InAppNotification\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    /// <summary>\r\n    /// The Stack mode of an in-app notification.\r\n    /// </summary>\r\n    public enum StackMode\r\n    {\r\n        /// <summary>\r\n        /// Each notification will replace the previous one\r\n        /// </summary>\r\n        Replace,\r\n\r\n        /// <summary>\r\n        /// Opening a notification will display it immediately, remaining notifications will appear when a notification is dismissed\r\n        /// </summary>\r\n        StackInFront,\r\n\r\n        /// <summary>\r\n        /// Dismissing a notification will show the next one in the queue\r\n        /// </summary>\r\n        QueueBehind\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/InAppNotification/Styles/MSEdgeNotificationStyle.xaml",
    "content": "﻿<ResourceDictionary\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" \r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n    xmlns:local=\"using:Notepads.Controls\">\r\n\r\n    <ResourceDictionary.ThemeDictionaries>\r\n        <!-- Default is a fallback if a more precise theme isn't called\r\n            out below -->\r\n        <ResourceDictionary x:Key=\"Default\">\r\n            <SolidColorBrush x:Key=\"SystemControlMSEdgeNotificationPointerOverChromeBrush\" Color=\"Transparent\" />\r\n            <SolidColorBrush x:Key=\"SystemControlMSEdgeNotificationPointerOverForegroundBrush\" Color=\"{ThemeResource SystemColorButtonTextColor}\"/>\r\n            <SolidColorBrush x:Key=\"SystemControlMSEdgeNotificationButtonBorderBrush\" Color=\"Transparent\" />\r\n        </ResourceDictionary>\r\n\r\n        <!-- HighContrast is used in all high contrast themes -->\r\n        <ResourceDictionary x:Key=\"HighContrast\">\r\n            <SolidColorBrush x:Key=\"SystemControlMSEdgeNotificationPointerOverChromeBrush\" Color=\"{ThemeResource SystemColorHighlightColor}\" />\r\n            <SolidColorBrush x:Key=\"SystemControlMSEdgeNotificationPointerOverForegroundBrush\" Color=\"{ThemeResource SystemColorHighlightTextColor}\"/>\r\n            <SolidColorBrush x:Key=\"SystemControlMSEdgeNotificationButtonBorderBrush\" Color=\"{ThemeResource SystemColorButtonTextColor}\" />\r\n        </ResourceDictionary>\r\n    </ResourceDictionary.ThemeDictionaries>\r\n\r\n    <Style x:Key=\"DismissTextBlockButtonStyle\" TargetType=\"ButtonBase\">\r\n        <Setter Property=\"Background\" Value=\"{ThemeResource HyperlinkButtonBackground}\" />\r\n        <Setter Property=\"Foreground\" Value=\"{ThemeResource ApplicationForegroundThemeBrush}\" />\r\n        <Setter Property=\"Width\" Value=\"40\" />\r\n        <Setter Property=\"Height\" Value=\"40\" />\r\n        <Setter Property=\"UseSystemFocusVisuals\" Value=\"True\" />\r\n        <Setter Property=\"HighContrastAdjustment\" Value=\"None\" />\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"ButtonBase\">\r\n                    <Grid x:Name=\"RootGrid\" Margin=\"{TemplateBinding Padding}\" Background=\"{TemplateBinding Background}\">\r\n                        <Border x:Name=\"TextBorder\" BorderThickness=\"2\" BorderBrush=\"{ThemeResource SystemControlMSEdgeNotificationButtonBorderBrush}\">\r\n                            <ContentPresenter x:Name=\"Text\"\r\n                                              Content=\"{TemplateBinding Content}\"\r\n                                              HorizontalAlignment=\"{TemplateBinding HorizontalContentAlignment}\"\r\n                                              VerticalAlignment=\"{TemplateBinding VerticalContentAlignment}\" />\r\n                        </Border>\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"CommonStates\">\r\n                                <VisualState x:Name=\"Normal\" />\r\n                                <VisualState x:Name=\"PointerOver\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"Text\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SystemControlMSEdgeNotificationPointerOverForegroundBrush}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SystemControlMSEdgeNotificationPointerOverChromeBrush}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Pressed\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"Text\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SystemControlMSEdgeNotificationPointerOverForegroundBrush}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SystemControlMSEdgeNotificationPointerOverChromeBrush}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Disabled\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"Text\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource HyperlinkButtonForegroundDisabled}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"Text\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource HyperlinkButtonBackgroundDisabled}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"Text\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource HyperlinkButtonBorderBrushDisabled}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n\r\n    <ControlTemplate x:Key=\"MSEdgeNotificationTemplate\" \r\n                     TargetType=\"local:InAppNotification\">\r\n        <Grid>\r\n            <VisualStateManager.VisualStateGroups>\r\n                <VisualStateGroup x:Name=\"State\">\r\n                    <VisualState x:Name=\"Collapsed\">\r\n                        <Storyboard>\r\n                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" \r\n                                                           Storyboard.TargetProperty=\"(UIElement.RenderTransform).(CompositeTransform.TranslateX)\">\r\n                                <EasingDoubleKeyFrame KeyTime=\"0\" Value=\"0\" />\r\n                                <EasingDoubleKeyFrame local:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\"\r\n                                                      Value=\"{Binding HorizontalOffset, RelativeSource={RelativeSource TemplatedParent}}\" />\r\n                            </DoubleAnimationUsingKeyFrames>\r\n\r\n                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" \r\n                                                           Storyboard.TargetProperty=\"(UIElement.RenderTransform).(CompositeTransform.TranslateY)\">\r\n                                <EasingDoubleKeyFrame KeyTime=\"0\" Value=\"0\" />\r\n                                <EasingDoubleKeyFrame local:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\" \r\n                                                      Value=\"{Binding VerticalOffset, RelativeSource={RelativeSource TemplatedParent}}\"/>\r\n                            </DoubleAnimationUsingKeyFrames>\r\n\r\n                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\"\r\n                                                           Storyboard.TargetProperty=\"(UIElement.Visibility)\">\r\n                                <DiscreteObjectKeyFrame KeyTime=\"0\">\r\n                                    <DiscreteObjectKeyFrame.Value>\r\n                                        <Visibility>Visible</Visibility>\r\n                                    </DiscreteObjectKeyFrame.Value>\r\n                                </DiscreteObjectKeyFrame>\r\n                                <DiscreteObjectKeyFrame local:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\">\r\n                                    <DiscreteObjectKeyFrame.Value>\r\n                                        <Visibility>Collapsed</Visibility>\r\n                                    </DiscreteObjectKeyFrame.Value>\r\n                                </DiscreteObjectKeyFrame>\r\n                            </ObjectAnimationUsingKeyFrames>\r\n                        </Storyboard>\r\n                    </VisualState>\r\n\r\n                    <VisualState x:Name=\"Visible\">\r\n                        <Storyboard>\r\n                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" \r\n                                                           Storyboard.TargetProperty=\"(UIElement.RenderTransform).(CompositeTransform.TranslateX)\">\r\n                                <EasingDoubleKeyFrame KeyTime=\"0\" Value=\"{Binding HorizontalOffset, RelativeSource={RelativeSource TemplatedParent}}\" />\r\n                                <EasingDoubleKeyFrame local:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\" Value=\"0\" />\r\n                            </DoubleAnimationUsingKeyFrames>\r\n\r\n                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\" \r\n                                                           Storyboard.TargetProperty=\"(UIElement.RenderTransform).(CompositeTransform.TranslateY)\">\r\n                                <EasingDoubleKeyFrame KeyTime=\"0\" Value=\"{Binding VerticalOffset, RelativeSource={RelativeSource TemplatedParent}}\" />\r\n                                <EasingDoubleKeyFrame local:InAppNotification.KeyFrameDuration=\"{Binding AnimationDuration, RelativeSource={RelativeSource TemplatedParent}}\" Value=\"0\" />\r\n                            </DoubleAnimationUsingKeyFrames>\r\n                        </Storyboard>\r\n                    </VisualState>\r\n                </VisualStateGroup>\r\n            </VisualStateManager.VisualStateGroups>\r\n\r\n            <Grid x:Name=\"RootGrid\" \r\n                  RenderTransformOrigin=\"{TemplateBinding RenderTransformOrigin}\"\r\n                  Margin=\"{TemplateBinding Margin}\"\r\n                  Padding=\"{TemplateBinding Padding}\"\r\n                  MaxWidth=\"{TemplateBinding MaxWidth}\"\r\n                  Visibility=\"{TemplateBinding Visibility}\"\r\n                  Background=\"{TemplateBinding Background}\" \r\n                  BorderBrush=\"{TemplateBinding BorderBrush}\" \r\n                  BorderThickness=\"{TemplateBinding BorderThickness}\">\r\n                \r\n                <Grid.RenderTransform>\r\n                    <CompositeTransform />\r\n                </Grid.RenderTransform>\r\n\r\n                <Grid.ColumnDefinitions>\r\n                    <ColumnDefinition Width=\"*\" />\r\n                    <ColumnDefinition Width=\"Auto\" />\r\n                </Grid.ColumnDefinitions>\r\n\r\n                <ContentPresenter HorizontalAlignment=\"{TemplateBinding HorizontalAlignment}\"\r\n                                  HorizontalContentAlignment=\"Stretch\"\r\n                                  VerticalAlignment=\"{TemplateBinding VerticalContentAlignment}\"\r\n                                  VerticalContentAlignment=\"Center\"\r\n                                  TextWrapping=\"WrapWholeWords\" />\r\n\r\n                <Button x:Name=\"PART_DismissButton\"\r\n                        Grid.Column=\"1\" \r\n                        Margin=\"24,0,0,0\"\r\n                        FontSize=\"16\"\r\n                        Style=\"{StaticResource DismissTextBlockButtonStyle}\"\r\n                        Content=\"&#xE894;\"\r\n                        FontFamily=\"Segoe MDL2 Assets\" \r\n                        AutomationProperties.Name=\"Dismiss\">\r\n                    <Button.RenderTransform>\r\n                        <TranslateTransform x:Name=\"DismissButtonTransform\" X=\"18\" />\r\n                    </Button.RenderTransform>\r\n                </Button>\r\n            </Grid>\r\n        </Grid>\r\n    </ControlTemplate>\r\n\r\n    <Style x:Key=\"MSEdgeNotificationStyle\" TargetType=\"local:InAppNotification\">\r\n        <Setter Property=\"Background\" Value=\"{ThemeResource SystemControlBackgroundChromeMediumBrush}\" />\r\n        <Setter Property=\"Foreground\" Value=\"{ThemeResource SystemControlForegroundBaseHighBrush}\" />\r\n        <Setter Property=\"BorderBrush\" Value=\"{ThemeResource SystemControlBackgroundBaseLowBrush}\" />\r\n        <Setter Property=\"Visibility\" Value=\"Collapsed\" />\r\n        <Setter Property=\"BorderThickness\" Value=\"2\" />\r\n        <Setter Property=\"HorizontalAlignment\" Value=\"Stretch\" />\r\n        <Setter Property=\"VerticalAlignment\" Value=\"Bottom\" />\r\n        <Setter Property=\"MinHeight\" Value=\"55\" />\r\n        <Setter Property=\"FontSize\" Value=\"16\" />\r\n        <Setter Property=\"RenderTransformOrigin\" Value=\"0.5,1\" />\r\n        <Setter Property=\"Margin\" Value=\"24,12\" />\r\n        <Setter Property=\"Padding\" Value=\"24,12\" />\r\n        <Setter Property=\"MaxWidth\" Value=\"960\" />\r\n        <Setter Property=\"MinWidth\" Value=\"132\" />\r\n        <Setter Property=\"AnimationDuration\" Value=\"0:0:0.100\" />\r\n        <Setter Property=\"VerticalOffset\" Value=\"100\" />\r\n        <Setter Property=\"HorizontalOffset\" Value=\"0\" />\r\n        <Setter Property=\"Template\" Value=\"{StaticResource MSEdgeNotificationTemplate}\" />\r\n    </Style>\r\n</ResourceDictionary>\r\n"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/CodeBlockResolvingEventArgs.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n    using Windows.UI.Xaml.Documents;\r\n\r\n    /// <summary>\r\n    /// Arguments for the <see cref=\"MarkdownTextBlock.CodeBlockResolving\"/> event when a Code Block is being rendered.\r\n    /// </summary>\r\n    public class CodeBlockResolvingEventArgs : EventArgs\r\n    {\r\n        internal CodeBlockResolvingEventArgs(InlineCollection inlineCollection, string text, string codeLanguage)\r\n        {\r\n            InlineCollection = inlineCollection;\r\n            Text = text;\r\n            CodeLanguage = codeLanguage;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets the language of the Code Block, as specified by ```{Language} on the first line of the block,\r\n        /// e.g. <para/>\r\n        /// ```C# <para/>\r\n        /// public void Method();<para/>\r\n        /// ```<para/>\r\n        /// </summary>\r\n        public string CodeLanguage { get; }\r\n\r\n        /// <summary>\r\n        /// Gets the raw code block text\r\n        /// </summary>\r\n        public string Text { get; }\r\n\r\n        /// <summary>\r\n        /// Gets Collection to add formatted Text to.\r\n        /// </summary>\r\n        public InlineCollection InlineCollection { get; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether this event was handled successfully.\r\n        /// </summary>\r\n        public bool Handled { get; set; } = false;\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/ImageResolvingEventArgs.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Linq;\r\n    using System.Threading.Tasks;\r\n    using Windows.Foundation;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    /// <summary>\r\n    /// Arguments for the <see cref=\"MarkdownTextBlock.ImageResolving\"/> event which is called when a url needs to be resolved to a <see cref=\"ImageSource\"/>.\r\n    /// </summary>\r\n    public class ImageResolvingEventArgs : EventArgs\r\n    {\r\n        private readonly IList<TaskCompletionSource<object>> _deferrals;\r\n\r\n        internal ImageResolvingEventArgs(string url, string tooltip)\r\n        {\r\n            _deferrals = new List<TaskCompletionSource<object>>();\r\n            Url = url;\r\n            Tooltip = tooltip;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets the url of the image in the markdown document.\r\n        /// </summary>\r\n        public string Url { get; }\r\n\r\n        /// <summary>\r\n        /// Gets the tooltip of the image in the markdown document.\r\n        /// </summary>\r\n        public string Tooltip { get; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether this event was handled successfully.\r\n        /// </summary>\r\n        public bool Handled { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the image to display in the <see cref=\"MarkdownTextBlock\"/>.\r\n        /// </summary>\r\n        public ImageSource Image { get; set; }\r\n\r\n        /// <summary>\r\n        /// Informs the <see cref=\"MarkdownTextBlock\"/> that the event handler might run asynchronously.\r\n        /// </summary>\r\n        /// <returns>Deferral</returns>\r\n        public Deferral GetDeferral()\r\n        {\r\n            var task = new TaskCompletionSource<object>();\r\n            _deferrals.Add(task);\r\n\r\n            return new Deferral(() =>\r\n            {\r\n                task.SetResult(null);\r\n            });\r\n        }\r\n\r\n        /// <summary>\r\n        /// Returns a <see cref=\"Task\"/> that completes when all <see cref=\"Deferral\"/>s have completed.\r\n        /// </summary>\r\n        /// <returns>A <see cref=\"Task\"/> representing the asynchronous operation.</returns>\r\n        internal Task WaitForDeferrals()\r\n        {\r\n            return Task.WhenAll(_deferrals.Select(f => f.Task));\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/LinkClickedEventArgs.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n\r\n    /// <summary>\r\n    /// Arguments for the OnLinkClicked event which is fired then the user presses a link.\r\n    /// </summary>\r\n    public class LinkClickedEventArgs : EventArgs\r\n    {\r\n        internal LinkClickedEventArgs(string link)\r\n        {\r\n            Link = link;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets the link that was tapped.\r\n        /// </summary>\r\n        public string Link { get; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Blocks/CodeBlock.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Blocks\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Text;\r\n\r\n    /// <summary>\r\n    /// Represents a block of text that is displayed in a fixed-width font.  Inline elements and\r\n    /// escape sequences are ignored inside the code block.\r\n    /// </summary>\r\n    public class CodeBlock : MarkdownBlock\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"CodeBlock\"/> class.\r\n        /// </summary>\r\n        public CodeBlock()\r\n            : base(MarkdownBlockType.Code)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the source code to display.\r\n        /// </summary>\r\n        public string Text { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the Language specified in prefix, e.g. ```c# (Github Style Parsing).<para/>\r\n        /// This does not guarantee that the Code Block has a language, or no language, some valid code might not have been prefixed, and this will still return null. <para/>\r\n        /// To ensure all Code is Highlighted (If desired), you might have to determine the language from the provided string, such as looking for key words.\r\n        /// </summary>\r\n        public string CodeLanguage { get; set; }\r\n\r\n        /// <summary>\r\n        /// Parses a code block.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location of the first character in the block. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <param name=\"quoteDepth\"> The current nesting level for block quoting. </param>\r\n        /// <param name=\"actualEnd\"> Set to the end of the block when the return value is non-null. </param>\r\n        /// <returns> A parsed code block, or <c>null</c> if this is not a code block. </returns>\r\n        internal static CodeBlock Parse(string markdown, int start, int maxEnd, int quoteDepth, out int actualEnd)\r\n        {\r\n            StringBuilder code = null;\r\n            actualEnd = start;\r\n            bool insideCodeBlock = false;\r\n            string codeLanguage = string.Empty;\r\n\r\n            /*\r\n                Two options here:\r\n                Either every line starts with a tab character or at least 4 spaces\r\n                Or the code block starts and ends with ```\r\n            */\r\n\r\n            foreach (var lineInfo in Common.ParseLines(markdown, start, maxEnd, quoteDepth))\r\n            {\r\n                int pos = lineInfo.StartOfLine;\r\n                if (pos < maxEnd && markdown[pos] == '`')\r\n                {\r\n                    var backTickCount = 0;\r\n                    while (pos < maxEnd && backTickCount < 3)\r\n                    {\r\n                        if (markdown[pos] == '`')\r\n                        {\r\n                            backTickCount++;\r\n                        }\r\n                        else\r\n                        {\r\n                            break;\r\n                        }\r\n\r\n                        pos++;\r\n                    }\r\n\r\n                    if (backTickCount == 3)\r\n                    {\r\n                        insideCodeBlock = !insideCodeBlock;\r\n\r\n                        if (!insideCodeBlock)\r\n                        {\r\n                            actualEnd = lineInfo.StartOfNextLine;\r\n                            break;\r\n                        }\r\n                        else\r\n                        {\r\n                            // Collects the Programming Language from the end of the starting ticks.\r\n                            while (pos < lineInfo.EndOfLine)\r\n                            {\r\n                                codeLanguage += markdown[pos];\r\n                                pos++;\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n\r\n                if (!insideCodeBlock)\r\n                {\r\n                    // Add every line that starts with a tab character or at least 4 spaces.\r\n                    if (pos < maxEnd && markdown[pos] == '\\t')\r\n                    {\r\n                        pos++;\r\n                    }\r\n                    else\r\n                    {\r\n                        int spaceCount = 0;\r\n                        while (pos < maxEnd && spaceCount < 4)\r\n                        {\r\n                            if (markdown[pos] == ' ')\r\n                            {\r\n                                spaceCount++;\r\n                            }\r\n                            else if (markdown[pos] == '\\t')\r\n                            {\r\n                                spaceCount += 4;\r\n                            }\r\n                            else\r\n                            {\r\n                                break;\r\n                            }\r\n\r\n                            pos++;\r\n                        }\r\n\r\n                        if (spaceCount < 4)\r\n                        {\r\n                            // We found a line that doesn't start with a tab or 4 spaces.\r\n                            // But don't end the code block until we find a non-blank line.\r\n                            if (lineInfo.IsLineBlank == false)\r\n                            {\r\n                                break;\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n\r\n                // Separate each line of the code text.\r\n                if (code == null)\r\n                {\r\n                    code = new StringBuilder();\r\n                }\r\n                else\r\n                {\r\n                    code.AppendLine();\r\n                }\r\n\r\n                if (lineInfo.IsLineBlank == false)\r\n                {\r\n                    // Append the code text, excluding the first tab/4 spaces, and convert tab characters into spaces.\r\n                    string lineText = markdown.Substring(pos, lineInfo.EndOfLine - pos);\r\n                    int startOfLinePos = code.Length;\r\n                    for (int i = 0; i < lineText.Length; i++)\r\n                    {\r\n                        char c = lineText[i];\r\n                        if (c == '\\t')\r\n                        {\r\n                            code.Append(' ', 4 - ((code.Length - startOfLinePos) % 4));\r\n                        }\r\n                        else\r\n                        {\r\n                            code.Append(c);\r\n                        }\r\n                    }\r\n                }\r\n\r\n                // Update the end position.\r\n                actualEnd = lineInfo.StartOfNextLine;\r\n            }\r\n\r\n            if (code == null)\r\n            {\r\n                // Not a valid code block.\r\n                actualEnd = start;\r\n                return null;\r\n            }\r\n\r\n            // Blank lines should be trimmed from the start and end.\r\n            return new CodeBlock()\r\n            {\r\n                Text = code.ToString().Trim('\\r', '\\n'),\r\n                CodeLanguage = !string.IsNullOrWhiteSpace(codeLanguage) ? codeLanguage.Trim() : null\r\n            };\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            return Text;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Blocks/HeaderBlock.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Blocks\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Represents a heading.\r\n    /// <seealso href=\"https://spec.commonmark.org/0.29/#atx-headings\">Single-Line Header CommonMark Spec</seealso>\r\n    /// <seealso href=\"https://spec.commonmark.org/0.29/#setext-headings\">Two-Line Header CommonMark Spec</seealso>\r\n    /// </summary>\r\n    public class HeaderBlock : MarkdownBlock\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"HeaderBlock\"/> class.\r\n        /// </summary>\r\n        public HeaderBlock()\r\n            : base(MarkdownBlockType.Header)\r\n        {\r\n        }\r\n\r\n        private int _headerLevel;\r\n\r\n        /// <summary>\r\n        /// Gets or sets the header level (1-6).  1 is the most important header, 6 is the least important.\r\n        /// </summary>\r\n        public int HeaderLevel\r\n        {\r\n            get => _headerLevel;\r\n\r\n            set\r\n            {\r\n                if (value < 1 || value > 6)\r\n                {\r\n                    throw new ArgumentOutOfRangeException(\"HeaderLevel\", \"The header level must be between 1 and 6 (inclusive).\");\r\n                }\r\n\r\n                _headerLevel = value;\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the contents of the block.\r\n        /// </summary>\r\n        public IList<MarkdownInline> Inlines { get; set; }\r\n\r\n        /// <summary>\r\n        /// Parses a header that starts with a hash.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location of the first hash character. </param>\r\n        /// <param name=\"end\"> The location of the end of the line. </param>\r\n        /// <returns> A parsed header block, or <c>null</c> if this is not a header. </returns>\r\n        internal static HeaderBlock ParseHashPrefixedHeader(string markdown, int start, int end)\r\n        {\r\n            // This type of header starts with one or more '#' characters, followed by the header\r\n            // text, optionally followed by any number of hash characters.\r\n            var result = new HeaderBlock();\r\n\r\n            // Figure out how many consecutive hash characters there are.\r\n            int pos = start;\r\n            while (pos < end && markdown[pos] == '#' && pos - start < 6)\r\n            {\r\n                pos++;\r\n            }\r\n\r\n            result.HeaderLevel = pos - start;\r\n            if (result.HeaderLevel == 0)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Ignore any hashes at the end of the line.\r\n            while (pos < end && markdown[end - 1] == '#')\r\n            {\r\n                end--;\r\n            }\r\n\r\n            // Parse the inline content.\r\n            result.Inlines = Common.ParseInlineChildren(markdown, pos, end);\r\n            return result;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Parses a two-line header.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"firstLineStart\"> The location of the start of the first line. </param>\r\n        /// <param name=\"firstLineEnd\"> The location of the end of the first line. </param>\r\n        /// <param name=\"secondLineStart\"> The location of the start of the second line. </param>\r\n        /// <param name=\"secondLineEnd\"> The location of the end of the second line. </param>\r\n        /// <returns> A parsed header block, or <c>null</c> if this is not a header. </returns>\r\n        internal static HeaderBlock ParseUnderlineStyleHeader(string markdown, int firstLineStart, int firstLineEnd, int secondLineStart, int secondLineEnd)\r\n        {\r\n            // This type of header starts with some text on the first line, followed by one or more\r\n            // underline characters ('=' or '-') on the second line.\r\n            // The second line can have whitespace after the underline characters, but not before\r\n            // or between each character.\r\n\r\n            // Check the second line is valid.\r\n            if (secondLineEnd <= secondLineStart)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Figure out what the underline character is ('=' or '-').\r\n            char underlineChar = markdown[secondLineStart];\r\n            if (underlineChar != '=' && underlineChar != '-')\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Read past consecutive underline characters.\r\n            int pos = secondLineStart + 1;\r\n            for (; pos < secondLineEnd; pos++)\r\n            {\r\n                char c = markdown[pos];\r\n                if (c != underlineChar)\r\n                {\r\n                    break;\r\n                }\r\n\r\n                pos++;\r\n            }\r\n\r\n            // The rest of the line must be whitespace.\r\n            for (; pos < secondLineEnd; pos++)\r\n            {\r\n                char c = markdown[pos];\r\n                if (c != ' ' && c != '\\t')\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                pos++;\r\n            }\r\n\r\n            var result = new HeaderBlock\r\n            {\r\n                HeaderLevel = underlineChar == '=' ? 1 : 2,\r\n\r\n                // Parse the inline content.\r\n                Inlines = Common.ParseInlineChildren(markdown, firstLineStart, firstLineEnd)\r\n            };\r\n            return result;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            if (Inlines == null)\r\n            {\r\n                return base.ToString();\r\n            }\r\n\r\n            return string.Join(string.Empty, Inlines);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Blocks/HorizontalRuleBlock.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Blocks\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// Represents a horizontal line.\r\n    /// </summary>\r\n    public class HorizontalRuleBlock : MarkdownBlock\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"HorizontalRuleBlock\"/> class.\r\n        /// </summary>\r\n        public HorizontalRuleBlock()\r\n            : base(MarkdownBlockType.HorizontalRule)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Parses a horizontal rule.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location of the start of the line. </param>\r\n        /// <param name=\"end\"> The location of the end of the line. </param>\r\n        /// <returns> A parsed horizontal rule block, or <c>null</c> if this is not a horizontal rule. </returns>\r\n        internal static HorizontalRuleBlock Parse(string markdown, int start, int end)\r\n        {\r\n            // A horizontal rule is a line with at least 3 stars, optionally separated by spaces\r\n            // OR a line with at least 3 dashes, optionally separated by spaces\r\n            // OR a line with at least 3 underscores, optionally separated by spaces.\r\n            char hrChar = '\\0';\r\n            int hrCharCount = 0;\r\n            int pos = start;\r\n            while (pos < end)\r\n            {\r\n                char c = markdown[pos++];\r\n                if (c == '*' || c == '-' || c == '_')\r\n                {\r\n                    // All of the non-whitespace characters on the line must match.\r\n                    if (hrCharCount > 0 && c != hrChar)\r\n                    {\r\n                        return null;\r\n                    }\r\n\r\n                    hrChar = c;\r\n                    hrCharCount++;\r\n                }\r\n                else if (c == '\\n')\r\n                {\r\n                    break;\r\n                }\r\n                else if (!ParseHelpers.IsMarkdownWhiteSpace(c))\r\n                {\r\n                    return null;\r\n                }\r\n            }\r\n\r\n            // Hopefully there were at least 3 stars/dashes/underscores.\r\n            return hrCharCount >= 3 ? new HorizontalRuleBlock() : null;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            return \"---\";\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Blocks/LinkReferenceBlock.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Blocks\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// Represents the target of a reference ([ref][]).\r\n    /// </summary>\r\n    public class LinkReferenceBlock : MarkdownBlock\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"LinkReferenceBlock\"/> class.\r\n        /// </summary>\r\n        public LinkReferenceBlock()\r\n            : base(MarkdownBlockType.LinkReference)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the reference ID.\r\n        /// </summary>\r\n        public string Id { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the link URL.\r\n        /// </summary>\r\n        public string Url { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a tooltip to display on hover.\r\n        /// </summary>\r\n        public string Tooltip { get; set; }\r\n\r\n        /// <summary>\r\n        /// Attempts to parse a reference e.g. \"[example]: http://www.reddit.com 'title'\".\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start parsing. </param>\r\n        /// <param name=\"end\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed markdown link, or <c>null</c> if this is not a markdown link. </returns>\r\n        internal static LinkReferenceBlock Parse(string markdown, int start, int end)\r\n        {\r\n            // Expect a '[' character.\r\n            if (start >= end || markdown[start] != '[')\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Find the ']' character\r\n            int pos = start + 1;\r\n            while (pos < end)\r\n            {\r\n                if (markdown[pos] == ']')\r\n                {\r\n                    break;\r\n                }\r\n\r\n                pos++;\r\n            }\r\n\r\n            if (pos == end)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Extract the ID.\r\n            string id = markdown.Substring(start + 1, pos - (start + 1));\r\n\r\n            // Expect the ':' character.\r\n            pos++;\r\n            if (pos == end || markdown[pos] != ':')\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Skip whitespace\r\n            pos++;\r\n            while (pos < end && ParseHelpers.IsMarkdownWhiteSpace(markdown[pos]))\r\n            {\r\n                pos++;\r\n            }\r\n\r\n            if (pos == end)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Extract the URL.\r\n            int urlStart = pos;\r\n            while (pos < end && !ParseHelpers.IsMarkdownWhiteSpace(markdown[pos]))\r\n            {\r\n                pos++;\r\n            }\r\n\r\n            string url = TextRunInline.ResolveEscapeSequences(markdown, urlStart, pos);\r\n\r\n            // Ignore leading '<' and trailing '>'.\r\n            url = url.TrimStart('<').TrimEnd('>');\r\n\r\n            // Skip whitespace.\r\n            pos++;\r\n            while (pos < end && ParseHelpers.IsMarkdownWhiteSpace(markdown[pos]))\r\n            {\r\n                pos++;\r\n            }\r\n\r\n            string tooltip = null;\r\n            if (pos < end)\r\n            {\r\n                // Extract the tooltip.\r\n                char tooltipEndChar;\r\n                switch (markdown[pos])\r\n                {\r\n                    case '(':\r\n                        tooltipEndChar = ')';\r\n                        break;\r\n\r\n                    case '\"':\r\n                    case '\\'':\r\n                        tooltipEndChar = markdown[pos];\r\n                        break;\r\n\r\n                    default:\r\n                        return null;\r\n                }\r\n\r\n                pos++;\r\n                int tooltipStart = pos;\r\n                while (pos < end && markdown[pos] != tooltipEndChar)\r\n                {\r\n                    pos++;\r\n                }\r\n\r\n                if (pos == end)\r\n                {\r\n                    return null;    // No end character.\r\n                }\r\n\r\n                tooltip = markdown.Substring(tooltipStart, pos - tooltipStart);\r\n\r\n                // Check there isn't any trailing text.\r\n                pos++;\r\n                while (pos < end && ParseHelpers.IsMarkdownWhiteSpace(markdown[pos]))\r\n                {\r\n                    pos++;\r\n                }\r\n\r\n                if (pos < end)\r\n                {\r\n                    return null;\r\n                }\r\n            }\r\n\r\n            // We found something!\r\n            var result = new LinkReferenceBlock { Id = id, Url = url, Tooltip = tooltip };\r\n            return result;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            return $\"[{Id}]: {Url} {Tooltip}\";\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Blocks/List/ListItemBlock.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Blocks/List\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// This specifies the Content of the List element.\r\n    /// </summary>\r\n    public class ListItemBlock\r\n    {\r\n        /// <summary>\r\n        /// Gets or sets the contents of the list item.\r\n        /// </summary>\r\n        public IList<MarkdownBlock> Blocks { get; set; }\r\n\r\n        internal ListItemBlock()\r\n        {\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Blocks/List/ListItemBuilder.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Blocks/List\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Text;\r\n\r\n    internal class ListItemBuilder : MarkdownBlock\r\n    {\r\n        public StringBuilder Builder { get; } = new StringBuilder();\r\n\r\n        public ListItemBuilder()\r\n            : base(MarkdownBlockType.ListItemBuilder)\r\n        {\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Blocks/List/ListItemPreamble.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Blocks/List\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    internal class ListItemPreamble\r\n    {\r\n        public ListStyle Style { get; set; }\r\n\r\n        public int ContentStartPos { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Blocks/List/NestedListInfo.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Blocks/List\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    internal class NestedListInfo\r\n    {\r\n        public ListBlock List { get; set; }\r\n\r\n        // The number of spaces at the start of the line the list first appeared.\r\n        public int SpaceCount { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Blocks/ListBlock.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Blocks\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Linq;\r\n    using System.Text;\r\n    using System.Text.RegularExpressions;\r\n\r\n    /// <summary>\r\n    /// Represents a list, with each list item proceeded by either a number or a bullet.\r\n    /// </summary>\r\n    public class ListBlock : MarkdownBlock\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"ListBlock\"/> class.\r\n        /// </summary>\r\n        public ListBlock()\r\n            : base(MarkdownBlockType.List)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the list items.\r\n        /// </summary>\r\n        public IList<ListItemBlock> Items { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the style of the list, either numbered or bulleted.\r\n        /// </summary>\r\n        public ListStyle Style { get; set; }\r\n\r\n        /// <summary>\r\n        /// Parses a list block.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location of the first character in the block. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <param name=\"quoteDepth\"> The current nesting level for block quoting. </param>\r\n        /// <param name=\"actualEnd\"> Set to the end of the block when the return value is non-null. </param>\r\n        /// <returns> A parsed list block, or <c>null</c> if this is not a list block. </returns>\r\n        internal static ListBlock Parse(string markdown, int start, int maxEnd, int quoteDepth, out int actualEnd)\r\n        {\r\n            var russianDolls = new List<NestedListInfo>();\r\n            int russianDollIndex = -1;\r\n            bool previousLineWasBlank = false;\r\n            bool inCodeBlock = false;\r\n            ListItemBlock currentListItem = null;\r\n            actualEnd = start;\r\n\r\n            foreach (var lineInfo in Common.ParseLines(markdown, start, maxEnd, quoteDepth))\r\n            {\r\n                // Is this line blank?\r\n                if (lineInfo.IsLineBlank)\r\n                {\r\n                    // The line is blank, which means the next line which contains text may end the list (or it may not...).\r\n                    previousLineWasBlank = true;\r\n                }\r\n                else\r\n                {\r\n                    // Does the line contain a list item?\r\n                    ListItemPreamble listItemPreamble = null;\r\n                    if (lineInfo.FirstNonWhitespaceChar - lineInfo.StartOfLine < (russianDollIndex + 2) * 4)\r\n                    {\r\n                        listItemPreamble = ParseItemPreamble(markdown, lineInfo.FirstNonWhitespaceChar, lineInfo.EndOfLine);\r\n                    }\r\n\r\n                    if (listItemPreamble != null)\r\n                    {\r\n                        // Yes, this line contains a list item.\r\n\r\n                        // Determining the nesting level is done as follows:\r\n                        // 1. If this is the first line, then the list is not nested.\r\n                        // 2. If the number of spaces at the start of the line is equal to that of\r\n                        //    an existing list, then the nesting level is the same as that list.\r\n                        // 3. Otherwise, if the number of spaces is 0-4, then the nesting level\r\n                        //    is one level deep.\r\n                        // 4. Otherwise, if the number of spaces is 5-8, then the nesting level\r\n                        //    is two levels deep (but no deeper than one level more than the\r\n                        //    previous list item).\r\n                        // 5. Etcetera.\r\n                        ListBlock listToAddTo = null;\r\n                        int spaceCount = lineInfo.FirstNonWhitespaceChar - lineInfo.StartOfLine;\r\n                        russianDollIndex = russianDolls.FindIndex(rd => rd.SpaceCount == spaceCount);\r\n                        if (russianDollIndex >= 0)\r\n                        {\r\n                            // Add the new list item to an existing list.\r\n                            listToAddTo = russianDolls[russianDollIndex].List;\r\n\r\n                            // Don't add new list items to items higher up in the list.\r\n                            russianDolls.RemoveRange(russianDollIndex + 1, russianDolls.Count - (russianDollIndex + 1));\r\n                        }\r\n                        else\r\n                        {\r\n                            russianDollIndex = Math.Max(1, 1 + ((spaceCount - 1) / 4));\r\n                            if (russianDollIndex < russianDolls.Count)\r\n                            {\r\n                                // Add the new list item to an existing list.\r\n                                listToAddTo = russianDolls[russianDollIndex].List;\r\n\r\n                                // Don't add new list items to items higher up in the list.\r\n                                russianDolls.RemoveRange(russianDollIndex + 1, russianDolls.Count - (russianDollIndex + 1));\r\n                            }\r\n                            else\r\n                            {\r\n                                // Create a new list.\r\n                                listToAddTo = new ListBlock { Style = listItemPreamble.Style, Items = new List<ListItemBlock>() };\r\n                                if (russianDolls.Count > 0)\r\n                                {\r\n                                    currentListItem.Blocks.Add(listToAddTo);\r\n                                }\r\n\r\n                                russianDollIndex = russianDolls.Count;\r\n                                russianDolls.Add(new NestedListInfo { List = listToAddTo, SpaceCount = spaceCount });\r\n                            }\r\n                        }\r\n\r\n                        // Add a new list item.\r\n                        currentListItem = new ListItemBlock() { Blocks = new List<MarkdownBlock>() };\r\n                        listToAddTo.Items.Add(currentListItem);\r\n\r\n                        // Add the rest of the line to the builder.\r\n                        AppendTextToListItem(currentListItem, markdown, listItemPreamble.ContentStartPos, lineInfo.EndOfLine);\r\n                    }\r\n                    else\r\n                    {\r\n                        // No, this line contains text.\r\n\r\n                        // Is there even a list in progress?\r\n                        if (currentListItem == null)\r\n                        {\r\n                            actualEnd = start;\r\n                            return null;\r\n                        }\r\n\r\n                        // This is the start of a new paragraph.\r\n                        int spaceCount = lineInfo.FirstNonWhitespaceChar - lineInfo.StartOfLine;\r\n                        if (spaceCount == 0)\r\n                        {\r\n                            break;\r\n                        }\r\n\r\n                        russianDollIndex = Math.Min(russianDollIndex, (spaceCount - 1) / 4);\r\n                        int lineStart = Math.Min(lineInfo.FirstNonWhitespaceChar, lineInfo.StartOfLine + ((russianDollIndex + 1) * 4));\r\n\r\n                        // 0 spaces = end of the list.\r\n                        // 1-4 spaces = first level.\r\n                        // 5-8 spaces = second level, etc.\r\n                        if (previousLineWasBlank)\r\n                        {\r\n                            ListBlock listToAddTo = russianDolls[russianDollIndex].List;\r\n                            currentListItem = listToAddTo.Items[listToAddTo.Items.Count - 1];\r\n\r\n                            ListItemBuilder builder;\r\n\r\n                            // Prevents new Block creation if still in a Code Block.\r\n                            if (!inCodeBlock)\r\n                            {\r\n                                builder = new ListItemBuilder();\r\n                                currentListItem.Blocks.Add(builder);\r\n                            }\r\n                            else\r\n                            {\r\n                                // This can only ever be a ListItemBuilder, so it is not a null reference.\r\n                                builder = currentListItem.Blocks.Last() as ListItemBuilder;\r\n\r\n                                // Make up for the escaped NewLines.\r\n                                builder.Builder.AppendLine();\r\n                                builder.Builder.AppendLine();\r\n                            }\r\n\r\n                            AppendTextToListItem(currentListItem, markdown, lineStart, lineInfo.EndOfLine);\r\n                        }\r\n                        else\r\n                        {\r\n                            // Inline text. Ignores the 4 spaces that are used to continue the list.\r\n                            AppendTextToListItem(currentListItem, markdown, lineStart, lineInfo.EndOfLine, true);\r\n                        }\r\n                    }\r\n\r\n                    // Check for Closing Code Blocks.\r\n                    if (currentListItem.Blocks.Last() is ListItemBuilder currentBlock)\r\n                    {\r\n                        var blockmatchcount = Regex.Matches(currentBlock.Builder.ToString(), \"```\").Count;\r\n                        if (blockmatchcount > 0 && blockmatchcount % 2 != 0)\r\n                        {\r\n                            inCodeBlock = true;\r\n                        }\r\n                        else\r\n                        {\r\n                            inCodeBlock = false;\r\n                        }\r\n                    }\r\n\r\n                    // The line was not blank.\r\n                    previousLineWasBlank = false;\r\n                }\r\n\r\n                // Go to the next line.\r\n                actualEnd = lineInfo.EndOfLine;\r\n            }\r\n\r\n            var result = russianDolls[0].List;\r\n            ReplaceStringBuilders(result);\r\n            return result;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Parsing helper method.\r\n        /// </summary>\r\n        /// <returns>Returns a ListItemPreamble</returns>\r\n        private static ListItemPreamble ParseItemPreamble(string markdown, int start, int maxEnd)\r\n        {\r\n            // There are two types of lists.\r\n            // A numbered list starts with a number, then a period ('.'), then a space.\r\n            // A bulleted list starts with a star ('*'), dash ('-') or plus ('+'), then a period, then a space.\r\n            ListStyle style;\r\n            if (markdown[start] == '*' || markdown[start] == '-' || markdown[start] == '+')\r\n            {\r\n                style = ListStyle.Bulleted;\r\n                start++;\r\n            }\r\n            else if (markdown[start] >= '0' && markdown[start] <= '9')\r\n            {\r\n                style = ListStyle.Numbered;\r\n                start++;\r\n\r\n                // Skip any other digits.\r\n                while (start < maxEnd)\r\n                {\r\n                    char c = markdown[start];\r\n                    if (c < '0' || c > '9')\r\n                    {\r\n                        break;\r\n                    }\r\n\r\n                    start++;\r\n                }\r\n\r\n                // Next should be a period ('.').\r\n                if (start == maxEnd || markdown[start] != '.')\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                start++;\r\n            }\r\n            else\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Next should be a space.\r\n            if (start == maxEnd || (markdown[start] != ' ' && markdown[start] != '\\t'))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            start++;\r\n\r\n            // This is a valid list item.\r\n            return new ListItemPreamble { Style = style, ContentStartPos = start };\r\n        }\r\n\r\n        /// <summary>\r\n        /// Parsing helper method.\r\n        /// </summary>\r\n        private static void AppendTextToListItem(ListItemBlock listItem, string markdown, int start, int end, bool newLine = false)\r\n        {\r\n            ListItemBuilder listItemBuilder = null;\r\n            if (listItem.Blocks.Count > 0)\r\n            {\r\n                listItemBuilder = listItem.Blocks[listItem.Blocks.Count - 1] as ListItemBuilder;\r\n            }\r\n\r\n            if (listItemBuilder == null)\r\n            {\r\n                // Add a new block.\r\n                listItemBuilder = new ListItemBuilder();\r\n                listItem.Blocks.Add(listItemBuilder);\r\n            }\r\n\r\n            var builder = listItemBuilder.Builder;\r\n            if (builder.Length >= 2 &&\r\n                ParseHelpers.IsMarkdownWhiteSpace(builder[builder.Length - 2]) &&\r\n                ParseHelpers.IsMarkdownWhiteSpace(builder[builder.Length - 1]))\r\n            {\r\n                builder.Length -= 2;\r\n                builder.AppendLine();\r\n            }\r\n            else if (builder.Length > 0)\r\n            {\r\n                builder.Append(' ');\r\n            }\r\n\r\n            if (newLine)\r\n            {\r\n                builder.Append(Environment.NewLine);\r\n            }\r\n\r\n            builder.Append(markdown.Substring(start, end - start));\r\n        }\r\n\r\n        /// <summary>\r\n        /// Parsing helper.\r\n        /// </summary>\r\n        /// <returns> <c>true</c> if any of the list items were parsed using the block parser. </returns>\r\n        private static bool ReplaceStringBuilders(ListBlock list)\r\n        {\r\n            bool usedBlockParser = false;\r\n            foreach (var listItem in list.Items)\r\n            {\r\n                // Use the inline parser if there is one paragraph, use the block parser otherwise.\r\n                var useBlockParser = listItem.Blocks.Count(block => block.Type == MarkdownBlockType.ListItemBuilder) > 1;\r\n\r\n                // Recursively replace any child lists.\r\n                foreach (var block in listItem.Blocks)\r\n                {\r\n                    if (block is ListBlock listBlock && ReplaceStringBuilders(listBlock))\r\n                    {\r\n                        useBlockParser = true;\r\n                    }\r\n                }\r\n\r\n                // Parse the text content of the list items.\r\n                var newBlockList = new List<MarkdownBlock>();\r\n                foreach (var block in listItem.Blocks)\r\n                {\r\n                    if (block is ListItemBuilder)\r\n                    {\r\n                        var blockText = ((ListItemBuilder)block).Builder.ToString();\r\n                        if (useBlockParser)\r\n                        {\r\n                            // Parse the list item as a series of blocks.\r\n                            newBlockList.AddRange(MarkdownDocument.Parse(blockText, 0, blockText.Length, quoteDepth: 0, actualEnd: out var actualEnd));\r\n                            usedBlockParser = true;\r\n                        }\r\n                        else\r\n                        {\r\n                            // Don't allow blocks.\r\n                            var paragraph = new ParagraphBlock\r\n                            {\r\n                                Inlines = Common.ParseInlineChildren(blockText, 0, blockText.Length)\r\n                            };\r\n                            newBlockList.Add(paragraph);\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        newBlockList.Add(block);\r\n                    }\r\n                }\r\n\r\n                listItem.Blocks = newBlockList;\r\n            }\r\n\r\n            return usedBlockParser;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            if (Items == null)\r\n            {\r\n                return base.ToString();\r\n            }\r\n\r\n            var result = new StringBuilder();\r\n            for (int i = 0; i < Items.Count; i++)\r\n            {\r\n                if (result.Length > 0)\r\n                {\r\n                    result.AppendLine();\r\n                }\r\n\r\n                switch (Style)\r\n                {\r\n                    case ListStyle.Bulleted:\r\n                        result.Append(\"* \");\r\n                        break;\r\n\r\n                    case ListStyle.Numbered:\r\n                        result.Append(i + 1);\r\n                        result.Append(\".\");\r\n                        break;\r\n                }\r\n\r\n                result.Append(\" \");\r\n                result.Append(string.Join(\"\\r\\n\", Items[i].Blocks));\r\n            }\r\n\r\n            return result.ToString();\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Blocks/ParagraphBlock.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Blocks\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Represents a block of text that is displayed as a single paragraph.\r\n    /// </summary>\r\n    public class ParagraphBlock : MarkdownBlock\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"ParagraphBlock\"/> class.\r\n        /// </summary>\r\n        public ParagraphBlock()\r\n            : base(MarkdownBlockType.Paragraph)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the contents of the block.\r\n        /// </summary>\r\n        public IList<MarkdownInline> Inlines { get; set; }\r\n\r\n        /// <summary>\r\n        /// Parses paragraph text.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <returns> A parsed paragraph. </returns>\r\n        internal static ParagraphBlock Parse(string markdown)\r\n        {\r\n            return new ParagraphBlock { Inlines = Common.ParseInlineChildren(markdown, 0, markdown.Length) };\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            if (Inlines == null)\r\n            {\r\n                return base.ToString();\r\n            }\r\n\r\n            return string.Join(string.Empty, Inlines);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Blocks/QuoteBlock.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Blocks\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Represents a block that is displayed using a quote style.  Quotes are used to indicate\r\n    /// that the text originated elsewhere (e.g. a previous comment).\r\n    /// </summary>\r\n    public class QuoteBlock : MarkdownBlock\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"QuoteBlock\"/> class.\r\n        /// </summary>\r\n        public QuoteBlock()\r\n            : base(MarkdownBlockType.Quote)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the contents of the block.\r\n        /// </summary>\r\n        public IList<MarkdownBlock> Blocks { get; set; }\r\n\r\n        /// <summary>\r\n        /// Parses a quote block.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"startOfLine\"> The location of the start of the line. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <param name=\"quoteDepth\"> The current nesting level of quotes. </param>\r\n        /// <param name=\"actualEnd\"> Set to the end of the block when the return value is non-null. </param>\r\n        /// <returns> A parsed quote block. </returns>\r\n        internal static QuoteBlock Parse(string markdown, int startOfLine, int maxEnd, int quoteDepth, out int actualEnd)\r\n        {\r\n            var result = new QuoteBlock\r\n            {\r\n                // Recursively call into the markdown block parser.\r\n                Blocks = MarkdownDocument.Parse(markdown, startOfLine, maxEnd, quoteDepth: quoteDepth + 1, actualEnd: out actualEnd)\r\n            };\r\n\r\n            return result;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Blocks/TableBlock.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Blocks\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Represents a block which contains tabular data.\r\n    /// </summary>\r\n    public class TableBlock : MarkdownBlock\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"TableBlock\"/> class.\r\n        /// </summary>\r\n        public TableBlock()\r\n            : base(MarkdownBlockType.Table)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the table rows.\r\n        /// </summary>\r\n        public IList<TableRow> Rows { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets describes the columns in the table.  Rows can have more or less cells than the number\r\n        /// of columns.  Rows with fewer cells should be padded with empty cells.  For rows with\r\n        /// more cells, the extra cells should be hidden.\r\n        /// </summary>\r\n        public IList<TableColumnDefinition> ColumnDefinitions { get; set; }\r\n\r\n        /// <summary>\r\n        /// Parses a table block.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location of the first character in the block. </param>\r\n        /// <param name=\"endOfFirstLine\"> The location of the end of the first line. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <param name=\"quoteDepth\"> The current nesting level for block quoting. </param>\r\n        /// <param name=\"actualEnd\"> Set to the end of the block when the return value is non-null. </param>\r\n        /// <returns> A parsed table block, or <c>null</c> if this is not a table block. </returns>\r\n        internal static TableBlock Parse(string markdown, int start, int endOfFirstLine, int maxEnd, int quoteDepth, out int actualEnd)\r\n        {\r\n            // A table is a line of text, with at least one vertical bar (|), followed by a line of\r\n            // of text that consists of alternating dashes (-) and vertical bars (|) and optionally\r\n            // vertical bars at the start and end.  The second line must have at least as many\r\n            // interior vertical bars as there are interior vertical bars on the first line.\r\n            actualEnd = start;\r\n\r\n            // First thing to do is to check if there is a vertical bar on the line.\r\n            var barSections = markdown.Substring(start, endOfFirstLine - start).Split('|');\r\n\r\n            var allBarsEscaped = true;\r\n\r\n            // we can skip the last section, because there is no bar at the end of it\r\n            for (var i = 0; i < barSections.Length - 1; i++)\r\n            {\r\n                var barSection = barSections[i];\r\n                if (!barSection.EndsWith(\"\\\\\", StringComparison.Ordinal))\r\n                {\r\n                    allBarsEscaped = false;\r\n                    break;\r\n                }\r\n            }\r\n\r\n            if (allBarsEscaped)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            var rows = new List<TableRow>();\r\n\r\n            // Parse the first row.\r\n            var firstRow = new TableRow();\r\n            start = firstRow.Parse(markdown, start, maxEnd, quoteDepth);\r\n            rows.Add(firstRow);\r\n\r\n            // Parse the contents of the second row.\r\n            var secondRowContents = new List<string>();\r\n            start = TableRow.ParseContents(\r\n                markdown,\r\n                start,\r\n                maxEnd,\r\n                quoteDepth,\r\n                requireVerticalBar: false,\r\n                contentParser: (start2, end2) => secondRowContents.Add(markdown.Substring(start2, end2 - start2)));\r\n\r\n            // There must be at least as many columns in the second row as in the first row.\r\n            if (secondRowContents.Count < firstRow.Cells.Count)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Check each column definition.\r\n            // Note: excess columns past firstRowColumnCount are ignored and can contain anything.\r\n            var columnDefinitions = new List<TableColumnDefinition>(firstRow.Cells.Count);\r\n            for (int i = 0; i < firstRow.Cells.Count; i++)\r\n            {\r\n                var cellContent = secondRowContents[i];\r\n                if (cellContent.Length == 0)\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                // The first and last characters can be '-' or ':'.\r\n                if (cellContent[0] != ':' && cellContent[0] != '-')\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                if (cellContent[cellContent.Length - 1] != ':' && cellContent[cellContent.Length - 1] != '-')\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                // Every other character must be '-'.\r\n                for (int j = 1; j < cellContent.Length - 1; j++)\r\n                {\r\n                    if (cellContent[j] != '-')\r\n                    {\r\n                        return null;\r\n                    }\r\n                }\r\n\r\n                // Record the alignment.\r\n                var columnDefinition = new TableColumnDefinition();\r\n                if (cellContent.Length > 1 && cellContent[0] == ':' && cellContent[cellContent.Length - 1] == ':')\r\n                {\r\n                    columnDefinition.Alignment = ColumnAlignment.Center;\r\n                }\r\n                else if (cellContent[0] == ':')\r\n                {\r\n                    columnDefinition.Alignment = ColumnAlignment.Left;\r\n                }\r\n                else if (cellContent[cellContent.Length - 1] == ':')\r\n                {\r\n                    columnDefinition.Alignment = ColumnAlignment.Right;\r\n                }\r\n\r\n                columnDefinitions.Add(columnDefinition);\r\n            }\r\n\r\n            // Parse additional rows.\r\n            while (start < maxEnd)\r\n            {\r\n                var row = new TableRow();\r\n                start = row.Parse(markdown, start, maxEnd, quoteDepth);\r\n                if (row.Cells.Count == 0)\r\n                {\r\n                    break;\r\n                }\r\n\r\n                rows.Add(row);\r\n            }\r\n\r\n            actualEnd = start;\r\n            return new TableBlock { ColumnDefinitions = columnDefinitions, Rows = rows };\r\n        }\r\n\r\n        /// <summary>\r\n        /// Describes a column in the markdown table.\r\n        /// </summary>\r\n        public class TableColumnDefinition\r\n        {\r\n            /// <summary>\r\n            /// Gets or sets the alignment of content in a table column.\r\n            /// </summary>\r\n            public ColumnAlignment Alignment { get; set; }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Represents a single row in the table.\r\n        /// </summary>\r\n        public class TableRow\r\n        {\r\n            /// <summary>\r\n            /// Gets or sets the table cells.\r\n            /// </summary>\r\n            public IList<TableCell> Cells { get; set; }\r\n\r\n            /// <summary>\r\n            /// Parses the contents of the row, ignoring whitespace at the beginning and end of each cell.\r\n            /// </summary>\r\n            /// <param name=\"markdown\"> The markdown text. </param>\r\n            /// <param name=\"startingPos\"> The position of the start of the row. </param>\r\n            /// <param name=\"maxEndingPos\"> The maximum position of the end of the row </param>\r\n            /// <param name=\"quoteDepth\"> The current nesting level for block quoting. </param>\r\n            /// <param name=\"requireVerticalBar\"> Indicates whether the line must contain a vertical bar. </param>\r\n            /// <param name=\"contentParser\"> Called for each cell. </param>\r\n            /// <returns> The position of the start of the next line. </returns>\r\n            internal static int ParseContents(string markdown, int startingPos, int maxEndingPos, int quoteDepth, bool requireVerticalBar, Action<int, int> contentParser)\r\n            {\r\n                // Skip quote characters.\r\n                int pos = Common.SkipQuoteCharacters(markdown, startingPos, maxEndingPos, quoteDepth);\r\n\r\n                // If the line starts with a '|' character, skip it.\r\n                bool lineHasVerticalBar = false;\r\n                if (pos < maxEndingPos && markdown[pos] == '|')\r\n                {\r\n                    lineHasVerticalBar = true;\r\n                    pos++;\r\n                }\r\n\r\n                while (pos < maxEndingPos)\r\n                {\r\n                    // Ignore any whitespace at the start of the cell (except for a newline character).\r\n                    while (pos < maxEndingPos && ParseHelpers.IsMarkdownWhiteSpace(markdown[pos]) && markdown[pos] != '\\n' && markdown[pos] != '\\r')\r\n                    {\r\n                        pos++;\r\n                    }\r\n\r\n                    int startOfCellContent = pos;\r\n\r\n                    // Find the end of the cell.\r\n                    bool endOfLineFound = true;\r\n                    while (pos < maxEndingPos)\r\n                    {\r\n                        char c = markdown[pos];\r\n                        if (c == '|' && (pos == 0 || markdown[pos - 1] != '\\\\'))\r\n                        {\r\n                            lineHasVerticalBar = true;\r\n                            endOfLineFound = false;\r\n                            break;\r\n                        }\r\n\r\n                        if (c == '\\n')\r\n                        {\r\n                            break;\r\n                        }\r\n\r\n                        if (c == '\\r')\r\n                        {\r\n                            if (pos < maxEndingPos && markdown[pos + 1] == '\\n')\r\n                            {\r\n                                pos++; // Swallow the complete linefeed.\r\n                            }\r\n\r\n                            break;\r\n                        }\r\n\r\n                        pos++;\r\n                    }\r\n\r\n                    int endOfCell = pos;\r\n\r\n                    // If a vertical bar is required, and none was found, then exit early.\r\n                    if (endOfLineFound && !lineHasVerticalBar && requireVerticalBar)\r\n                    {\r\n                        return startingPos;\r\n                    }\r\n\r\n                    // Ignore any whitespace at the end of the cell.\r\n                    if (endOfCell > startOfCellContent)\r\n                    {\r\n                        while (ParseHelpers.IsMarkdownWhiteSpace(markdown[pos - 1]))\r\n                        {\r\n                            pos--;\r\n                        }\r\n                    }\r\n\r\n                    int endOfCellContent = pos;\r\n\r\n                    if (endOfLineFound == false || endOfCellContent > startOfCellContent)\r\n                    {\r\n                        // Parse the contents of the cell.\r\n                        contentParser(startOfCellContent, endOfCellContent);\r\n                    }\r\n\r\n                    // End of input?\r\n                    if (pos == maxEndingPos)\r\n                    {\r\n                        break;\r\n                    }\r\n\r\n                    // Move to the next cell, or the next line.\r\n                    pos = endOfCell + 1;\r\n\r\n                    // End of the line?\r\n                    if (endOfLineFound)\r\n                    {\r\n                        break;\r\n                    }\r\n                }\r\n\r\n                return pos;\r\n            }\r\n\r\n            /// <summary>\r\n            /// Called when this block type should parse out the goods. Given the markdown, a starting point, and a max ending point\r\n            /// the block should find the start of the block, find the end and parse out the middle. The end most of the time will not be\r\n            /// the max ending pos, but it sometimes can be. The function will return where it ended parsing the block in the markdown.\r\n            /// </summary>\r\n            /// <returns>the postiion parsed to</returns>\r\n            internal int Parse(string markdown, int startingPos, int maxEndingPos, int quoteDepth)\r\n            {\r\n                Cells = new List<TableCell>();\r\n                return ParseContents(\r\n                    markdown,\r\n                    startingPos,\r\n                    maxEndingPos,\r\n                    quoteDepth,\r\n                    requireVerticalBar: true,\r\n                    contentParser: (startingPos2, maxEndingPos2) =>\r\n                    {\r\n                        var cell = new TableCell\r\n                        {\r\n                            Inlines = Common.ParseInlineChildren(markdown, startingPos2, maxEndingPos2)\r\n                        };\r\n                        Cells.Add(cell);\r\n                    });\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Represents a cell in the table.\r\n        /// </summary>\r\n        public class TableCell\r\n        {\r\n            /// <summary>\r\n            /// Gets or sets the cell contents.\r\n            /// </summary>\r\n            public IList<MarkdownInline> Inlines { get; set; }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Blocks/YamlHeaderBlock.cs",
    "content": "﻿// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Blocks\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Yaml Header. use for blog.\r\n    /// e.g.\r\n    /// ---\r\n    /// title: something\r\n    /// tag: something\r\n    /// ---\r\n    /// </summary>\r\n    public class YamlHeaderBlock : MarkdownBlock\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"YamlHeaderBlock\"/> class.\r\n        /// </summary>\r\n        public YamlHeaderBlock()\r\n            : base(MarkdownBlockType.YamlHeader)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets yaml header properties\r\n        /// </summary>\r\n        public Dictionary<string, string> Children { get; set; }\r\n\r\n        /// <summary>\r\n        /// Parse yaml header\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location of the first hash character. </param>\r\n        /// <param name=\"end\"> The location of the end of the line. </param>\r\n        /// <param name=\"realEndIndex\"> The location of the actual end of the aprse. </param>\r\n        /// <returns>Parsed <see cref=\"YamlHeaderBlock\"/> class</returns>\r\n        internal static YamlHeaderBlock Parse(string markdown, int start, int end, out int realEndIndex)\r\n        {\r\n            // As yaml header, must be start a line with \"---\"\r\n            // and end with a line \"---\"\r\n            realEndIndex = start;\r\n            int lineStart = start;\r\n            if (end - start < 3)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            if (lineStart != 0 || markdown.Substring(start, 3) != \"---\")\r\n            {\r\n                return null;\r\n            }\r\n\r\n            int startUnderlineIndex = Common.FindNextSingleNewLine(markdown, lineStart, end, out int startOfNextLine);\r\n            if (startUnderlineIndex - lineStart != 3)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            bool lockedFinalUnderline = false;\r\n\r\n            // if current line not contain the \": \", check it is end of parse, if not, exit\r\n            // if next line is the end, exit\r\n            int pos = startOfNextLine;\r\n            List<string> elements = new List<string>();\r\n            while (pos < end)\r\n            {\r\n                int nextUnderLineIndex = Common.FindNextSingleNewLine(markdown, pos, end, out startOfNextLine);\r\n                bool haveSeparator = markdown.Substring(pos, nextUnderLineIndex - pos).Contains(\": \", StringComparison.Ordinal);\r\n                if (haveSeparator)\r\n                {\r\n                    elements.Add(markdown.Substring(pos, nextUnderLineIndex - pos));\r\n                }\r\n                else if (end - pos >= 3 && markdown.Substring(pos, 3) == \"---\")\r\n                {\r\n                    lockedFinalUnderline = true;\r\n                    realEndIndex = pos + 3;\r\n                    break;\r\n                }\r\n                else if (startOfNextLine == pos + 1)\r\n                {\r\n                    pos = startOfNextLine;\r\n                    continue;\r\n                }\r\n                else\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                pos = startOfNextLine;\r\n            }\r\n\r\n            // if not have the end, return\r\n            if (!lockedFinalUnderline)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // parse yaml header properties\r\n            if (elements.Count < 1)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            var result = new YamlHeaderBlock\r\n            {\r\n                Children = new Dictionary<string, string>()\r\n            };\r\n            foreach (var item in elements)\r\n            {\r\n                string[] splits = item.Split(new string[] { \": \" }, StringSplitOptions.None);\r\n                if (splits.Length < 2)\r\n                {\r\n                    continue;\r\n                }\r\n                else\r\n                {\r\n                    string key = splits[0];\r\n                    string value = splits[1];\r\n                    if (key.Trim().Length == 0)\r\n                    {\r\n                        continue;\r\n                    }\r\n\r\n                    value = string.IsNullOrEmpty(value.Trim()) ? string.Empty : value;\r\n                    result.Children.Add(key, value);\r\n                }\r\n            }\r\n\r\n            if (result.Children == null)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            return result;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            if (Children == null)\r\n            {\r\n                return base.ToString();\r\n            }\r\n            else\r\n            {\r\n                string result = string.Empty;\r\n                foreach (KeyValuePair<string, string> item in Children)\r\n                {\r\n                    result += item.Key + \": \" + item.Value + \"\\n\";\r\n                }\r\n\r\n                return result.TrimEnd('\\n');\r\n            }\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Core/IParser.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/blob/master/Microsoft.Toolkit.Parsers/Core\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Parser interface.\r\n    /// </summary>\r\n    /// <typeparam name=\"T\">Type to parse into.</typeparam>\r\n    public interface IParser<out T>\r\n        where T : SchemaBase\r\n    {\r\n        /// <summary>\r\n        /// Parse method which all classes must implement.\r\n        /// </summary>\r\n        /// <param name=\"data\">Data to parse.</param>\r\n        /// <returns>Strong typed parsed data.</returns>\r\n        IEnumerable<T> Parse(string data);\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Core/ParseHelpers.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/blob/master/Microsoft.Toolkit.Parsers/Core\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// This class offers helpers for Parsing.\r\n    /// </summary>\r\n    public static class ParseHelpers\r\n    {\r\n        /// <summary>\r\n        /// Determines if a Markdown string is blank or comprised entirely of whitespace characters.\r\n        /// </summary>\r\n        /// <returns>true if blank or white space</returns>\r\n        public static bool IsMarkdownBlankOrWhiteSpace(string str)\r\n        {\r\n            for (int i = 0; i < str.Length; i++)\r\n            {\r\n                if (!IsMarkdownWhiteSpace(str[i]))\r\n                {\r\n                    return false;\r\n                }\r\n            }\r\n\r\n            return true;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Determines if a character is a Markdown whitespace character.\r\n        /// </summary>\r\n        /// <returns>true if is white space</returns>\r\n        public static bool IsMarkdownWhiteSpace(char c)\r\n        {\r\n            return c == ' ' || c == '\\t' || c == '\\r' || c == '\\n';\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Core/SchemaBase.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/blob/master/Microsoft.Toolkit.Parsers/Core\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// Strong typed schema base class.\r\n    /// </summary>\r\n    public abstract class SchemaBase\r\n    {\r\n        /// <summary>\r\n        /// Gets or sets identifier for strong typed record.\r\n        /// </summary>\r\n        public string InternalID { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Core/StringValueAttribute.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/blob/master/Microsoft.Toolkit.Parsers/Core\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System;\r\n\r\n    /// <summary>\r\n    /// The StringValue attribute is used as a helper to decorate enum values with string representations.\r\n    /// </summary>\r\n    [AttributeUsage(AttributeTargets.Field)]\r\n    public sealed class StringValueAttribute : Attribute\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"StringValueAttribute\"/> class.\r\n        /// Constructor accepting string value.\r\n        /// </summary>\r\n        /// <param name=\"value\">String value</param>\r\n        public StringValueAttribute(string value)\r\n        {\r\n            Value = value;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets property for string value.\r\n        /// </summary>\r\n        public string Value { get; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Enums/ColumnAlignment.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Enums\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// The alignment of content in a table column.\r\n    /// </summary>\r\n    public enum ColumnAlignment\r\n    {\r\n        /// <summary>\r\n        /// The alignment was not specified.\r\n        /// </summary>\r\n        Unspecified,\r\n\r\n        /// <summary>\r\n        /// Content should be left aligned.\r\n        /// </summary>\r\n        Left,\r\n\r\n        /// <summary>\r\n        /// Content should be right aligned.\r\n        /// </summary>\r\n        Right,\r\n\r\n        /// <summary>\r\n        /// Content should be centered.\r\n        /// </summary>\r\n        Center,\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Enums/HyperlinkType.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Enums\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// Specifies the type of Hyperlink that is used.\r\n    /// </summary>\r\n    public enum HyperlinkType\r\n    {\r\n        /// <summary>\r\n        /// A hyperlink surrounded by angle brackets (e.g. \"http://www.reddit.com\").\r\n        /// </summary>\r\n        BracketedUrl,\r\n\r\n        /// <summary>\r\n        /// A fully qualified hyperlink (e.g. \"http://www.reddit.com\").\r\n        /// </summary>\r\n        FullUrl,\r\n\r\n        /// <summary>\r\n        /// A URL without a scheme (e.g. \"www.reddit.com\").\r\n        /// </summary>\r\n        PartialUrl,\r\n\r\n        /// <summary>\r\n        /// An email address (e.g. \"test@reddit.com\").\r\n        /// </summary>\r\n        Email,\r\n\r\n        /// <summary>\r\n        /// A subreddit link (e.g. \"/r/news\").\r\n        /// </summary>\r\n        Subreddit,\r\n\r\n        /// <summary>\r\n        /// A user link (e.g. \"/u/quinbd\").\r\n        /// </summary>\r\n        User,\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Enums/InlineParseMethod.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Enums\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    internal enum InlineParseMethod\r\n    {\r\n        /// <summary>\r\n        /// A Comment text\r\n        /// </summary>\r\n        Comment,\r\n\r\n        /// <summary>\r\n        /// A Link Reference\r\n        /// </summary>\r\n        LinkReference,\r\n\r\n        /// <summary>\r\n        /// A bold element\r\n        /// </summary>\r\n        Bold,\r\n\r\n        /// <summary>\r\n        /// An bold and italic block\r\n        /// </summary>\r\n        BoldItalic,\r\n\r\n        /// <summary>\r\n        /// A code element\r\n        /// </summary>\r\n        Code,\r\n\r\n        /// <summary>\r\n        /// An italic block\r\n        /// </summary>\r\n        Italic,\r\n\r\n        /// <summary>\r\n        /// A link block\r\n        /// </summary>\r\n        MarkdownLink,\r\n\r\n        /// <summary>\r\n        /// An angle bracket link.\r\n        /// </summary>\r\n        AngleBracketLink,\r\n\r\n        /// <summary>\r\n        /// A url block\r\n        /// </summary>\r\n        Url,\r\n\r\n        /// <summary>\r\n        /// A reddit style link\r\n        /// </summary>\r\n        RedditLink,\r\n\r\n        /// <summary>\r\n        /// An in line text link\r\n        /// </summary>\r\n        PartialLink,\r\n\r\n        /// <summary>\r\n        /// An email element\r\n        /// </summary>\r\n        Email,\r\n\r\n        /// <summary>\r\n        /// strike through element\r\n        /// </summary>\r\n        Strikethrough,\r\n\r\n        /// <summary>\r\n        /// Super script element.\r\n        /// </summary>\r\n        Superscript,\r\n\r\n        /// <summary>\r\n        /// Sub script element.\r\n        /// </summary>\r\n        Subscript,\r\n\r\n        /// <summary>\r\n        /// Image element.\r\n        /// </summary>\r\n        Image,\r\n\r\n        /// <summary>\r\n        /// Emoji element.\r\n        /// </summary>\r\n        Emoji\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Enums/ListStyle.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Enums\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// This specifies the type of style the List will be.\r\n    /// </summary>\r\n    public enum ListStyle\r\n    {\r\n        /// <summary>\r\n        /// A list with bullets\r\n        /// </summary>\r\n        Bulleted,\r\n\r\n        /// <summary>\r\n        /// A numbered list\r\n        /// </summary>\r\n        Numbered,\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Enums/MarkdownBlockType.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Enums\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// Determines the type of Block the Block element is.\r\n    /// </summary>\r\n    public enum MarkdownBlockType\r\n    {\r\n        /// <summary>\r\n        /// The root element\r\n        /// </summary>\r\n        Root,\r\n\r\n        /// <summary>\r\n        /// A paragraph element.\r\n        /// </summary>\r\n        Paragraph,\r\n\r\n        /// <summary>\r\n        /// A quote block\r\n        /// </summary>\r\n        Quote,\r\n\r\n        /// <summary>\r\n        /// A code block\r\n        /// </summary>\r\n        Code,\r\n\r\n        /// <summary>\r\n        /// A header block\r\n        /// </summary>\r\n        Header,\r\n\r\n        /// <summary>\r\n        /// A list block\r\n        /// </summary>\r\n        List,\r\n\r\n        /// <summary>\r\n        /// A list item block\r\n        /// </summary>\r\n        ListItemBuilder,\r\n\r\n        /// <summary>\r\n        /// a horizontal rule block\r\n        /// </summary>\r\n        HorizontalRule,\r\n\r\n        /// <summary>\r\n        /// A table block\r\n        /// </summary>\r\n        Table,\r\n\r\n        /// <summary>\r\n        /// A link block\r\n        /// </summary>\r\n        LinkReference,\r\n\r\n        /// <summary>\r\n        /// A Yaml header block\r\n        /// </summary>\r\n        YamlHeader\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Enums/MarkdownInlineType.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Enums\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// Determines the type of Inline the Inline Element is.\r\n    /// </summary>\r\n    public enum MarkdownInlineType\r\n    {\r\n        /// <summary>\r\n        /// A comment\r\n        /// </summary>\r\n        Comment,\r\n\r\n        /// <summary>\r\n        /// A text run\r\n        /// </summary>\r\n        TextRun,\r\n\r\n        /// <summary>\r\n        /// A bold run\r\n        /// </summary>\r\n        Bold,\r\n\r\n        /// <summary>\r\n        /// An italic run\r\n        /// </summary>\r\n        Italic,\r\n\r\n        /// <summary>\r\n        /// A link in markdown syntax\r\n        /// </summary>\r\n        MarkdownLink,\r\n\r\n        /// <summary>\r\n        /// A raw hyper link\r\n        /// </summary>\r\n        RawHyperlink,\r\n\r\n        /// <summary>\r\n        /// A raw subreddit link\r\n        /// </summary>\r\n        RawSubreddit,\r\n\r\n        /// <summary>\r\n        /// A strike through run\r\n        /// </summary>\r\n        Strikethrough,\r\n\r\n        /// <summary>\r\n        /// A superscript run\r\n        /// </summary>\r\n        Superscript,\r\n\r\n        /// <summary>\r\n        /// A subscript run\r\n        /// </summary>\r\n        Subscript,\r\n\r\n        /// <summary>\r\n        /// A code run\r\n        /// </summary>\r\n        Code,\r\n\r\n        /// <summary>\r\n        /// An image\r\n        /// </summary>\r\n        Image,\r\n\r\n        /// <summary>\r\n        /// Emoji\r\n        /// </summary>\r\n        Emoji,\r\n\r\n        /// <summary>\r\n        /// Link Reference\r\n        /// </summary>\r\n        LinkReference\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Helpers/Common.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Helpers\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Linq;\r\n\r\n    /// <summary>\r\n    /// Helpers for Markdown.\r\n    /// </summary>\r\n    internal class Common\r\n    {\r\n        private static readonly List<InlineTripCharHelper> _triggerList = new List<InlineTripCharHelper>();\r\n        private static readonly char[] _tripCharacters;\r\n\r\n        static Common()\r\n        {\r\n            BoldItalicTextInline.AddTripChars(_triggerList);\r\n            BoldTextInline.AddTripChars(_triggerList);\r\n            ItalicTextInline.AddTripChars(_triggerList);\r\n            MarkdownLinkInline.AddTripChars(_triggerList);\r\n            HyperlinkInline.AddTripChars(_triggerList);\r\n            CommentInline.AddTripChars(_triggerList);\r\n            StrikethroughTextInline.AddTripChars(_triggerList);\r\n            SuperscriptTextInline.AddTripChars(_triggerList);\r\n            SubscriptTextInline.AddTripChars(_triggerList);\r\n            CodeInline.AddTripChars(_triggerList);\r\n            ImageInline.AddTripChars(_triggerList);\r\n            EmojiInline.AddTripChars(_triggerList);\r\n            LinkAnchorInline.AddTripChars(_triggerList);\r\n\r\n            // Create an array of characters to search against using IndexOfAny.\r\n            _tripCharacters = _triggerList.Select(trigger => trigger.FirstChar).Distinct().ToArray();\r\n        }\r\n\r\n        /// <summary>\r\n        /// This function can be called by any element parsing. Given a start and stopping point this will\r\n        /// parse all found elements out of the range.\r\n        /// </summary>\r\n        /// <returns> A list of parsed inlines. </returns>\r\n        public static List<MarkdownInline> ParseInlineChildren(string markdown, int startingPos, int maxEndingPos, bool ignoreLinks = false)\r\n        {\r\n            int currentParsePosition = startingPos;\r\n\r\n            var inlines = new List<MarkdownInline>();\r\n            while (currentParsePosition < maxEndingPos)\r\n            {\r\n                // Find the next inline element.\r\n                var parseResult = FindNextInlineElement(markdown, currentParsePosition, maxEndingPos, ignoreLinks);\r\n\r\n                // If the element we found doesn't start at the position we are looking for there\r\n                // is text between the element and the start of the parsed element. We need to wrap\r\n                // it into a text run.\r\n                if (parseResult.Start != currentParsePosition)\r\n                {\r\n                    var textRun = TextRunInline.Parse(markdown, currentParsePosition, parseResult.Start);\r\n                    inlines.Add(textRun);\r\n                }\r\n\r\n                // Add the parsed element.\r\n                inlines.Add(parseResult.ParsedElement);\r\n\r\n                // Update the current position.\r\n                currentParsePosition = parseResult.End;\r\n            }\r\n\r\n            return inlines;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Finds the next inline element by matching trip chars and verifying the match.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text to parse. </param>\r\n        /// <param name=\"start\"> The position to start parsing. </param>\r\n        /// <param name=\"end\"> The position to stop parsing. </param>\r\n        /// <param name=\"ignoreLinks\"> Indicates whether to parse links. </param>\r\n        /// <returns>Returns the next element</returns>\r\n        private static InlineParseResult FindNextInlineElement(string markdown, int start, int end, bool ignoreLinks)\r\n        {\r\n            // Search for the next inline sequence.\r\n            for (int pos = start; pos < end; pos++)\r\n            {\r\n                // IndexOfAny should be the fastest way to skip characters we don't care about.\r\n                pos = markdown.IndexOfAny(_tripCharacters, pos, end - pos);\r\n                if (pos < 0)\r\n                {\r\n                    break;\r\n                }\r\n\r\n                // Find the trigger(s) that matched.\r\n                char currentChar = markdown[pos];\r\n                foreach (InlineTripCharHelper currentTripChar in _triggerList)\r\n                {\r\n                    // Check if our current char matches the suffix char.\r\n                    if (currentChar == currentTripChar.FirstChar)\r\n                    {\r\n                        // Don't match if the previous character was a backslash.\r\n                        if (pos > start && markdown[pos - 1] == '\\\\')\r\n                        {\r\n                            continue;\r\n                        }\r\n\r\n                        // If we are here we have a possible match. Call into the inline class to verify.\r\n                        InlineParseResult parseResult = null;\r\n                        switch (currentTripChar.Method)\r\n                        {\r\n                            case InlineParseMethod.BoldItalic:\r\n                                parseResult = BoldItalicTextInline.Parse(markdown, pos, end);\r\n                                break;\r\n\r\n                            case InlineParseMethod.Comment:\r\n                                parseResult = CommentInline.Parse(markdown, pos, end);\r\n                                break;\r\n\r\n                            case InlineParseMethod.LinkReference:\r\n                                parseResult = LinkAnchorInline.Parse(markdown, pos, end);\r\n                                break;\r\n\r\n                            case InlineParseMethod.Bold:\r\n                                parseResult = BoldTextInline.Parse(markdown, pos, end);\r\n                                break;\r\n\r\n                            case InlineParseMethod.Italic:\r\n                                parseResult = ItalicTextInline.Parse(markdown, pos, end);\r\n                                break;\r\n\r\n                            case InlineParseMethod.MarkdownLink:\r\n                                if (!ignoreLinks)\r\n                                {\r\n                                    parseResult = MarkdownLinkInline.Parse(markdown, pos, end);\r\n                                }\r\n\r\n                                break;\r\n\r\n                            case InlineParseMethod.AngleBracketLink:\r\n                                if (!ignoreLinks)\r\n                                {\r\n                                    parseResult = HyperlinkInline.ParseAngleBracketLink(markdown, pos, end);\r\n                                }\r\n\r\n                                break;\r\n\r\n                            case InlineParseMethod.Url:\r\n                                if (!ignoreLinks)\r\n                                {\r\n                                    parseResult = HyperlinkInline.ParseUrl(markdown, pos, end);\r\n                                }\r\n\r\n                                break;\r\n\r\n                            case InlineParseMethod.RedditLink:\r\n                                if (!ignoreLinks)\r\n                                {\r\n                                    parseResult = HyperlinkInline.ParseRedditLink(markdown, pos, end);\r\n                                }\r\n\r\n                                break;\r\n\r\n                            case InlineParseMethod.PartialLink:\r\n                                if (!ignoreLinks)\r\n                                {\r\n                                    parseResult = HyperlinkInline.ParsePartialLink(markdown, pos, end);\r\n                                }\r\n\r\n                                break;\r\n\r\n                            case InlineParseMethod.Email:\r\n                                if (!ignoreLinks)\r\n                                {\r\n                                    parseResult = HyperlinkInline.ParseEmailAddress(markdown, start, pos, end);\r\n                                }\r\n\r\n                                break;\r\n\r\n                            case InlineParseMethod.Strikethrough:\r\n                                parseResult = StrikethroughTextInline.Parse(markdown, pos, end);\r\n                                break;\r\n\r\n                            case InlineParseMethod.Superscript:\r\n                                parseResult = SuperscriptTextInline.Parse(markdown, pos, end);\r\n                                break;\r\n\r\n                            case InlineParseMethod.Subscript:\r\n                                parseResult = SubscriptTextInline.Parse(markdown, pos, end);\r\n                                break;\r\n\r\n                            case InlineParseMethod.Code:\r\n                                parseResult = CodeInline.Parse(markdown, pos, end);\r\n                                break;\r\n\r\n                            case InlineParseMethod.Image:\r\n                                parseResult = ImageInline.Parse(markdown, pos, end);\r\n                                break;\r\n\r\n                            case InlineParseMethod.Emoji:\r\n                                parseResult = EmojiInline.Parse(markdown, pos, end);\r\n                                break;\r\n                        }\r\n\r\n                        if (parseResult != null)\r\n                        {\r\n                            return parseResult;\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n\r\n            // If we didn't find any elements we have a normal text block.\r\n            // Let us consume the entire range.\r\n            return new InlineParseResult(TextRunInline.Parse(markdown, start, end), start, end);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Returns the next \\n or \\r\\n in the markdown.\r\n        /// </summary>\r\n        /// <returns>the next single line</returns>\r\n        public static int FindNextSingleNewLine(string markdown, int startingPos, int endingPos, out int startOfNextLine)\r\n        {\r\n            // A line can end with CRLF (\\r\\n) or just LF (\\n).\r\n            int lineFeedPos = markdown.IndexOf('\\n', startingPos);\r\n            if (lineFeedPos == -1)\r\n            {\r\n                // Trying with /r now\r\n                lineFeedPos = markdown.IndexOf('\\r', startingPos);\r\n                if (lineFeedPos == -1)\r\n                {\r\n                    startOfNextLine = endingPos;\r\n                    return endingPos;\r\n                }\r\n            }\r\n\r\n            startOfNextLine = lineFeedPos + 1;\r\n\r\n            // Check if it was a CRLF.\r\n            if (lineFeedPos > startingPos && markdown[lineFeedPos - 1] == '\\r')\r\n            {\r\n                return lineFeedPos - 1;\r\n            }\r\n\r\n            return lineFeedPos;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Helper function for index of with a start and an ending.\r\n        /// </summary>\r\n        /// <returns>Pos of the searched for item</returns>\r\n        public static int IndexOf(string markdown, string search, int startingPos, int endingPos, bool reverseSearch = false)\r\n        {\r\n            // Check the ending isn't out of bounds.\r\n            if (endingPos > markdown.Length)\r\n            {\r\n                endingPos = markdown.Length;\r\n                DebuggingReporter.ReportCriticalError(\"IndexOf endingPos > string length\");\r\n            }\r\n\r\n            // Figure out how long to go\r\n            int count = endingPos - startingPos;\r\n            if (count < 0)\r\n            {\r\n                return -1;\r\n            }\r\n\r\n            // Make sure we don't go too far.\r\n            int remainingCount = markdown.Length - startingPos;\r\n            if (count > remainingCount)\r\n            {\r\n                DebuggingReporter.ReportCriticalError(\"IndexOf count > remaing count\");\r\n                count = remainingCount;\r\n            }\r\n\r\n            // Check the ending. Since we use inclusive ranges we need to -1 from this for\r\n            // reverses searches.\r\n            if (reverseSearch && endingPos > 0)\r\n            {\r\n                endingPos -= 1;\r\n            }\r\n\r\n            return reverseSearch ? markdown.LastIndexOf(search, endingPos, count, StringComparison.OrdinalIgnoreCase) : markdown.IndexOf(search, startingPos, count, StringComparison.OrdinalIgnoreCase);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Helper function for index of with a start and an ending.\r\n        /// </summary>\r\n        /// <returns>Pos of the searched for item</returns>\r\n        public static int IndexOf(string markdown, char search, int startingPos, int endingPos, bool reverseSearch = false)\r\n        {\r\n            // Check the ending isn't out of bounds.\r\n            if (endingPos > markdown.Length)\r\n            {\r\n                endingPos = markdown.Length;\r\n                DebuggingReporter.ReportCriticalError(\"IndexOf endingPos > string length\");\r\n            }\r\n\r\n            // Figure out how long to go\r\n            int count = endingPos - startingPos;\r\n            if (count < 0)\r\n            {\r\n                return -1;\r\n            }\r\n\r\n            // Make sure we don't go too far.\r\n            int remainingCount = markdown.Length - startingPos;\r\n            if (count > remainingCount)\r\n            {\r\n                DebuggingReporter.ReportCriticalError(\"IndexOf count > remaing count\");\r\n                count = remainingCount;\r\n            }\r\n\r\n            // Check the ending. Since we use inclusive ranges we need to -1 from this for\r\n            // reverses searches.\r\n            if (reverseSearch && endingPos > 0)\r\n            {\r\n                endingPos -= 1;\r\n            }\r\n\r\n            return reverseSearch ? markdown.LastIndexOf(search, endingPos, count) : markdown.IndexOf(search, startingPos, count);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Finds the next whitespace in a range.\r\n        /// </summary>\r\n        /// <returns>pos of the white space</returns>\r\n        public static int FindNextWhiteSpace(string markdown, int startingPos, int endingPos, bool ifNotFoundReturnLength)\r\n        {\r\n            int currentPos = startingPos;\r\n            while (currentPos < markdown.Length && currentPos < endingPos)\r\n            {\r\n                if (char.IsWhiteSpace(markdown[currentPos]))\r\n                {\r\n                    return currentPos;\r\n                }\r\n\r\n                currentPos++;\r\n            }\r\n\r\n            return ifNotFoundReturnLength ? endingPos : -1;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Parses lines.\r\n        /// </summary>\r\n        /// <returns>LineInfo</returns>\r\n        public static IEnumerable<LineInfo> ParseLines(string markdown, int start, int end, int quoteDepth)\r\n        {\r\n            int pos = start;\r\n            bool lineStartsNewParagraph = true;\r\n\r\n            while (pos < end)\r\n            {\r\n                int startOfLine = pos;\r\n                int expectedQuotesRemaining = quoteDepth;\r\n                int nonSpacePos = pos;\r\n                char nonSpaceChar = '\\0';\r\n                while (true)\r\n                {\r\n                    // Find the next non-space char.\r\n                    while (nonSpacePos < end)\r\n                    {\r\n                        char c = markdown[nonSpacePos];\r\n                        if (c == '\\r' || c == '\\n')\r\n                        {\r\n                            // The line is either entirely whitespace, or is empty.\r\n                            break;\r\n                        }\r\n\r\n                        if (c != ' ' && c != '\\t')\r\n                        {\r\n                            // The line has content.\r\n                            nonSpaceChar = c;\r\n                            break;\r\n                        }\r\n\r\n                        nonSpacePos++;\r\n                    }\r\n\r\n                    // When parsing blocks in a blockquote context, we need to count the number of\r\n                    // quote characters ('>').  If there are less than expected AND this is the\r\n                    // start of a new paragraph, then stop parsing.\r\n                    if (expectedQuotesRemaining == 0)\r\n                    {\r\n                        break;\r\n                    }\r\n\r\n                    if (nonSpaceChar == '>')\r\n                    {\r\n                        // Expected block quote characters should be ignored.\r\n                        expectedQuotesRemaining--;\r\n                        nonSpacePos++;\r\n                        nonSpaceChar = '\\0';\r\n                        startOfLine = nonSpacePos;\r\n\r\n                        // Ignore the first space after the quote character, if there is one.\r\n                        if (startOfLine < end && markdown[startOfLine] == ' ')\r\n                        {\r\n                            startOfLine++;\r\n                            nonSpacePos++;\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        // There were less block quote characters than expected.\r\n                        // But it doesn't matter if this is not the start of a new paragraph.\r\n                        if (!lineStartsNewParagraph || nonSpaceChar == '\\0')\r\n                        {\r\n                            break;\r\n                        }\r\n\r\n                        // This must be the end of the blockquote.  End the current paragraph, if any.\r\n                        yield break;\r\n                    }\r\n                }\r\n\r\n                // Find the end of the current line.\r\n                int endOfLine = FindNextSingleNewLine(markdown, nonSpacePos, end, out int startOfNextLine);\r\n\r\n                // Return the line info to the caller.\r\n                yield return new LineInfo\r\n                {\r\n                    StartOfLine = startOfLine,\r\n                    FirstNonWhitespaceChar = nonSpacePos,\r\n                    EndOfLine = endOfLine,\r\n                    StartOfNextLine = startOfNextLine,\r\n                };\r\n\r\n                if (nonSpaceChar == '\\0')\r\n                {\r\n                    // The line is empty or nothing but whitespace.\r\n                    lineStartsNewParagraph = true;\r\n                }\r\n\r\n                // Repeat.\r\n                pos = startOfNextLine;\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Skips a certain number of quote characters (>).\r\n        /// </summary>\r\n        /// <returns>Skip Quote Chars</returns>\r\n        public static int SkipQuoteCharacters(string markdown, int start, int end, int quoteDepth)\r\n        {\r\n            if (quoteDepth == 0)\r\n            {\r\n                return start;\r\n            }\r\n\r\n            int startOfLine = start;\r\n            int nonSpacePos = start;\r\n            char nonSpaceChar = '\\0';\r\n\r\n            while (true)\r\n            {\r\n                // Find the next non-space char.\r\n                while (nonSpacePos < end)\r\n                {\r\n                    char c = markdown[nonSpacePos];\r\n                    if (c == '\\r' || c == '\\n')\r\n                    {\r\n                        // The line is either entirely whitespace, or is empty.\r\n                        break;\r\n                    }\r\n\r\n                    if (c != ' ' && c != '\\t')\r\n                    {\r\n                        // The line has content.\r\n                        nonSpaceChar = c;\r\n                        break;\r\n                    }\r\n\r\n                    nonSpacePos++;\r\n                }\r\n\r\n                // When parsing blocks in a blockquote context, we need to count the number of\r\n                // quote characters ('>').  If there are less than expected AND this is the\r\n                // start of a new paragraph, then stop parsing.\r\n                if (quoteDepth == 0)\r\n                {\r\n                    break;\r\n                }\r\n\r\n                if (nonSpaceChar == '>')\r\n                {\r\n                    // Expected block quote characters should be ignored.\r\n                    quoteDepth--;\r\n                    nonSpacePos++;\r\n                    nonSpaceChar = '\\0';\r\n                    startOfLine = nonSpacePos;\r\n\r\n                    // Ignore the first space after the quote character, if there is one.\r\n                    if (startOfLine < end && markdown[startOfLine] == ' ')\r\n                    {\r\n                        startOfLine++;\r\n                        nonSpacePos++;\r\n                    }\r\n                }\r\n                else\r\n                {\r\n                    // There were less block quote characters than expected.\r\n                    break;\r\n                }\r\n            }\r\n\r\n            return startOfLine;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Checks if the given URL is allowed in a markdown link.\r\n        /// </summary>\r\n        /// <param name=\"url\"> The URL to check. </param>\r\n        /// <returns> <c>true</c> if the URL is valid; <c>false</c> otherwise. </returns>\r\n        public static bool IsUrlValid(string url)\r\n        {\r\n            // URLs can be relative.\r\n            if (!Uri.TryCreate(url, UriKind.Absolute, out Uri result))\r\n            {\r\n                return true;\r\n            }\r\n\r\n            // Check the scheme is allowed.\r\n            foreach (var scheme in MarkdownDocument.KnownSchemes)\r\n            {\r\n                if (result.Scheme.Equals(scheme, StringComparison.Ordinal))\r\n                {\r\n                    return true;\r\n                }\r\n            }\r\n\r\n            return false;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Helpers/DebuggingReporter.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Helpers\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Diagnostics;\r\n\r\n    /// <summary>\r\n    /// Reports an error during debugging.\r\n    /// </summary>\r\n    internal class DebuggingReporter\r\n    {\r\n        /// <summary>\r\n        /// Reports a critical error.\r\n        /// </summary>\r\n        public static void ReportCriticalError(string errorText)\r\n        {\r\n            Debug.WriteLine(errorText);\r\n            if (Debugger.IsAttached)\r\n            {\r\n                Debugger.Break();\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Helpers/InlineParseResult.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Helpers\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// Represents the result of parsing an inline element.\r\n    /// </summary>\r\n    internal class InlineParseResult\r\n    {\r\n        public InlineParseResult(MarkdownInline parsedElement, int start, int end)\r\n        {\r\n            ParsedElement = parsedElement;\r\n            Start = start;\r\n            End = end;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets the element that was parsed (can be <c>null</c>).\r\n        /// </summary>\r\n        public MarkdownInline ParsedElement { get; }\r\n\r\n        /// <summary>\r\n        /// Gets the position of the first character in the parsed element.\r\n        /// </summary>\r\n        public int Start { get; }\r\n\r\n        /// <summary>\r\n        /// Gets the position of the character after the last character in the parsed element.\r\n        /// </summary>\r\n        public int End { get; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Helpers/InlineTripCharHelper.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Helpers\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// A helper class for the trip chars. This is an optimization. If we ask each class to go\r\n    /// through the rage and look for itself we end up looping through the range n times, once\r\n    /// for each inline. This class represent a character that an inline needs to have a\r\n    /// possible match. We will go through the range once and look for everyone's trip chars,\r\n    /// and if they can make a match from the trip char then we will commit to them.\r\n    /// </summary>\r\n    internal class InlineTripCharHelper\r\n    {\r\n        // Note! Everything in first char and suffix should be lower case!\r\n        public char FirstChar { get; set; }\r\n\r\n        public InlineParseMethod Method { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Helpers/LineInfo.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Helpers\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    internal class LineInfo\r\n    {\r\n        public int StartOfLine { get; set; }\r\n\r\n        public int FirstNonWhitespaceChar { get; set; }\r\n\r\n        public int EndOfLine { get; set; }\r\n\r\n        public bool IsLineBlank => FirstNonWhitespaceChar == EndOfLine;\r\n\r\n        public int StartOfNextLine { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/BoldItalicTextInline.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Inlines\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Represents a span containing bold italic text.\r\n    /// </summary>\r\n    internal class BoldItalicTextInline : MarkdownInline, IInlineContainer\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"BoldItalicTextInline\"/> class.\r\n        /// </summary>\r\n        public BoldItalicTextInline()\r\n            : base(MarkdownInlineType.Bold)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the contents of the inline.\r\n        /// </summary>\r\n        public IList<MarkdownInline> Inlines { get; set; }\r\n\r\n        /// <summary>\r\n        /// Returns the chars that if found means we might have a match.\r\n        /// </summary>\r\n        internal static void AddTripChars(List<InlineTripCharHelper> tripCharHelpers)\r\n        {\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '*', Method = InlineParseMethod.BoldItalic });\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '_', Method = InlineParseMethod.BoldItalic });\r\n        }\r\n\r\n        /// <summary>\r\n        /// Attempts to parse a bold text span.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start parsing. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed bold text span, or <c>null</c> if this is not a bold text span. </returns>\r\n        internal static InlineParseResult Parse(string markdown, int start, int maxEnd)\r\n        {\r\n            if (start >= maxEnd - 1)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            if (markdown == null || markdown.Length < 6 || start + 6 >= maxEnd)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Check the start sequence.\r\n            string startSequence = markdown.Substring(start, 3);\r\n            if (startSequence != \"***\" && startSequence != \"___\")\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Find the end of the span.  The end sequence (either '***' or '___') must be the same\r\n            // as the start sequence.\r\n            var innerStart = start + 3;\r\n            int innerEnd = Common.IndexOf(markdown, startSequence, innerStart, maxEnd);\r\n            if (innerEnd == -1)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The span must contain at least one character.\r\n            if (innerStart == innerEnd)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The first character inside the span must NOT be a space.\r\n            if (ParseHelpers.IsMarkdownWhiteSpace(markdown[innerStart]))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The last character inside the span must NOT be a space.\r\n            if (ParseHelpers.IsMarkdownWhiteSpace(markdown[innerEnd - 1]))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // We found something!\r\n            var bold = new BoldTextInline\r\n            {\r\n                Inlines = new List<MarkdownInline>\r\n                {\r\n                    new ItalicTextInline\r\n                    {\r\n                        Inlines = Common.ParseInlineChildren(markdown, innerStart, innerEnd)\r\n                    }\r\n                }\r\n            };\r\n            return new InlineParseResult(bold, start, innerEnd + 3);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            if (Inlines == null)\r\n            {\r\n                return base.ToString();\r\n            }\r\n\r\n            return \"***\" + string.Join(string.Empty, Inlines) + \"***\";\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/BoldTextInline.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Inlines\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Represents a span that contains bold text.\r\n    /// </summary>\r\n    public class BoldTextInline : MarkdownInline, IInlineContainer\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"BoldTextInline\"/> class.\r\n        /// </summary>\r\n        public BoldTextInline()\r\n            : base(MarkdownInlineType.Bold)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the contents of the inline.\r\n        /// </summary>\r\n        public IList<MarkdownInline> Inlines { get; set; }\r\n\r\n        /// <summary>\r\n        /// Returns the chars that if found means we might have a match.\r\n        /// </summary>\r\n        internal static void AddTripChars(List<InlineTripCharHelper> tripCharHelpers)\r\n        {\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '*', Method = InlineParseMethod.Bold });\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '_', Method = InlineParseMethod.Bold });\r\n        }\r\n\r\n        /// <summary>\r\n        /// Attempts to parse a bold text span.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start parsing. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed bold text span, or <c>null</c> if this is not a bold text span. </returns>\r\n        internal static InlineParseResult Parse(string markdown, int start, int maxEnd)\r\n        {\r\n            if (start >= maxEnd - 1)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Check the start sequence.\r\n            string startSequence = markdown.Substring(start, 2);\r\n            if (startSequence != \"**\" && startSequence != \"__\")\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Find the end of the span.  The end sequence (either '**' or '__') must be the same\r\n            // as the start sequence.\r\n            var innerStart = start + 2;\r\n            int innerEnd = Common.IndexOf(markdown, startSequence, innerStart, maxEnd);\r\n            if (innerEnd == -1)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The span must contain at least one character.\r\n            if (innerStart == innerEnd)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The first character inside the span must NOT be a space.\r\n            if (ParseHelpers.IsMarkdownWhiteSpace(markdown[innerStart]))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The last character inside the span must NOT be a space.\r\n            if (ParseHelpers.IsMarkdownWhiteSpace(markdown[innerEnd - 1]))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // We found something!\r\n            var result = new BoldTextInline\r\n            {\r\n                Inlines = Common.ParseInlineChildren(markdown, innerStart, innerEnd)\r\n            };\r\n            return new InlineParseResult(result, start, innerEnd + 2);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            if (Inlines == null)\r\n            {\r\n                return base.ToString();\r\n            }\r\n\r\n            return \"**\" + string.Join(string.Empty, Inlines) + \"**\";\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/CodeInline.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Inlines\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Represents a span containing code, or other text that is to be displayed using a\r\n    /// fixed-width font.\r\n    /// </summary>\r\n    public class CodeInline : MarkdownInline, IInlineLeaf\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"CodeInline\"/> class.\r\n        /// </summary>\r\n        public CodeInline()\r\n            : base(MarkdownInlineType.Code)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the text to display as code.\r\n        /// </summary>\r\n        public string Text { get; set; }\r\n\r\n        /// <summary>\r\n        /// Returns the chars that if found means we might have a match.\r\n        /// </summary>\r\n        internal static void AddTripChars(List<InlineTripCharHelper> tripCharHelpers)\r\n        {\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '`', Method = InlineParseMethod.Code });\r\n        }\r\n\r\n        /// <summary>\r\n        /// Attempts to parse an inline code span.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start parsing. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed inline code span, or <c>null</c> if this is not an inline code span. </returns>\r\n        internal static InlineParseResult Parse(string markdown, int start, int maxEnd)\r\n        {\r\n            // Check the first char.\r\n            if (start == maxEnd || markdown[start] != '`')\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // There is an alternate syntax that starts and ends with two backticks.\r\n            // e.g. ``sdf`sdf`` would be \"sdf`sdf\".\r\n            int innerStart = start + 1;\r\n            int innerEnd, end;\r\n            if (innerStart < maxEnd && markdown[innerStart] == '`')\r\n            {\r\n                // Alternate double back-tick syntax.\r\n                innerStart++;\r\n\r\n                // Find the end of the span.\r\n                innerEnd = Common.IndexOf(markdown, \"``\", innerStart, maxEnd);\r\n                if (innerEnd == -1)\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                end = innerEnd + 2;\r\n            }\r\n            else\r\n            {\r\n                // Standard single backtick syntax.\r\n\r\n                // Find the end of the span.\r\n                innerEnd = Common.IndexOf(markdown, '`', innerStart, maxEnd);\r\n                if (innerEnd == -1)\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                end = innerEnd + 1;\r\n            }\r\n\r\n            // The span must contain at least one character.\r\n            if (innerStart == innerEnd)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // We found something!\r\n            var result = new CodeInline\r\n            {\r\n                Text = markdown.Substring(innerStart, innerEnd - innerStart).Trim(' ', '\\t', '\\r', '\\n')\r\n            };\r\n            return new InlineParseResult(result, start, end);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            if (Text == null)\r\n            {\r\n                return base.ToString();\r\n            }\r\n\r\n            return \"`\" + Text + \"`\";\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/CommentInline.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Inlines\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Represents a span that contains comment.\r\n    /// </summary>\r\n    internal class CommentInline : MarkdownInline, IInlineLeaf\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"CommentInline\"/> class.\r\n        /// </summary>\r\n        public CommentInline()\r\n            : base(MarkdownInlineType.Comment)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the Content of the Comment.\r\n        /// </summary>\r\n        public string Text { get; set; }\r\n\r\n        /// <summary>\r\n        /// Returns the chars that if found means we might have a match.\r\n        /// </summary>\r\n        internal static void AddTripChars(List<InlineTripCharHelper> tripCharHelpers)\r\n        {\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '<', Method = InlineParseMethod.Comment });\r\n        }\r\n\r\n        /// <summary>\r\n        /// Attempts to parse a comment span.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start parsing. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed bold text span, or <c>null</c> if this is not a bold text span. </returns>\r\n        internal static InlineParseResult Parse(string markdown, int start, int maxEnd)\r\n        {\r\n            if (start >= maxEnd - 1)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            string startSequence = markdown.Substring(start);\r\n            if (!startSequence.StartsWith(\"<!--\", StringComparison.Ordinal))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Find the end of the span.  The end sequence ('-->')\r\n            var innerStart = start + 4;\r\n            int innerEnd = Common.IndexOf(markdown, \"-->\", innerStart, maxEnd);\r\n            if (innerEnd == -1)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            var length = innerEnd - innerStart;\r\n            var contents = markdown.Substring(innerStart, length);\r\n\r\n            var result = new CommentInline\r\n            {\r\n                Text = contents\r\n            };\r\n\r\n            return new InlineParseResult(result, start, innerEnd + 3);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            return \"<!--\" + Text + \"-->\";\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/EmojiInline.EmojiCodes.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Inlines\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Represents a span containing emoji symbol.\r\n    /// </summary>\r\n    public partial class EmojiInline\r\n    {\r\n        // Codes taken from https://gist.github.com/rxaviers/7360908\r\n        // Ignoring not implented symbols in Segoe UI Emoji font (e.g. :bowtie:)\r\n        private static readonly Dictionary<string, int> _emojiCodesDictionary = new Dictionary<string, int>\r\n        {\r\n            { \"smile\", 0x1f604 },\r\n            { \"laughing\", 0x1f606 },\r\n            { \"blush\", 0x1f60a },\r\n            { \"smiley\", 0x1f603 },\r\n            { \"relaxed\", 0x263a },\r\n            { \"smirk\", 0x1f60f },\r\n            { \"heart_eyes\", 0x1f60d },\r\n            { \"kissing_heart\", 0x1f618 },\r\n            { \"kissing_closed_eyes\", 0x1f61a },\r\n            { \"flushed\", 0x1f633 },\r\n            { \"relieved\", 0x1f60c },\r\n            { \"satisfied\", 0x1f606 },\r\n            { \"grin\", 0x1f601 },\r\n            { \"wink\", 0x1f609 },\r\n            { \"stuck_out_tongue_winking_eye\", 0x1f61c },\r\n            { \"stuck_out_tongue_closed_eyes\", 0x1f61d },\r\n            { \"grinning\", 0x1f600 },\r\n            { \"kissing\", 0x1f617 },\r\n            { \"kissing_smiling_eyes\", 0x1f619 },\r\n            { \"stuck_out_tongue\", 0x1f61b },\r\n            { \"sleeping\", 0x1f634 },\r\n            { \"worried\", 0x1f61f },\r\n            { \"frowning\", 0x1f626 },\r\n            { \"anguished\", 0x1f627 },\r\n            { \"open_mouth\", 0x1f62e },\r\n            { \"grimacing\", 0x1f62c },\r\n            { \"confused\", 0x1f615 },\r\n            { \"hushed\", 0x1f62f },\r\n            { \"expressionless\", 0x1f611 },\r\n            { \"unamused\", 0x1f612 },\r\n            { \"sweat_smile\", 0x1f605 },\r\n            { \"sweat\", 0x1f613 },\r\n            { \"disappointed_relieved\", 0x1f625 },\r\n            { \"weary\", 0x1f629 },\r\n            { \"pensive\", 0x1f614 },\r\n            { \"disappointed\", 0x1f61e },\r\n            { \"confounded\", 0x1f616 },\r\n            { \"fearful\", 0x1f628 },\r\n            { \"cold_sweat\", 0x1f630 },\r\n            { \"persevere\", 0x1f623 },\r\n            { \"cry\", 0x1f622 },\r\n            { \"sob\", 0x1f62d },\r\n            { \"joy\", 0x1f602 },\r\n            { \"astonished\", 0x1f632 },\r\n            { \"scream\", 0x1f631 },\r\n            { \"tired_face\", 0x1f62b },\r\n            { \"angry\", 0x1f620 },\r\n            { \"rage\", 0x1f621 },\r\n            { \"triumph\", 0x1f624 },\r\n            { \"sleepy\", 0x1f62a },\r\n            { \"yum\", 0x1f60b },\r\n            { \"mask\", 0x1f637 },\r\n            { \"sunglasses\", 0x1f60e },\r\n            { \"dizzy_face\", 0x1f635 },\r\n            { \"imp\", 0x1f47f },\r\n            { \"smiling_imp\", 0x1f608 },\r\n            { \"neutral_face\", 0x1f610 },\r\n            { \"no_mouth\", 0x1f636 },\r\n            { \"innocent\", 0x1f607 },\r\n            { \"alien\", 0x1f47d },\r\n            { \"yellow_heart\", 0x1f49b },\r\n            { \"blue_heart\", 0x1f499 },\r\n            { \"purple_heart\", 0x1f49c },\r\n            { \"heart\", 0x2764 },\r\n            { \"green_heart\", 0x1f49a },\r\n            { \"broken_heart\", 0x1f494 },\r\n            { \"heartbeat\", 0x1f493 },\r\n            { \"heartpulse\", 0x1f497 },\r\n            { \"two_hearts\", 0x1f495 },\r\n            { \"revolving_hearts\", 0x1f49e },\r\n            { \"cupid\", 0x1f498 },\r\n            { \"sparkling_heart\", 0x1f496 },\r\n            { \"sparkles\", 0x2728 },\r\n            { \"star\", 0x2b50 },\r\n            { \"star2\", 0x1f31f },\r\n            { \"dizzy\", 0x1f4ab },\r\n            { \"boom\", 0x1f4a5 },\r\n            { \"collision\", 0x1f4a5 },\r\n            { \"anger\", 0x1f4a2 },\r\n            { \"exclamation\", 0x2757 },\r\n            { \"question\", 0x2753 },\r\n            { \"grey_exclamation\", 0x2755 },\r\n            { \"grey_question\", 0x2754 },\r\n            { \"zzz\", 0x1f4a4 },\r\n            { \"dash\", 0x1f4a8 },\r\n            { \"sweat_drops\", 0x1f4a6 },\r\n            { \"notes\", 0x1f3b6 },\r\n            { \"musical_note\", 0x1f3b5 },\r\n            { \"fire\", 0x1f525 },\r\n            { \"hankey\", 0x1f4a9 },\r\n            { \"poop\", 0x1f4a9 },\r\n            { \"+1\", 0x1f44d },\r\n            { \"thumbsup\", 0x1f44d },\r\n            { \"-1\", 0x1f44e },\r\n            { \"thumbsdown\", 0x1f44e },\r\n            { \"ok_hand\", 0x1f44c },\r\n            { \"punch\", 0x1f44a },\r\n            { \"facepunch\", 0x1f44a },\r\n            { \"fist\", 0x270a },\r\n            { \"v\", 0x270c },\r\n            { \"wave\", 0x1f44b },\r\n            { \"hand\", 0x270b },\r\n            { \"raised_hand\", 0x270b },\r\n            { \"open_hands\", 0x1f450 },\r\n            { \"point_up\", 0x261d },\r\n            { \"point_down\", 0x1f447 },\r\n            { \"point_left\", 0x1f448 },\r\n            { \"point_right\", 0x1f449 },\r\n            { \"raised_hands\", 0x1f64c },\r\n            { \"pray\", 0x1f64f },\r\n            { \"point_up_2\", 0x1f446 },\r\n            { \"clap\", 0x1f44f },\r\n            { \"muscle\", 0x1f4aa },\r\n            { \"metal\", 0x1f918 },\r\n            { \"walking\", 0x1f6b6 },\r\n            { \"runner\", 0x1f3c3 },\r\n            { \"running\", 0x1f3c3 },\r\n            { \"couple\", 0x1f46b },\r\n            { \"family\", 0x1f46a },\r\n            { \"two_men_holding_hands\", 0x1f46c },\r\n            { \"two_women_holding_hands\", 0x1f46d },\r\n            { \"dancer\", 0x1f483 },\r\n            { \"dancers\", 0x1f46f },\r\n            { \"ok_woman\", 0x1f646 },\r\n            { \"no_good\", 0x1f645 },\r\n            { \"information_desk_person\", 0x1f481 },\r\n            { \"raising_hand\", 0x1f64b },\r\n            { \"bride_with_veil\", 0x1f470 },\r\n            { \"person_with_pouting_face\", 0x1f64e },\r\n            { \"person_frowning\", 0x1f64d },\r\n            { \"bow\", 0x1f647 },\r\n            { \"couple_with_heart\", 0x1f491 },\r\n            { \"massage\", 0x1f486 },\r\n            { \"haircut\", 0x1f487 },\r\n            { \"nail_care\", 0x1f485 },\r\n            { \"boy\", 0x1f466 },\r\n            { \"girl\", 0x1f467 },\r\n            { \"woman\", 0x1f469 },\r\n            { \"man\", 0x1f468 },\r\n            { \"baby\", 0x1f476 },\r\n            { \"older_woman\", 0x1f475 },\r\n            { \"older_man\", 0x1f474 },\r\n            { \"person_with_blond_hair\", 0x1f471 },\r\n            { \"man_with_gua_pi_mao\", 0x1f472 },\r\n            { \"man_with_turban\", 0x1f473 },\r\n            { \"construction_worker\", 0x1f477 },\r\n            { \"cop\", 0x1f46e },\r\n            { \"angel\", 0x1f47c },\r\n            { \"princess\", 0x1f478 },\r\n            { \"smiley_cat\", 0x1f63a },\r\n            { \"smile_cat\", 0x1f638 },\r\n            { \"heart_eyes_cat\", 0x1f63b },\r\n            { \"kissing_cat\", 0x1f63d },\r\n            { \"smirk_cat\", 0x1f63c },\r\n            { \"scream_cat\", 0x1f640 },\r\n            { \"crying_cat_face\", 0x1f63f },\r\n            { \"joy_cat\", 0x1f639 },\r\n            { \"pouting_cat\", 0x1f63e },\r\n            { \"japanese_ogre\", 0x1f479 },\r\n            { \"japanese_goblin\", 0x1f47a },\r\n            { \"see_no_evil\", 0x1f648 },\r\n            { \"hear_no_evil\", 0x1f649 },\r\n            { \"speak_no_evil\", 0x1f64a },\r\n            { \"guardsman\", 0x1f482 },\r\n            { \"skull\", 0x1f480 },\r\n            { \"feet\", 0x1f43e },\r\n            { \"lips\", 0x1f444 },\r\n            { \"kiss\", 0x1f48b },\r\n            { \"droplet\", 0x1f4a7 },\r\n            { \"ear\", 0x1f442 },\r\n            { \"eyes\", 0x1f440 },\r\n            { \"nose\", 0x1f443 },\r\n            { \"tongue\", 0x1f445 },\r\n            { \"love_letter\", 0x1f48c },\r\n            { \"bust_in_silhouette\", 0x1f464 },\r\n            { \"busts_in_silhouette\", 0x1f465 },\r\n            { \"speech_balloon\", 0x1f4ac },\r\n            { \"thought_balloon\", 0x1f4ad },\r\n            { \"sunny\", 0x2600 },\r\n            { \"umbrella\", 0x2614 },\r\n            { \"cloud\", 0x2601 },\r\n            { \"snowflake\", 0x2744 },\r\n            { \"snowman\", 0x26c4 },\r\n            { \"zap\", 0x26a1 },\r\n            { \"cyclone\", 0x1f300 },\r\n            { \"foggy\", 0x1f301 },\r\n            { \"ocean\", 0x1f30a },\r\n            { \"cat\", 0x1f431 },\r\n            { \"dog\", 0x1f436 },\r\n            { \"mouse\", 0x1f42d },\r\n            { \"hamster\", 0x1f439 },\r\n            { \"rabbit\", 0x1f430 },\r\n            { \"wolf\", 0x1f43a },\r\n            { \"frog\", 0x1f438 },\r\n            { \"tiger\", 0x1f42f },\r\n            { \"koala\", 0x1f428 },\r\n            { \"bear\", 0x1f43b },\r\n            { \"pig\", 0x1f437 },\r\n            { \"pig_nose\", 0x1f43d },\r\n            { \"cow\", 0x1f42e },\r\n            { \"boar\", 0x1f417 },\r\n            { \"monkey_face\", 0x1f435 },\r\n            { \"monkey\", 0x1f412 },\r\n            { \"horse\", 0x1f434 },\r\n            { \"racehorse\", 0x1f40e },\r\n            { \"camel\", 0x1f42b },\r\n            { \"sheep\", 0x1f411 },\r\n            { \"elephant\", 0x1f418 },\r\n            { \"panda_face\", 0x1f43c },\r\n            { \"snake\", 0x1f40d },\r\n            { \"bird\", 0x1f426 },\r\n            { \"baby_chick\", 0x1f424 },\r\n            { \"hatched_chick\", 0x1f425 },\r\n            { \"hatching_chick\", 0x1f423 },\r\n            { \"chicken\", 0x1f414 },\r\n            { \"penguin\", 0x1f427 },\r\n            { \"turtle\", 0x1f422 },\r\n            { \"bug\", 0x1f41b },\r\n            { \"honeybee\", 0x1f41d },\r\n            { \"ant\", 0x1f41c },\r\n            { \"beetle\", 0x1f41e },\r\n            { \"snail\", 0x1f40c },\r\n            { \"octopus\", 0x1f419 },\r\n            { \"tropical_fish\", 0x1f420 },\r\n            { \"fish\", 0x1f41f },\r\n            { \"whale\", 0x1f433 },\r\n            { \"whale2\", 0x1f40b },\r\n            { \"dolphin\", 0x1f42c },\r\n            { \"cow2\", 0x1f404 },\r\n            { \"ram\", 0x1f40f },\r\n            { \"rat\", 0x1f400 },\r\n            { \"water_buffalo\", 0x1f403 },\r\n            { \"tiger2\", 0x1f405 },\r\n            { \"rabbit2\", 0x1f407 },\r\n            { \"dragon\", 0x1f409 },\r\n            { \"goat\", 0x1f410 },\r\n            { \"rooster\", 0x1f413 },\r\n            { \"dog2\", 0x1f415 },\r\n            { \"pig2\", 0x1f416 },\r\n            { \"mouse2\", 0x1f401 },\r\n            { \"ox\", 0x1f402 },\r\n            { \"dragon_face\", 0x1f432 },\r\n            { \"blowfish\", 0x1f421 },\r\n            { \"crocodile\", 0x1f40a },\r\n            { \"dromedary_camel\", 0x1f42a },\r\n            { \"leopard\", 0x1f406 },\r\n            { \"cat2\", 0x1f408 },\r\n            { \"poodle\", 0x1f429 },\r\n            { \"paw_prints\", 0x1f43e },\r\n            { \"bouquet\", 0x1f490 },\r\n            { \"cherry_blossom\", 0x1f338 },\r\n            { \"tulip\", 0x1f337 },\r\n            { \"four_leaf_clover\", 0x1f340 },\r\n            { \"rose\", 0x1f339 },\r\n            { \"sunflower\", 0x1f33b },\r\n            { \"hibiscus\", 0x1f33a },\r\n            { \"maple_leaf\", 0x1f341 },\r\n            { \"leaves\", 0x1f343 },\r\n            { \"fallen_leaf\", 0x1f342 },\r\n            { \"herb\", 0x1f33f },\r\n            { \"mushroom\", 0x1f344 },\r\n            { \"cactus\", 0x1f335 },\r\n            { \"palm_tree\", 0x1f334 },\r\n            { \"evergreen_tree\", 0x1f332 },\r\n            { \"deciduous_tree\", 0x1f333 },\r\n            { \"chestnut\", 0x1f330 },\r\n            { \"seedling\", 0x1f331 },\r\n            { \"blossom\", 0x1f33c },\r\n            { \"ear_of_rice\", 0x1f33e },\r\n            { \"shell\", 0x1f41a },\r\n            { \"globe_with_meridians\", 0x1f310 },\r\n            { \"sun_with_face\", 0x1f31e },\r\n            { \"full_moon_with_face\", 0x1f31d },\r\n            { \"new_moon_with_face\", 0x1f31a },\r\n            { \"new_moon\", 0x1f311 },\r\n            { \"waxing_crescent_moon\", 0x1f312 },\r\n            { \"first_quarter_moon\", 0x1f313 },\r\n            { \"waxing_gibbous_moon\", 0x1f314 },\r\n            { \"full_moon\", 0x1f315 },\r\n            { \"waning_gibbous_moon\", 0x1f316 },\r\n            { \"last_quarter_moon\", 0x1f317 },\r\n            { \"waning_crescent_moon\", 0x1f318 },\r\n            { \"last_quarter_moon_with_face\", 0x1f31c },\r\n            { \"first_quarter_moon_with_face\", 0x1f31b },\r\n            { \"moon\", 0x1f314 },\r\n            { \"earth_africa\", 0x1f30d },\r\n            { \"earth_americas\", 0x1f30e },\r\n            { \"earth_asia\", 0x1f30f },\r\n            { \"volcano\", 0x1f30b },\r\n            { \"milky_way\", 0x1f30c },\r\n            { \"partly_sunny\", 0x26c5 },\r\n            { \"bamboo\", 0x1f38d },\r\n            { \"gift_heart\", 0x1f49d },\r\n            { \"dolls\", 0x1f38e },\r\n            { \"school_satchel\", 0x1f392 },\r\n            { \"mortar_board\", 0x1f393 },\r\n            { \"flags\", 0x1f38f },\r\n            { \"fireworks\", 0x1f386 },\r\n            { \"sparkler\", 0x1f387 },\r\n            { \"wind_chime\", 0x1f390 },\r\n            { \"rice_scene\", 0x1f391 },\r\n            { \"jack_o_lantern\", 0x1f383 },\r\n            { \"ghost\", 0x1f47b },\r\n            { \"santa\", 0x1f385 },\r\n            { \"christmas_tree\", 0x1f384 },\r\n            { \"gift\", 0x1f381 },\r\n            { \"bell\", 0x1f514 },\r\n            { \"no_bell\", 0x1f515 },\r\n            { \"tanabata_tree\", 0x1f38b },\r\n            { \"tada\", 0x1f389 },\r\n            { \"confetti_ball\", 0x1f38a },\r\n            { \"balloon\", 0x1f388 },\r\n            { \"crystal_ball\", 0x1f52e },\r\n            { \"cd\", 0x1f4bf },\r\n            { \"dvd\", 0x1f4c0 },\r\n            { \"floppy_disk\", 0x1f4be },\r\n            { \"camera\", 0x1f4f7 },\r\n            { \"video_camera\", 0x1f4f9 },\r\n            { \"movie_camera\", 0x1f3a5 },\r\n            { \"computer\", 0x1f4bb },\r\n            { \"tv\", 0x1f4fa },\r\n            { \"iphone\", 0x1f4f1 },\r\n            { \"phone\", 0x260e },\r\n            { \"telephone\", 0x260e },\r\n            { \"telephone_receiver\", 0x1f4de },\r\n            { \"pager\", 0x1f4df },\r\n            { \"fax\", 0x1f4e0 },\r\n            { \"minidisc\", 0x1f4bd },\r\n            { \"vhs\", 0x1f4fc },\r\n            { \"sound\", 0x1f509 },\r\n            { \"speaker\", 0x1f508 },\r\n            { \"mute\", 0x1f507 },\r\n            { \"loudspeaker\", 0x1f4e2 },\r\n            { \"mega\", 0x1f4e3 },\r\n            { \"hourglass\", 0x231b },\r\n            { \"hourglass_flowing_sand\", 0x23f3 },\r\n            { \"alarm_clock\", 0x23f0 },\r\n            { \"watch\", 0x231a },\r\n            { \"radio\", 0x1f4fb },\r\n            { \"satellite\", 0x1f4e1 },\r\n            { \"loop\", 0x27bf },\r\n            { \"mag\", 0x1f50d },\r\n            { \"mag_right\", 0x1f50e },\r\n            { \"unlock\", 0x1f513 },\r\n            { \"lock\", 0x1f512 },\r\n            { \"lock_with_ink_pen\", 0x1f50f },\r\n            { \"closed_lock_with_key\", 0x1f510 },\r\n            { \"key\", 0x1f511 },\r\n            { \"bulb\", 0x1f4a1 },\r\n            { \"flashlight\", 0x1f526 },\r\n            { \"high_brightness\", 0x1f506 },\r\n            { \"low_brightness\", 0x1f505 },\r\n            { \"electric_plug\", 0x1f50c },\r\n            { \"battery\", 0x1f50b },\r\n            { \"calling\", 0x1f4f2 },\r\n            { \"email\", 0x2709 },\r\n            { \"mailbox\", 0x1f4eb },\r\n            { \"postbox\", 0x1f4ee },\r\n            { \"bath\", 0x1f6c0 },\r\n            { \"bathtub\", 0x1f6c1 },\r\n            { \"shower\", 0x1f6bf },\r\n            { \"toilet\", 0x1f6bd },\r\n            { \"wrench\", 0x1f527 },\r\n            { \"nut_and_bolt\", 0x1f529 },\r\n            { \"hammer\", 0x1f528 },\r\n            { \"seat\", 0x1f4ba },\r\n            { \"moneybag\", 0x1f4b0 },\r\n            { \"yen\", 0x1f4b4 },\r\n            { \"dollar\", 0x1f4b5 },\r\n            { \"pound\", 0x1f4b7 },\r\n            { \"euro\", 0x1f4b6 },\r\n            { \"credit_card\", 0x1f4b3 },\r\n            { \"money_with_wings\", 0x1f4b8 },\r\n            { \"e-mail\", 0x1f4e7 },\r\n            { \"inbox_tray\", 0x1f4e5 },\r\n            { \"outbox_tray\", 0x1f4e4 },\r\n            { \"envelope\", 0x2709 },\r\n            { \"incoming_envelope\", 0x1f4e8 },\r\n            { \"postal_horn\", 0x1f4ef },\r\n            { \"mailbox_closed\", 0x1f4ea },\r\n            { \"mailbox_with_mail\", 0x1f4ec },\r\n            { \"mailbox_with_no_mail\", 0x1f4ed },\r\n            { \"door\", 0x1f6aa },\r\n            { \"smoking\", 0x1f6ac },\r\n            { \"bomb\", 0x1f4a3 },\r\n            { \"gun\", 0x1f52b },\r\n            { \"hocho\", 0x1f52a },\r\n            { \"pill\", 0x1f48a },\r\n            { \"syringe\", 0x1f489 },\r\n            { \"page_facing_up\", 0x1f4c4 },\r\n            { \"page_with_curl\", 0x1f4c3 },\r\n            { \"bookmark_tabs\", 0x1f4d1 },\r\n            { \"bar_chart\", 0x1f4ca },\r\n            { \"chart_with_upwards_trend\", 0x1f4c8 },\r\n            { \"chart_with_downwards_trend\", 0x1f4c9 },\r\n            { \"scroll\", 0x1f4dc },\r\n            { \"clipboard\", 0x1f4cb },\r\n            { \"calendar\", 0x1f4c6 },\r\n            { \"date\", 0x1f4c5 },\r\n            { \"card_index\", 0x1f4c7 },\r\n            { \"file_folder\", 0x1f4c1 },\r\n            { \"open_file_folder\", 0x1f4c2 },\r\n            { \"scissors\", 0x2702 },\r\n            { \"pushpin\", 0x1f4cc },\r\n            { \"paperclip\", 0x1f4ce },\r\n            { \"black_nib\", 0x2712 },\r\n            { \"pencil2\", 0x270f },\r\n            { \"straight_ruler\", 0x1f4cf },\r\n            { \"triangular_ruler\", 0x1f4d0 },\r\n            { \"closed_book\", 0x1f4d5 },\r\n            { \"green_book\", 0x1f4d7 },\r\n            { \"blue_book\", 0x1f4d8 },\r\n            { \"orange_book\", 0x1f4d9 },\r\n            { \"notebook\", 0x1f4d3 },\r\n            { \"notebook_with_decorative_cover\", 0x1f4d4 },\r\n            { \"ledger\", 0x1f4d2 },\r\n            { \"books\", 0x1f4da },\r\n            { \"bookmark\", 0x1f516 },\r\n            { \"name_badge\", 0x1f4db },\r\n            { \"microscope\", 0x1f52c },\r\n            { \"telescope\", 0x1f52d },\r\n            { \"newspaper\", 0x1f4f0 },\r\n            { \"football\", 0x1f3c8 },\r\n            { \"basketball\", 0x1f3c0 },\r\n            { \"soccer\", 0x26bd },\r\n            { \"baseball\", 0x26be },\r\n            { \"tennis\", 0x1f3be },\r\n            { \"8ball\", 0x1f3b1 },\r\n            { \"rugby_football\", 0x1f3c9 },\r\n            { \"bowling\", 0x1f3b3 },\r\n            { \"golf\", 0x26f3 },\r\n            { \"mountain_bicyclist\", 0x1f6b5 },\r\n            { \"bicyclist\", 0x1f6b4 },\r\n            { \"horse_racing\", 0x1f3c7 },\r\n            { \"snowboarder\", 0x1f3c2 },\r\n            { \"swimmer\", 0x1f3ca },\r\n            { \"surfer\", 0x1f3c4 },\r\n            { \"ski\", 0x1f3bf },\r\n            { \"spades\", 0x2660 },\r\n            { \"hearts\", 0x2665 },\r\n            { \"clubs\", 0x2663 },\r\n            { \"diamonds\", 0x2666 },\r\n            { \"gem\", 0x1f48e },\r\n            { \"ring\", 0x1f48d },\r\n            { \"trophy\", 0x1f3c6 },\r\n            { \"musical_score\", 0x1f3bc },\r\n            { \"musical_keyboard\", 0x1f3b9 },\r\n            { \"violin\", 0x1f3bb },\r\n            { \"space_invader\", 0x1f47e },\r\n            { \"video_game\", 0x1f3ae },\r\n            { \"black_joker\", 0x1f0cf },\r\n            { \"flower_playing_cards\", 0x1f3b4 },\r\n            { \"game_die\", 0x1f3b2 },\r\n            { \"dart\", 0x1f3af },\r\n            { \"mahjong\", 0x1f004 },\r\n            { \"clapper\", 0x1f3ac },\r\n            { \"memo\", 0x1f4dd },\r\n            { \"pencil\", 0x1f4dd },\r\n            { \"book\", 0x1f4d6 },\r\n            { \"art\", 0x1f3a8 },\r\n            { \"microphone\", 0x1f3a4 },\r\n            { \"headphones\", 0x1f3a7 },\r\n            { \"trumpet\", 0x1f3ba },\r\n            { \"saxophone\", 0x1f3b7 },\r\n            { \"guitar\", 0x1f3b8 },\r\n            { \"shoe\", 0x1f45e },\r\n            { \"sandal\", 0x1f461 },\r\n            { \"high_heel\", 0x1f460 },\r\n            { \"lipstick\", 0x1f484 },\r\n            { \"boot\", 0x1f462 },\r\n            { \"shirt\", 0x1f455 },\r\n            { \"tshirt\", 0x1f455 },\r\n            { \"necktie\", 0x1f454 },\r\n            { \"womans_clothes\", 0x1f45a },\r\n            { \"dress\", 0x1f457 },\r\n            { \"running_shirt_with_sash\", 0x1f3bd },\r\n            { \"jeans\", 0x1f456 },\r\n            { \"kimono\", 0x1f458 },\r\n            { \"bikini\", 0x1f459 },\r\n            { \"ribbon\", 0x1f380 },\r\n            { \"tophat\", 0x1f3a9 },\r\n            { \"crown\", 0x1f451 },\r\n            { \"womans_hat\", 0x1f452 },\r\n            { \"mans_shoe\", 0x1f45e },\r\n            { \"closed_umbrella\", 0x1f302 },\r\n            { \"briefcase\", 0x1f4bc },\r\n            { \"handbag\", 0x1f45c },\r\n            { \"pouch\", 0x1f45d },\r\n            { \"purse\", 0x1f45b },\r\n            { \"eyeglasses\", 0x1f453 },\r\n            { \"fishing_pole_and_fish\", 0x1f3a3 },\r\n            { \"coffee\", 0x2615 },\r\n            { \"tea\", 0x1f375 },\r\n            { \"sake\", 0x1f376 },\r\n            { \"baby_bottle\", 0x1f37c },\r\n            { \"beer\", 0x1f37a },\r\n            { \"beers\", 0x1f37b },\r\n            { \"cocktail\", 0x1f378 },\r\n            { \"tropical_drink\", 0x1f379 },\r\n            { \"wine_glass\", 0x1f377 },\r\n            { \"fork_and_knife\", 0x1f374 },\r\n            { \"pizza\", 0x1f355 },\r\n            { \"hamburger\", 0x1f354 },\r\n            { \"fries\", 0x1f35f },\r\n            { \"poultry_leg\", 0x1f357 },\r\n            { \"meat_on_bone\", 0x1f356 },\r\n            { \"spaghetti\", 0x1f35d },\r\n            { \"curry\", 0x1f35b },\r\n            { \"fried_shrimp\", 0x1f364 },\r\n            { \"bento\", 0x1f371 },\r\n            { \"sushi\", 0x1f363 },\r\n            { \"fish_cake\", 0x1f365 },\r\n            { \"rice_ball\", 0x1f359 },\r\n            { \"rice_cracker\", 0x1f358 },\r\n            { \"rice\", 0x1f35a },\r\n            { \"ramen\", 0x1f35c },\r\n            { \"stew\", 0x1f372 },\r\n            { \"oden\", 0x1f362 },\r\n            { \"dango\", 0x1f361 },\r\n            { \"egg\", 0x1f95a },\r\n            { \"bread\", 0x1f35e },\r\n            { \"doughnut\", 0x1f369 },\r\n            { \"custard\", 0x1f36e },\r\n            { \"icecream\", 0x1f366 },\r\n            { \"ice_cream\", 0x1f368 },\r\n            { \"shaved_ice\", 0x1f367 },\r\n            { \"birthday\", 0x1f382 },\r\n            { \"cake\", 0x1f370 },\r\n            { \"cookie\", 0x1f36a },\r\n            { \"chocolate_bar\", 0x1f36b },\r\n            { \"candy\", 0x1f36c },\r\n            { \"lollipop\", 0x1f36d },\r\n            { \"honey_pot\", 0x1f36f },\r\n            { \"apple\", 0x1f34e },\r\n            { \"green_apple\", 0x1f34f },\r\n            { \"tangerine\", 0x1f34a },\r\n            { \"lemon\", 0x1f34b },\r\n            { \"cherries\", 0x1f352 },\r\n            { \"grapes\", 0x1f347 },\r\n            { \"watermelon\", 0x1f349 },\r\n            { \"strawberry\", 0x1f353 },\r\n            { \"peach\", 0x1f351 },\r\n            { \"melon\", 0x1f348 },\r\n            { \"banana\", 0x1f34c },\r\n            { \"pear\", 0x1f350 },\r\n            { \"pineapple\", 0x1f34d },\r\n            { \"sweet_potato\", 0x1f360 },\r\n            { \"eggplant\", 0x1f346 },\r\n            { \"tomato\", 0x1f345 },\r\n            { \"corn\", 0x1f33d },\r\n            { \"house\", 0x1f3e0 },\r\n            { \"house_with_garden\", 0x1f3e1 },\r\n            { \"school\", 0x1f3eb },\r\n            { \"office\", 0x1f3e2 },\r\n            { \"post_office\", 0x1f3e3 },\r\n            { \"hospital\", 0x1f3e5 },\r\n            { \"bank\", 0x1f3e6 },\r\n            { \"convenience_store\", 0x1f3ea },\r\n            { \"love_hotel\", 0x1f3e9 },\r\n            { \"hotel\", 0x1f3e8 },\r\n            { \"wedding\", 0x1f492 },\r\n            { \"church\", 0x26ea },\r\n            { \"department_store\", 0x1f3ec },\r\n            { \"european_post_office\", 0x1f3e4 },\r\n            { \"city_sunrise\", 0x1f307 },\r\n            { \"city_sunset\", 0x1f306 },\r\n            { \"japanese_castle\", 0x1f3ef },\r\n            { \"european_castle\", 0x1f3f0 },\r\n            { \"tent\", 0x26fa },\r\n            { \"factory\", 0x1f3ed },\r\n            { \"tokyo_tower\", 0x1f5fc },\r\n            { \"japan\", 0x1f5fe },\r\n            { \"mount_fuji\", 0x1f5fb },\r\n            { \"sunrise_over_mountains\", 0x1f304 },\r\n            { \"sunrise\", 0x1f305 },\r\n            { \"stars\", 0x1f320 },\r\n            { \"statue_of_liberty\", 0x1f5fd },\r\n            { \"bridge_at_night\", 0x1f309 },\r\n            { \"carousel_horse\", 0x1f3a0 },\r\n            { \"rainbow\", 0x1f308 },\r\n            { \"ferris_wheel\", 0x1f3a1 },\r\n            { \"fountain\", 0x26f2 },\r\n            { \"roller_coaster\", 0x1f3a2 },\r\n            { \"ship\", 0x1f6a2 },\r\n            { \"speedboat\", 0x1f6a4 },\r\n            { \"boat\", 0x26f5 },\r\n            { \"sailboat\", 0x26f5 },\r\n            { \"rowboat\", 0x1f6a3 },\r\n            { \"anchor\", 0x2693 },\r\n            { \"rocket\", 0x1f680 },\r\n            { \"airplane\", 0x2708 },\r\n            { \"helicopter\", 0x1f681 },\r\n            { \"steam_locomotive\", 0x1f682 },\r\n            { \"tram\", 0x1f68a },\r\n            { \"mountain_railway\", 0x1f69e },\r\n            { \"bike\", 0x1f6b2 },\r\n            { \"aerial_tramway\", 0x1f6a1 },\r\n            { \"suspension_railway\", 0x1f69f },\r\n            { \"mountain_cableway\", 0x1f6a0 },\r\n            { \"tractor\", 0x1f69c },\r\n            { \"blue_car\", 0x1f699 },\r\n            { \"oncoming_automobile\", 0x1f698 },\r\n            { \"car\", 0x1f697 },\r\n            { \"red_car\", 0x1f697 },\r\n            { \"taxi\", 0x1f695 },\r\n            { \"oncoming_taxi\", 0x1f696 },\r\n            { \"articulated_lorry\", 0x1f69b },\r\n            { \"bus\", 0x1f68c },\r\n            { \"oncoming_bus\", 0x1f68d },\r\n            { \"rotating_light\", 0x1f6a8 },\r\n            { \"police_car\", 0x1f693 },\r\n            { \"oncoming_police_car\", 0x1f694 },\r\n            { \"fire_engine\", 0x1f692 },\r\n            { \"ambulance\", 0x1f691 },\r\n            { \"minibus\", 0x1f690 },\r\n            { \"truck\", 0x1f69a },\r\n            { \"train\", 0x1f68b },\r\n            { \"station\", 0x1f689 },\r\n            { \"train2\", 0x1f686 },\r\n            { \"bullettrain_front\", 0x1f685 },\r\n            { \"bullettrain_side\", 0x1f684 },\r\n            { \"light_rail\", 0x1f688 },\r\n            { \"monorail\", 0x1f69d },\r\n            { \"railway_car\", 0x1f683 },\r\n            { \"trolleybus\", 0x1f68e },\r\n            { \"ticket\", 0x1f3ab },\r\n            { \"fuelpump\", 0x26fd },\r\n            { \"vertical_traffic_light\", 0x1f6a6 },\r\n            { \"traffic_light\", 0x1f6a5 },\r\n            { \"warning\", 0x26a0 },\r\n            { \"construction\", 0x1f6a7 },\r\n            { \"beginner\", 0x1f530 },\r\n            { \"atm\", 0x1f3e7 },\r\n            { \"slot_machine\", 0x1f3b0 },\r\n            { \"busstop\", 0x1f68f },\r\n            { \"barber\", 0x1f488 },\r\n            { \"hotsprings\", 0x2668 },\r\n            { \"checkered_flag\", 0x1f3c1 },\r\n            { \"crossed_flags\", 0x1f38c },\r\n            { \"izakaya_lantern\", 0x1f3ee },\r\n            { \"moyai\", 0x1f5ff },\r\n            { \"circus_tent\", 0x1f3aa },\r\n            { \"performing_arts\", 0x1f3ad },\r\n            { \"round_pushpin\", 0x1f4cd },\r\n            { \"triangular_flag_on_post\", 0x1f6a9 },\r\n            { \"keycap_ten\", 0x1f51f },\r\n            { \"1234\", 0x1f522 },\r\n            { \"symbols\", 0x1f523 },\r\n            { \"arrow_backward\", 0x25c0 },\r\n            { \"arrow_down\", 0x2b07 },\r\n            { \"arrow_forward\", 0x25b6 },\r\n            { \"arrow_left\", 0x2b05 },\r\n            { \"capital_abcd\", 0x1f520 },\r\n            { \"abcd\", 0x1f521 },\r\n            { \"abc\", 0x1f524 },\r\n            { \"arrow_lower_left\", 0x2199 },\r\n            { \"arrow_lower_right\", 0x2198 },\r\n            { \"arrow_right\", 0x27a1 },\r\n            { \"arrow_up\", 0x2b06 },\r\n            { \"arrow_upper_left\", 0x2196 },\r\n            { \"arrow_upper_right\", 0x2197 },\r\n            { \"arrow_double_down\", 0x23ec },\r\n            { \"arrow_double_up\", 0x23eb },\r\n            { \"arrow_down_small\", 0x1f53d },\r\n            { \"arrow_heading_down\", 0x2935 },\r\n            { \"arrow_heading_up\", 0x2934 },\r\n            { \"leftwards_arrow_with_hook\", 0x21a9 },\r\n            { \"arrow_right_hook\", 0x21aa },\r\n            { \"left_right_arrow\", 0x2194 },\r\n            { \"arrow_up_down\", 0x2195 },\r\n            { \"arrow_up_small\", 0x1f53c },\r\n            { \"arrows_clockwise\", 0x1f503 },\r\n            { \"arrows_counterclockwise\", 0x1f504 },\r\n            { \"rewind\", 0x23ea },\r\n            { \"fast_forward\", 0x23e9 },\r\n            { \"information_source\", 0x2139 },\r\n            { \"ok\", 0x1f197 },\r\n            { \"twisted_rightwards_arrows\", 0x1f500 },\r\n            { \"repeat\", 0x1f501 },\r\n            { \"repeat_one\", 0x1f502 },\r\n            { \"new\", 0x1f195 },\r\n            { \"top\", 0x1f51d },\r\n            { \"up\", 0x1f199 },\r\n            { \"cool\", 0x1f192 },\r\n            { \"free\", 0x1f193 },\r\n            { \"ng\", 0x1f196 },\r\n            { \"cinema\", 0x1f3a6 },\r\n            { \"koko\", 0x1f201 },\r\n            { \"signal_strength\", 0x1f4f6 },\r\n            { \"u5272\", 0x1f239 },\r\n            { \"u5408\", 0x1f234 },\r\n            { \"u55b6\", 0x1f23a },\r\n            { \"u6307\", 0x1f22f },\r\n            { \"u6708\", 0x1f237 },\r\n            { \"u6709\", 0x1f236 },\r\n            { \"u6e80\", 0x1f235 },\r\n            { \"u7121\", 0x1f21a },\r\n            { \"u7533\", 0x1f238 },\r\n            { \"u7a7a\", 0x1f233 },\r\n            { \"u7981\", 0x1f232 },\r\n            { \"sa\", 0x1f202 },\r\n            { \"restroom\", 0x1f6bb },\r\n            { \"mens\", 0x1f6b9 },\r\n            { \"womens\", 0x1f6ba },\r\n            { \"baby_symbol\", 0x1f6bc },\r\n            { \"no_smoking\", 0x1f6ad },\r\n            { \"parking\", 0x1f17f },\r\n            { \"wheelchair\", 0x267f },\r\n            { \"metro\", 0x1f687 },\r\n            { \"baggage_claim\", 0x1f6c4 },\r\n            { \"accept\", 0x1f251 },\r\n            { \"wc\", 0x1f6be },\r\n            { \"potable_water\", 0x1f6b0 },\r\n            { \"put_litter_in_its_place\", 0x1f6ae },\r\n            { \"secret\", 0x3299 },\r\n            { \"congratulations\", 0x3297 },\r\n            { \"m\", 0x24c2 },\r\n            { \"passport_control\", 0x1f6c2 },\r\n            { \"left_luggage\", 0x1f6c5 },\r\n            { \"customs\", 0x1f6c3 },\r\n            { \"ideograph_advantage\", 0x1f250 },\r\n            { \"cl\", 0x1f191 },\r\n            { \"sos\", 0x1f198 },\r\n            { \"id\", 0x1f194 },\r\n            { \"no_entry_sign\", 0x1f6ab },\r\n            { \"underage\", 0x1f51e },\r\n            { \"no_mobile_phones\", 0x1f4f5 },\r\n            { \"do_not_litter\", 0x1f6af },\r\n            { \"non-potable_water\", 0x1f6b1 },\r\n            { \"no_bicycles\", 0x1f6b3 },\r\n            { \"no_pedestrians\", 0x1f6b7 },\r\n            { \"children_crossing\", 0x1f6b8 },\r\n            { \"no_entry\", 0x26d4 },\r\n            { \"eight_spoked_asterisk\", 0x2733 },\r\n            { \"eight_pointed_black_star\", 0x2734 },\r\n            { \"heart_decoration\", 0x1f49f },\r\n            { \"vs\", 0x1f19a },\r\n            { \"vibration_mode\", 0x1f4f3 },\r\n            { \"mobile_phone_off\", 0x1f4f4 },\r\n            { \"chart\", 0x1f4b9 },\r\n            { \"currency_exchange\", 0x1f4b1 },\r\n            { \"aries\", 0x2648 },\r\n            { \"taurus\", 0x2649 },\r\n            { \"gemini\", 0x264a },\r\n            { \"cancer\", 0x264b },\r\n            { \"leo\", 0x264c },\r\n            { \"virgo\", 0x264d },\r\n            { \"libra\", 0x264e },\r\n            { \"scorpius\", 0x264f },\r\n            { \"sagittarius\", 0x2650 },\r\n            { \"capricorn\", 0x2651 },\r\n            { \"aquarius\", 0x2652 },\r\n            { \"pisces\", 0x2653 },\r\n            { \"ophiuchus\", 0x26ce },\r\n            { \"six_pointed_star\", 0x1f52f },\r\n            { \"negative_squared_cross_mark\", 0x274e },\r\n            { \"a\", 0x1f170 },\r\n            { \"b\", 0x1f171 },\r\n            { \"ab\", 0x1f18e },\r\n            { \"o2\", 0x1f17e },\r\n            { \"diamond_shape_with_a_dot_inside\", 0x1f4a0 },\r\n            { \"recycle\", 0x267b },\r\n            { \"end\", 0x1f51a },\r\n            { \"on\", 0x1f51b },\r\n            { \"soon\", 0x1f51c },\r\n            { \"clock1\", 0x1f550 },\r\n            { \"clock130\", 0x1f55c },\r\n            { \"clock10\", 0x1f559 },\r\n            { \"clock1030\", 0x1f565 },\r\n            { \"clock11\", 0x1f55a },\r\n            { \"clock1130\", 0x1f566 },\r\n            { \"clock12\", 0x1f55b },\r\n            { \"clock1230\", 0x1f567 },\r\n            { \"clock2\", 0x1f551 },\r\n            { \"clock230\", 0x1f55d },\r\n            { \"clock3\", 0x1f552 },\r\n            { \"clock330\", 0x1f55e },\r\n            { \"clock4\", 0x1f553 },\r\n            { \"clock430\", 0x1f55f },\r\n            { \"clock5\", 0x1f554 },\r\n            { \"clock530\", 0x1f560 },\r\n            { \"clock6\", 0x1f555 },\r\n            { \"clock630\", 0x1f561 },\r\n            { \"clock7\", 0x1f556 },\r\n            { \"clock730\", 0x1f562 },\r\n            { \"clock8\", 0x1f557 },\r\n            { \"clock830\", 0x1f563 },\r\n            { \"clock9\", 0x1f558 },\r\n            { \"clock930\", 0x1f564 },\r\n            { \"heavy_dollar_sign\", 0x1f4b2 },\r\n            { \"copyright\", 0x00a9 },\r\n            { \"registered\", 0x00ae },\r\n            { \"tm\", 0x2122 },\r\n            { \"x\", 0x274c },\r\n            { \"heavy_exclamation_mark\", 0x2757 },\r\n            { \"bangbang\", 0x203c },\r\n            { \"interrobang\", 0x2049 },\r\n            { \"o\", 0x2b55 },\r\n            { \"heavy_multiplication_x\", 0x2716 },\r\n            { \"heavy_plus_sign\", 0x2795 },\r\n            { \"heavy_minus_sign\", 0x2796 },\r\n            { \"heavy_division_sign\", 0x2797 },\r\n            { \"white_flower\", 0x1f4ae },\r\n            { \"100\", 0x1f4af },\r\n            { \"heavy_check_mark\", 0x2714 },\r\n            { \"ballot_box_with_check\", 0x2611 },\r\n            { \"radio_button\", 0x1f518 },\r\n            { \"link\", 0x1f517 },\r\n            { \"curly_loop\", 0x27b0 },\r\n            { \"wavy_dash\", 0x3030 },\r\n            { \"part_alternation_mark\", 0x303d },\r\n            { \"trident\", 0x1f531 },\r\n            { \"white_check_mark\", 0x2705 },\r\n            { \"black_square_button\", 0x1f532 },\r\n            { \"white_square_button\", 0x1f533 },\r\n            { \"black_circle\", 0x26ab },\r\n            { \"white_circle\", 0x26aa },\r\n            { \"red_circle\", 0x1f534 },\r\n            { \"large_blue_circle\", 0x1f535 },\r\n            { \"large_blue_diamond\", 0x1f537 },\r\n            { \"large_orange_diamond\", 0x1f536 },\r\n            { \"small_blue_diamond\", 0x1f539 },\r\n            { \"small_orange_diamond\", 0x1f538 },\r\n            { \"small_red_triangle\", 0x1f53a },\r\n            { \"small_red_triangle_down\", 0x1f53b },\r\n        };\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/EmojiInline.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Inlines\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Represents a span containing emoji symbol.\r\n    /// </summary>\r\n    public partial class EmojiInline : MarkdownInline, IInlineLeaf\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"EmojiInline\"/> class.\r\n        /// </summary>\r\n        public EmojiInline()\r\n            : base(MarkdownInlineType.Emoji)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Returns the chars that if found means we might have a match.\r\n        /// </summary>\r\n        internal static void AddTripChars(List<InlineTripCharHelper> tripCharHelpers)\r\n        {\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = ':', Method = InlineParseMethod.Emoji });\r\n        }\r\n\r\n        internal static InlineParseResult Parse(string markdown, int start, int maxEnd)\r\n        {\r\n            if (start >= maxEnd - 1)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Check the start sequence.\r\n            string startSequence = markdown.Substring(start, 1);\r\n            if (startSequence != \":\")\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Find the end of the span.\r\n            var innerStart = start + 1;\r\n            int innerEnd = Common.IndexOf(markdown, startSequence, innerStart, maxEnd);\r\n            if (innerEnd == -1)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The span must contain at least one character.\r\n            if (innerStart == innerEnd)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The first character inside the span must NOT be a space.\r\n            if (ParseHelpers.IsMarkdownWhiteSpace(markdown[innerStart]))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The last character inside the span must NOT be a space.\r\n            if (ParseHelpers.IsMarkdownWhiteSpace(markdown[innerEnd - 1]))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            var emojiName = markdown.Substring(innerStart, innerEnd - innerStart);\r\n\r\n            if (_emojiCodesDictionary.TryGetValue(emojiName, out var emojiCode))\r\n            {\r\n                var result = new EmojiInline { Text = char.ConvertFromUtf32(emojiCode), Type = MarkdownInlineType.Emoji };\r\n                return new InlineParseResult(result, start, innerEnd + 1);\r\n            }\r\n\r\n            return null;\r\n        }\r\n\r\n        /// <inheritdoc/>\r\n        public string Text { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/HyperlinkInline.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Inlines\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Linq;\r\n\r\n    /// <summary>\r\n    /// Represents a type of hyperlink where the text and the target URL cannot be controlled\r\n    /// independently.\r\n    /// </summary>\r\n    public class HyperlinkInline : MarkdownInline, IInlineLeaf, ILinkElement\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"HyperlinkInline\"/> class.\r\n        /// </summary>\r\n        public HyperlinkInline()\r\n            : base(MarkdownInlineType.RawHyperlink)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the text to display.\r\n        /// </summary>\r\n        public string Text { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the URL to link to.\r\n        /// </summary>\r\n        public string Url { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets this type of hyperlink does not have a tooltip.\r\n        /// </summary>\r\n        string ILinkElement.Tooltip => null;\r\n\r\n        /// <summary>\r\n        /// Gets or sets the type of hyperlink.\r\n        /// </summary>\r\n        public HyperlinkType LinkType { get; set; }\r\n\r\n        /// <summary>\r\n        /// Returns the chars that if found means we might have a match.\r\n        /// </summary>\r\n        internal static void AddTripChars(List<InlineTripCharHelper> tripCharHelpers)\r\n        {\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '<', Method = InlineParseMethod.AngleBracketLink });\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = ':', Method = InlineParseMethod.Url });\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '/', Method = InlineParseMethod.RedditLink });\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '.', Method = InlineParseMethod.PartialLink });\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '@', Method = InlineParseMethod.Email });\r\n        }\r\n\r\n        /// <summary>\r\n        /// Attempts to parse a URL within angle brackets e.g. \"http://www.reddit.com\".\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start parsing. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed URL, or <c>null</c> if this is not a URL. </returns>\r\n        internal static InlineParseResult ParseAngleBracketLink(string markdown, int start, int maxEnd)\r\n        {\r\n            int innerStart = start + 1;\r\n\r\n            // Check for a known scheme e.g. \"https://\".\r\n            int pos = -1;\r\n            foreach (var scheme in MarkdownDocument.KnownSchemes)\r\n            {\r\n                if (maxEnd - innerStart >= scheme.Length && string.Equals(markdown.Substring(innerStart, scheme.Length), scheme, StringComparison.OrdinalIgnoreCase))\r\n                {\r\n                    // URL scheme found.\r\n                    pos = innerStart + scheme.Length;\r\n                    break;\r\n                }\r\n            }\r\n\r\n            if (pos == -1)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Angle bracket links should not have any whitespace.\r\n            int innerEnd = markdown.IndexOfAny(new char[] { ' ', '\\t', '\\r', '\\n', '>' }, pos, maxEnd - pos);\r\n            if (innerEnd == -1 || markdown[innerEnd] != '>')\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // There should be at least one character after the http://.\r\n            if (innerEnd == pos)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            var url = markdown.Substring(innerStart, innerEnd - innerStart);\r\n            return new InlineParseResult(new HyperlinkInline { Url = url, Text = url, LinkType = HyperlinkType.BracketedUrl }, start, innerEnd + 1);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Attempts to parse a URL e.g. \"http://www.reddit.com\".\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"tripPos\"> The location of the colon character. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed URL, or <c>null</c> if this is not a URL. </returns>\r\n        internal static InlineParseResult ParseUrl(string markdown, int tripPos, int maxEnd)\r\n        {\r\n            int start = -1;\r\n\r\n            // Check for a known scheme e.g. \"https://\".\r\n            foreach (var scheme in MarkdownDocument.KnownSchemes)\r\n            {\r\n                int schemeStart = tripPos - scheme.Length;\r\n                if (schemeStart >= 0 && schemeStart <= maxEnd - scheme.Length && string.Equals(markdown.Substring(schemeStart, scheme.Length), scheme, StringComparison.OrdinalIgnoreCase))\r\n                {\r\n                    // URL scheme found.\r\n                    start = schemeStart;\r\n                    break;\r\n                }\r\n            }\r\n\r\n            if (start == -1)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The previous character must be non-alphanumeric i.e. \"ahttp://t.co\" is not a valid URL.\r\n            if (start > 0 && char.IsLetter(markdown[start - 1]))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The URL must have at least one character after the http:// and at least one dot.\r\n            int pos = tripPos + 3;\r\n            if (pos > maxEnd)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            int dotIndex = markdown.IndexOf('.', pos, maxEnd - pos);\r\n            if (dotIndex == -1 || dotIndex == pos)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Find the end of the URL.\r\n            int end = FindUrlEnd(markdown, dotIndex + 1, maxEnd);\r\n\r\n            var url = markdown.Substring(start, end - start);\r\n            return new InlineParseResult(new HyperlinkInline { Url = url, Text = url, LinkType = HyperlinkType.FullUrl }, start, end);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Attempts to parse a subreddit link e.g. \"/r/news\" or \"r/news\".\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start parsing. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed subreddit or user link, or <c>null</c> if this is not a subreddit link. </returns>\r\n        internal static InlineParseResult ParseRedditLink(string markdown, int start, int maxEnd)\r\n        {\r\n            var result = ParseDoubleSlashLink(markdown, start, maxEnd);\r\n            if (result != null)\r\n            {\r\n                return result;\r\n            }\r\n\r\n            return ParseSingleSlashLink(markdown, start, maxEnd);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Parse a link of the form \"/r/news\" or \"/u/quinbd\".\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start parsing. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed subreddit or user link, or <c>null</c> if this is not a subreddit link. </returns>\r\n        private static InlineParseResult ParseDoubleSlashLink(string markdown, int start, int maxEnd)\r\n        {\r\n            // The minimum length is 4 characters (\"/u/u\").\r\n            if (start > maxEnd - 4)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Determine the type of link (subreddit or user).\r\n            HyperlinkType linkType;\r\n            if (markdown[start + 1] == 'r')\r\n            {\r\n                linkType = HyperlinkType.Subreddit;\r\n            }\r\n            else if (markdown[start + 1] == 'u')\r\n            {\r\n                linkType = HyperlinkType.User;\r\n            }\r\n            else\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Check that there is another slash.\r\n            if (markdown[start + 2] != '/')\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Find the end of the link.\r\n            int end = FindEndOfRedditLink(markdown, start + 3, maxEnd);\r\n\r\n            // Subreddit names must be at least two characters long, users at least one.\r\n            if (end - start < (linkType == HyperlinkType.User ? 4 : 5))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // We found something!\r\n            var text = markdown.Substring(start, end - start);\r\n            return new InlineParseResult(new HyperlinkInline { Text = text, Url = text, LinkType = linkType }, start, end);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Parse a link of the form \"r/news\" or \"u/quinbd\".\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start parsing. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed subreddit or user link, or <c>null</c> if this is not a subreddit link. </returns>\r\n        private static InlineParseResult ParseSingleSlashLink(string markdown, int start, int maxEnd)\r\n        {\r\n            // The minimum length is 3 characters (\"u/u\").\r\n            start--;\r\n            if (start < 0 || start > maxEnd - 3)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Determine the type of link (subreddit or user).\r\n            HyperlinkType linkType;\r\n            if (markdown[start] == 'r')\r\n            {\r\n                linkType = HyperlinkType.Subreddit;\r\n            }\r\n            else if (markdown[start] == 'u')\r\n            {\r\n                linkType = HyperlinkType.User;\r\n            }\r\n            else\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // If the link doesn't start with '/', then the previous character must be\r\n            // non-alphanumeric i.e. \"bear/trap\" is not a valid subreddit link.\r\n            if (start >= 1 && (char.IsLetterOrDigit(markdown[start - 1]) || markdown[start - 1] == '/'))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Find the end of the link.\r\n            int end = FindEndOfRedditLink(markdown, start + 2, maxEnd);\r\n\r\n            // Subreddit names must be at least two characters long, users at least one.\r\n            if (end - start < (linkType == HyperlinkType.User ? 3 : 4))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // We found something!\r\n            var text = markdown.Substring(start, end - start);\r\n            return new InlineParseResult(new HyperlinkInline { Text = text, Url = \"/\" + text, LinkType = linkType }, start, end);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Attempts to parse a URL without a scheme e.g. \"www.reddit.com\".\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"tripPos\"> The location of the dot character. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed URL, or <c>null</c> if this is not a URL. </returns>\r\n        internal static InlineParseResult ParsePartialLink(string markdown, int tripPos, int maxEnd)\r\n        {\r\n            int start = tripPos - 3;\r\n            if (start < 0 || markdown[start] != 'w' || markdown[start + 1] != 'w' || markdown[start + 2] != 'w')\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The character before the \"www\" must be non-alphanumeric i.e. \"bwww.reddit.com\" is not a valid URL.\r\n            if (start >= 1 && (char.IsLetterOrDigit(markdown[start - 1]) || markdown[start - 1] == '<'))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The URL must have at least one character after the www.\r\n            if (start >= maxEnd - 4)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Find the end of the URL.\r\n            int end = FindUrlEnd(markdown, start + 4, maxEnd);\r\n\r\n            var url = markdown.Substring(start, end - start);\r\n            return new InlineParseResult(new HyperlinkInline { Url = \"http://\" + url, Text = url, LinkType = HyperlinkType.PartialUrl }, start, end);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Attempts to parse an email address e.g. \"test@reddit.com\".\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"minStart\"> The minimum start position to return. </param>\r\n        /// <param name=\"tripPos\"> The location of the at character. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed URL, or <c>null</c> if this is not a URL. </returns>\r\n        internal static InlineParseResult ParseEmailAddress(string markdown, int minStart, int tripPos, int maxEnd)\r\n        {\r\n            // Search backwards until we find a character which is not a letter, digit, or one of\r\n            // these characters: '+', '-', '_', '.'.\r\n            // Note: it is intended that this code match the reddit.com markdown parser; there are\r\n            // many characters which are legal in email addresses but which aren't picked up by\r\n            // reddit (for example: '$' and '!').\r\n\r\n            // Special characters as per https://en.wikipedia.org/wiki/Email_address#Local-part allowed\r\n            char[] allowedchars = new char[] { '!', '#', '$', '%', '&', '\\'', '*', '+', '-', '/', '=', '?', '^', '_', '`', '{', '|', '}', '~' };\r\n\r\n            int start = tripPos;\r\n            while (start > minStart)\r\n            {\r\n                char c = markdown[start - 1];\r\n                if ((c < 'a' || c > 'z') &&\r\n                    (c < 'A' || c > 'Z') &&\r\n                    (c < '0' || c > '9') &&\r\n                    !allowedchars.Contains(c))\r\n                {\r\n                    break;\r\n                }\r\n\r\n                start--;\r\n            }\r\n\r\n            // There must be at least one character before the '@'.\r\n            if (start == tripPos)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Search forwards until we find a character which is not a letter, digit, or one of\r\n            // these characters: '-', '_'.\r\n            // Note: it is intended that this code match the reddit.com markdown parser;\r\n            // technically underscores ('_') aren't allowed in a host name.\r\n            int dotIndex = tripPos + 1;\r\n            while (dotIndex < maxEnd)\r\n            {\r\n                char c = markdown[dotIndex];\r\n                if ((c < 'a' || c > 'z') &&\r\n                    (c < 'A' || c > 'Z') &&\r\n                    (c < '0' || c > '9') &&\r\n                    c != '-' && c != '_')\r\n                {\r\n                    break;\r\n                }\r\n\r\n                dotIndex++;\r\n            }\r\n\r\n            // We are expecting a dot.\r\n            if (dotIndex == maxEnd || markdown[dotIndex] != '.')\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Search forwards until we find a character which is not a letter, digit, or one of\r\n            // these characters: '.', '-', '_'.\r\n            // Note: it is intended that this code match the reddit.com markdown parser;\r\n            // technically underscores ('_') aren't allowed in a host name.\r\n            int end = dotIndex + 1;\r\n            while (end < maxEnd)\r\n            {\r\n                char c = markdown[end];\r\n                if ((c < 'a' || c > 'z') &&\r\n                    (c < 'A' || c > 'Z') &&\r\n                    (c < '0' || c > '9') &&\r\n                    c != '.' && c != '-' && c != '_')\r\n                {\r\n                    break;\r\n                }\r\n\r\n                end++;\r\n            }\r\n\r\n            // There must be at least one character after the dot.\r\n            if (end == dotIndex + 1)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // We found an email address!\r\n            var emailAddress = markdown.Substring(start, end - start);\r\n            return new InlineParseResult(new HyperlinkInline { Url = \"mailto:\" + emailAddress, Text = emailAddress, LinkType = HyperlinkType.Email }, start, end);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            if (Text == null)\r\n            {\r\n                return base.ToString();\r\n            }\r\n\r\n            return Text;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Finds the next character that is not a letter, digit or underscore in a range.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start searching. </param>\r\n        /// <param name=\"end\"> The location to stop searching. </param>\r\n        /// <returns> The location of the next character that is not a letter, digit or underscore. </returns>\r\n        private static int FindEndOfRedditLink(string markdown, int start, int end)\r\n        {\r\n            int pos = start;\r\n            while (pos < markdown.Length && pos < end)\r\n            {\r\n                char c = markdown[pos];\r\n                if ((c < 'a' || c > 'z') &&\r\n                    (c < 'A' || c > 'Z') &&\r\n                    (c < '0' || c > '9') &&\r\n                    c != '_' && c != '/')\r\n                {\r\n                    return pos;\r\n                }\r\n\r\n                pos++;\r\n            }\r\n\r\n            return end;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Finds the end of a URL.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start searching. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop searching. </param>\r\n        /// <returns> The location of the end of the URL. </returns>\r\n        private static int FindUrlEnd(string markdown, int start, int maxEnd)\r\n        {\r\n            // For some reason a less than character ends a URL...\r\n            int end = markdown.IndexOfAny(new char[] { ' ', '\\t', '\\r', '\\n', '<' }, start, maxEnd - start);\r\n            if (end == -1)\r\n            {\r\n                end = maxEnd;\r\n            }\r\n\r\n            // URLs can't end on a punctuation character.\r\n            while (end - 1 > start)\r\n            {\r\n                if (Array.IndexOf(new char[] { ')', '}', ']', '!', ';', '.', '?', ',' }, markdown[end - 1]) < 0)\r\n                {\r\n                    break;\r\n                }\r\n\r\n                end--;\r\n            }\r\n\r\n            return end;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/IInlineContainer.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Inlines\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Initializes a new instance of the <see cref=\"IInlineContainer\"/> class.\r\n    /// </summary>\r\n    public interface IInlineContainer\r\n    {\r\n        /// <summary>\r\n        /// Gets or sets the contents of the inline.\r\n        /// </summary>\r\n        IList<MarkdownInline> Inlines { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/IInlineLeaf.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Inlines\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// Initializes a new instance of the <see cref=\"IInlineLeaf\"/> class.\r\n    /// </summary>\r\n    public interface IInlineLeaf\r\n    {\r\n        /// <summary>\r\n        /// Gets or sets the text for this run.\r\n        /// </summary>\r\n        string Text { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/ILinkElement.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Inlines\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// Implemented by all inline link elements.\r\n    /// </summary>\r\n    internal interface ILinkElement\r\n    {\r\n        /// <summary>\r\n        /// Gets the link URL.  This can be a relative URL, but note that subreddit links will always\r\n        /// have the leading slash (i.e. the Url will be \"/r/baconit\" even if the text is\r\n        /// \"r/baconit\").\r\n        /// </summary>\r\n        string Url { get; }\r\n\r\n        /// <summary>\r\n        /// Gets a tooltip to display on hover.  Can be <c>null</c>.\r\n        /// </summary>\r\n        string Tooltip { get; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/ImageInline.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Inlines\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Represents an embedded image.\r\n    /// </summary>\r\n    public class ImageInline : MarkdownInline, IInlineLeaf\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"ImageInline\"/> class.\r\n        /// </summary>\r\n        public ImageInline()\r\n            : base(MarkdownInlineType.Image)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the image URL.\r\n        /// </summary>\r\n        public string Url { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the image Render URL.\r\n        /// </summary>\r\n        public string RenderUrl { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a text to display on hover.\r\n        /// </summary>\r\n        public string Tooltip { get; set; }\r\n\r\n        /// <inheritdoc/>\r\n        public string Text { get; set; } = string.Empty;\r\n\r\n        /// <summary>\r\n        /// Gets or sets the ID of a reference, if this is a reference-style link.\r\n        /// </summary>\r\n        public string ReferenceId { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets image width\r\n        /// If value is greater than 0, ImageStretch is set to UniformToFill\r\n        /// If both ImageWidth and ImageHeight are greater than 0, ImageStretch is set to Fill\r\n        /// </summary>\r\n        public int ImageWidth { get; internal set; }\r\n\r\n        /// <summary>\r\n        /// Gets image height\r\n        /// If value is greater than 0, ImageStretch is set to UniformToFill\r\n        /// If both ImageWidth and ImageHeight are greater than 0, ImageStretch is set to Fill\r\n        /// </summary>\r\n        public int ImageHeight { get; internal set; }\r\n\r\n        internal static void AddTripChars(List<InlineTripCharHelper> tripCharHelpers)\r\n        {\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '!', Method = InlineParseMethod.Image });\r\n        }\r\n\r\n        /// <summary>\r\n        /// Attempts to parse an image e.g. \"![Toolkit logo](https://raw.githubusercontent.com/windows-toolkit/WindowsCommunityToolkit/master/Microsoft.Toolkit.Uwp.SampleApp/Assets/ToolkitLogo.png)\".\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start parsing. </param>\r\n        /// <param name=\"end\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed markdown image, or <c>null</c> if this is not a markdown image. </returns>\r\n        internal static InlineParseResult Parse(string markdown, int start, int end)\r\n        {\r\n            // Expect a '!' character.\r\n            if (start >= end || markdown[start] != '!')\r\n            {\r\n                return null;\r\n            }\r\n\r\n            int pos = start + 1;\r\n\r\n            // Then a '[' character\r\n            if (pos >= end || markdown[pos] != '[')\r\n            {\r\n                return null;\r\n            }\r\n\r\n            pos++;\r\n\r\n            // Find the ']' character\r\n            while (pos < end)\r\n            {\r\n                if (markdown[pos] == ']')\r\n                {\r\n                    break;\r\n                }\r\n\r\n                pos++;\r\n            }\r\n\r\n            if (pos == end)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Extract the alt.\r\n            string tooltip = markdown.Substring(start + 2, pos - (start + 2));\r\n\r\n            // Expect the '(' character.\r\n            pos++;\r\n\r\n            string reference = string.Empty;\r\n            string url = string.Empty;\r\n            int imageWidth = 0;\r\n            int imageHeight = 0;\r\n\r\n            if (pos < end && markdown[pos] == '[')\r\n            {\r\n                int refstart = pos;\r\n\r\n                // Find the reference ']' character\r\n                while (pos < end)\r\n                {\r\n                    if (markdown[pos] == ']')\r\n                    {\r\n                        break;\r\n                    }\r\n\r\n                    pos++;\r\n                }\r\n\r\n                reference = markdown.Substring(refstart + 1, pos - refstart - 1);\r\n            }\r\n            else if (pos < end && markdown[pos] == '(')\r\n            {\r\n                while (pos < end && ParseHelpers.IsMarkdownWhiteSpace(markdown[pos]))\r\n                {\r\n                    pos++;\r\n                }\r\n\r\n                // Extract the URL.\r\n                int urlStart = pos;\r\n                while (pos < end && markdown[pos] != ')')\r\n                {\r\n                    pos++;\r\n                }\r\n\r\n                var imageDimensionsPos = markdown.IndexOf(\" =\", urlStart, pos - urlStart, StringComparison.Ordinal);\r\n\r\n                url = imageDimensionsPos > 0\r\n                    ? TextRunInline.ResolveEscapeSequences(markdown, urlStart + 1, imageDimensionsPos)\r\n                    : TextRunInline.ResolveEscapeSequences(markdown, urlStart + 1, pos);\r\n\r\n                if (imageDimensionsPos > 0)\r\n                {\r\n                    // trying to find 'x' which separates image width and height\r\n                    var dimensionsSepatorPos = markdown.IndexOf(\"x\", imageDimensionsPos + 2, pos - imageDimensionsPos - 1, StringComparison.Ordinal);\r\n\r\n                    // didn't find separator, trying to parse value as imageWidth\r\n                    if (dimensionsSepatorPos == -1)\r\n                    {\r\n                        var imageWidthStr = markdown.Substring(imageDimensionsPos + 2, pos - imageDimensionsPos - 2);\r\n\r\n                        _ = int.TryParse(imageWidthStr, out imageWidth);\r\n                    }\r\n                    else\r\n                    {\r\n                        var dimensions = markdown.Substring(imageDimensionsPos + 2, pos - imageDimensionsPos - 2).Split('x');\r\n\r\n                        // got width and height\r\n                        if (dimensions.Length == 2)\r\n                        {\r\n                            _ = int.TryParse(dimensions[0], out imageWidth);\r\n                            _ = int.TryParse(dimensions[1], out imageHeight);\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n\r\n            if (pos == end)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // We found something!\r\n            var result = new ImageInline\r\n            {\r\n                Tooltip = tooltip,\r\n                RenderUrl = url,\r\n                ReferenceId = reference,\r\n                Url = url,\r\n                Text = markdown.Substring(start, pos + 1 - start),\r\n                ImageWidth = imageWidth,\r\n                ImageHeight = imageHeight\r\n            };\r\n            return new InlineParseResult(result, start, pos + 1);\r\n        }\r\n\r\n        /// <summary>\r\n        /// If this is a reference-style link, attempts to converts it to a regular link.\r\n        /// </summary>\r\n        /// <param name=\"document\"> The document containing the list of references. </param>\r\n        internal void ResolveReference(MarkdownDocument document)\r\n        {\r\n            if (document == null)\r\n            {\r\n                throw new ArgumentNullException(nameof(document));\r\n            }\r\n\r\n            if (ReferenceId == null)\r\n            {\r\n                return;\r\n            }\r\n\r\n            // Look up the reference ID.\r\n            var reference = document.LookUpReference(ReferenceId);\r\n            if (reference == null)\r\n            {\r\n                return;\r\n            }\r\n\r\n            // The reference was found. Check the URL is valid.\r\n            if (!Common.IsUrlValid(reference.Url))\r\n            {\r\n                return;\r\n            }\r\n\r\n            // Everything is cool when you're part of a team.\r\n            RenderUrl = reference.Url;\r\n            ReferenceId = null;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            if (ImageWidth > 0 && ImageHeight > 0)\r\n            {\r\n                return $\"![{Tooltip}]: {Url} (Width: {ImageWidth}, Height: {ImageHeight})\";\r\n            }\r\n\r\n            if (ImageWidth > 0)\r\n            {\r\n                return $\"![{Tooltip}]: {Url} (Width: {ImageWidth})\";\r\n            }\r\n\r\n            if (ImageHeight > 0)\r\n            {\r\n                return $\"![{Tooltip}]: {Url} (Height: {ImageHeight})\";\r\n            }\r\n\r\n            return $\"![{Tooltip}]: {Url}\";\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/ItalicTextInline.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Inlines\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Represents a span containing italic text.\r\n    /// </summary>\r\n    public class ItalicTextInline : MarkdownInline, IInlineContainer\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"ItalicTextInline\"/> class.\r\n        /// </summary>\r\n        public ItalicTextInline()\r\n            : base(MarkdownInlineType.Italic)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the contents of the inline.\r\n        /// </summary>\r\n        public IList<MarkdownInline> Inlines { get; set; }\r\n\r\n        /// <summary>\r\n        /// Returns the chars that if found means we might have a match.\r\n        /// </summary>\r\n        internal static void AddTripChars(List<InlineTripCharHelper> tripCharHelpers)\r\n        {\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '*', Method = InlineParseMethod.Italic });\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '_', Method = InlineParseMethod.Italic });\r\n        }\r\n\r\n        /// <summary>\r\n        /// Attempts to parse a italic text span.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start parsing. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed italic text span, or <c>null</c> if this is not a italic text span. </returns>\r\n        internal static InlineParseResult Parse(string markdown, int start, int maxEnd)\r\n        {\r\n            // Check the first char.\r\n            char startChar = markdown[start];\r\n            if (start == maxEnd || (startChar != '*' && startChar != '_'))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Find the end of the span.  The end character (either '*' or '_') must be the same as\r\n            // the start character.\r\n            var innerStart = start + 1;\r\n            int innerEnd = Common.IndexOf(markdown, startChar, start + 1, maxEnd);\r\n            if (innerEnd == -1)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The span must contain at least one character.\r\n            if (innerStart == innerEnd)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The first character inside the span must NOT be a space.\r\n            if (ParseHelpers.IsMarkdownWhiteSpace(markdown[innerStart]))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The last character inside the span must NOT be a space.\r\n            if (ParseHelpers.IsMarkdownWhiteSpace(markdown[innerEnd - 1]))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // We found something!\r\n            var result = new ItalicTextInline\r\n            {\r\n                Inlines = Common.ParseInlineChildren(markdown, innerStart, innerEnd)\r\n            };\r\n            return new InlineParseResult(result, start, innerEnd + 1);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            if (Inlines == null)\r\n            {\r\n                return base.ToString();\r\n            }\r\n\r\n            return \"*\" + string.Join(string.Empty, Inlines) + \"*\";\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/LinkAnchorInline.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Inlines\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Collections.Generic;\r\n    using System.Xml.Linq;\r\n\r\n    /// <summary>\r\n    /// Represents a span that contains a reference for links to point to.\r\n    /// </summary>\r\n    public class LinkAnchorInline : MarkdownInline\r\n    {\r\n        internal LinkAnchorInline()\r\n            : base(MarkdownInlineType.LinkReference)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the Name of this Link Reference.\r\n        /// </summary>\r\n        public string Link { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the raw Link Reference.\r\n        /// </summary>\r\n        public string Raw { get; set; }\r\n\r\n        /// <summary>\r\n        /// Returns the chars that if found means we might have a match.\r\n        /// </summary>\r\n        internal static void AddTripChars(List<InlineTripCharHelper> tripCharHelpers)\r\n        {\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '<', Method = InlineParseMethod.LinkReference });\r\n        }\r\n\r\n        /// <summary>\r\n        /// Attempts to parse a comment span.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start parsing. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed bold text span, or <c>null</c> if this is not a bold text span. </returns>\r\n        internal static InlineParseResult Parse(string markdown, int start, int maxEnd)\r\n        {\r\n            if (start >= maxEnd - 1)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Check the start sequence.\r\n            string startSequence = markdown.Substring(start, 2);\r\n            if (startSequence != \"<a\")\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Find the end of the span.  The end sequence ('-->')\r\n            var innerStart = start + 2;\r\n            int innerEnd = Common.IndexOf(markdown, \"</a>\", innerStart, maxEnd);\r\n            int trueEnd = innerEnd + 4;\r\n            if (innerEnd == -1)\r\n            {\r\n                innerEnd = Common.IndexOf(markdown, \"/>\", innerStart, maxEnd);\r\n                trueEnd = innerEnd + 2;\r\n                if (innerEnd == -1)\r\n                {\r\n                    return null;\r\n                }\r\n            }\r\n\r\n            // This link Reference wasn't closed properly if the next link starts before a close.\r\n            var nextLink = Common.IndexOf(markdown, \"<a\", innerStart, maxEnd);\r\n            if (nextLink > -1 && nextLink < innerEnd)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            var length = trueEnd - start;\r\n            var contents = markdown.Substring(start, length);\r\n\r\n            string link = null;\r\n\r\n            try\r\n            {\r\n                var xml = XElement.Parse(contents);\r\n                var attr = xml.Attribute(\"name\");\r\n                if (attr != null)\r\n                {\r\n                    link = attr.Value;\r\n                }\r\n            }\r\n            catch\r\n            {\r\n                // Attempting to fetch link failed, ignore and continue.\r\n            }\r\n\r\n            // Remove whitespace if it exists.\r\n            if (trueEnd + 1 <= maxEnd && markdown[trueEnd] == ' ')\r\n            {\r\n                trueEnd += 1;\r\n            }\r\n\r\n            // We found something!\r\n            var result = new LinkAnchorInline\r\n            {\r\n                Raw = contents,\r\n                Link = link\r\n            };\r\n            return new InlineParseResult(result, start, trueEnd);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            return Raw;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/MarkdownLinkInline.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Inlines\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using Microsoft.Toolkit;\r\n    using System;\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Represents a type of hyperlink where the text can be different from the target URL.\r\n    /// </summary>\r\n    public class MarkdownLinkInline : MarkdownInline, IInlineContainer, ILinkElement\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"MarkdownLinkInline\"/> class.\r\n        /// </summary>\r\n        public MarkdownLinkInline()\r\n            : base(MarkdownInlineType.MarkdownLink)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the contents of the inline.\r\n        /// </summary>\r\n        public IList<MarkdownInline> Inlines { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the link URL.\r\n        /// </summary>\r\n        public string Url { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a tooltip to display on hover.\r\n        /// </summary>\r\n        public string Tooltip { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the ID of a reference, if this is a reference-style link.\r\n        /// </summary>\r\n        public string ReferenceId { get; set; }\r\n\r\n        /// <summary>\r\n        /// Returns the chars that if found means we might have a match.\r\n        /// </summary>\r\n        internal static void AddTripChars(List<InlineTripCharHelper> tripCharHelpers)\r\n        {\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '[', Method = InlineParseMethod.MarkdownLink });\r\n        }\r\n\r\n        /// <summary>\r\n        /// Attempts to parse a markdown link e.g. \"[](http://www.reddit.com)\".\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start parsing. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed markdown link, or <c>null</c> if this is not a markdown link. </returns>\r\n        internal static InlineParseResult Parse(string markdown, int start, int maxEnd)\r\n        {\r\n            // Expect a '[' character.\r\n            if (start == maxEnd || markdown[start] != '[')\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Find the ']' character, keeping in mind that [test [0-9]](http://www.test.com) is allowed.\r\n            int linkTextOpen = start + 1;\r\n            int pos = linkTextOpen;\r\n            int linkTextClose;\r\n            int openSquareBracketCount = 0;\r\n            while (true)\r\n            {\r\n                linkTextClose = markdown.IndexOfAny(new char[] { '[', ']' }, pos, maxEnd - pos);\r\n                if (linkTextClose == -1)\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                if (markdown[linkTextClose] == '[')\r\n                {\r\n                    openSquareBracketCount++;\r\n                }\r\n                else if (openSquareBracketCount > 0)\r\n                {\r\n                    openSquareBracketCount--;\r\n                }\r\n                else\r\n                {\r\n                    break;\r\n                }\r\n\r\n                pos = linkTextClose + 1;\r\n            }\r\n\r\n            // Skip whitespace.\r\n            pos = linkTextClose + 1;\r\n            while (pos < maxEnd && ParseHelpers.IsMarkdownWhiteSpace(markdown[pos]))\r\n            {\r\n                pos++;\r\n            }\r\n\r\n            if (pos == maxEnd)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Expect the '(' character or the '[' character.\r\n            int linkOpen = pos;\r\n            if (markdown[pos] == '(')\r\n            {\r\n                // Skip whitespace.\r\n                linkOpen++;\r\n                while (linkOpen < maxEnd && ParseHelpers.IsMarkdownWhiteSpace(markdown[linkOpen]))\r\n                {\r\n                    linkOpen++;\r\n                }\r\n\r\n                // Find the ')' character.\r\n                pos = linkOpen;\r\n                int linkClose = -1;\r\n                var openParenthesis = 0;\r\n                while (pos < maxEnd)\r\n                {\r\n                    if (markdown[pos] == ')')\r\n                    {\r\n                        if (openParenthesis == 0)\r\n                        {\r\n                            linkClose = pos;\r\n                            break;\r\n                        }\r\n                        else\r\n                        {\r\n                            openParenthesis--;\r\n                        }\r\n                    }\r\n\r\n                    if (markdown[pos] == '(')\r\n                    {\r\n                        openParenthesis++;\r\n                    }\r\n\r\n                    pos++;\r\n                }\r\n\r\n                if (pos >= maxEnd)\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                int end = linkClose + 1;\r\n\r\n                // Skip whitespace backwards.\r\n                while (linkClose > linkOpen && ParseHelpers.IsMarkdownWhiteSpace(markdown[linkClose - 1]))\r\n                {\r\n                    linkClose--;\r\n                }\r\n\r\n                // If there is no text whatsoever, then this is not a valid link.\r\n                if (linkOpen == linkClose)\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                // Check if there is tooltip text.\r\n                string url;\r\n                string tooltip = null;\r\n                bool lastUrlCharIsDoubleQuote = markdown[linkClose - 1] == '\"';\r\n                int tooltipStart = Common.IndexOf(markdown, \" \\\"\", linkOpen, linkClose - 1);\r\n                if (tooltipStart == linkOpen)\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                if (lastUrlCharIsDoubleQuote && tooltipStart != -1)\r\n                {\r\n                    // Extract the URL (resolving any escape sequences).\r\n                    url = TextRunInline.ResolveEscapeSequences(markdown, linkOpen, tooltipStart).TrimEnd(' ', '\\t', '\\r', '\\n');\r\n                    tooltip = markdown.Substring(tooltipStart + 2, (linkClose - 1) - (tooltipStart + 2));\r\n                }\r\n                else\r\n                {\r\n                    // Extract the URL (resolving any escape sequences).\r\n                    url = TextRunInline.ResolveEscapeSequences(markdown, linkOpen, linkClose);\r\n                }\r\n\r\n                // Check the URL is okay.\r\n                if (!url.IsEmail())\r\n                {\r\n                    if (!Common.IsUrlValid(url))\r\n                    {\r\n                        return null;\r\n                    }\r\n                }\r\n                else\r\n                {\r\n                    tooltip = url = $\"mailto:{url}\";\r\n                }\r\n\r\n                // We found a regular stand-alone link.\r\n                var result = new MarkdownLinkInline\r\n                {\r\n                    Inlines = Common.ParseInlineChildren(markdown, linkTextOpen, linkTextClose, ignoreLinks: true),\r\n                    Url = url.Replace(\" \", \"%20\", StringComparison.Ordinal),\r\n                    Tooltip = tooltip\r\n                };\r\n                return new InlineParseResult(result, start, end);\r\n            }\r\n            else if (markdown[pos] == '[')\r\n            {\r\n                // Find the ']' character.\r\n                int linkClose = Common.IndexOf(markdown, ']', pos + 1, maxEnd);\r\n                if (linkClose == -1)\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                // We found a reference-style link.\r\n                var result = new MarkdownLinkInline\r\n                {\r\n                    Inlines = Common.ParseInlineChildren(markdown, linkTextOpen, linkTextClose, ignoreLinks: true),\r\n                    ReferenceId = markdown.Substring(linkOpen + 1, linkClose - (linkOpen + 1))\r\n                };\r\n                if (string.IsNullOrEmpty(result.ReferenceId))\r\n                {\r\n                    result.ReferenceId = markdown.Substring(linkTextOpen, linkTextClose - linkTextOpen);\r\n                }\r\n\r\n                return new InlineParseResult(result, start, linkClose + 1);\r\n            }\r\n\r\n            return null;\r\n        }\r\n\r\n        /// <summary>\r\n        /// If this is a reference-style link, attempts to converts it to a regular link.\r\n        /// </summary>\r\n        /// <param name=\"document\"> The document containing the list of references. </param>\r\n        internal void ResolveReference(MarkdownDocument document)\r\n        {\r\n            if (document == null)\r\n            {\r\n                throw new ArgumentNullException(nameof(document));\r\n            }\r\n\r\n            if (ReferenceId == null)\r\n            {\r\n                return;\r\n            }\r\n\r\n            // Look up the reference ID.\r\n            var reference = document.LookUpReference(ReferenceId);\r\n            if (reference == null)\r\n            {\r\n                return;\r\n            }\r\n\r\n            // The reference was found. Check the URL is valid.\r\n            if (!Common.IsUrlValid(reference.Url))\r\n            {\r\n                return;\r\n            }\r\n\r\n            // Everything is cool when you're part of a team.\r\n            Url = reference.Url;\r\n            Tooltip = reference.Tooltip;\r\n            ReferenceId = null;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            if (Inlines == null || Url == null)\r\n            {\r\n                return base.ToString();\r\n            }\r\n\r\n            if (ReferenceId != null)\r\n            {\r\n                return $\"[{string.Join(string.Empty, Inlines)}][{ReferenceId}]\";\r\n            }\r\n\r\n            return $\"[{string.Join(string.Empty, Inlines)}]({Url})\";\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/StrikethroughTextInline.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Inlines\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Represents a span containing strikethrough text.\r\n    /// </summary>\r\n    public class StrikethroughTextInline : MarkdownInline, IInlineContainer\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"StrikethroughTextInline\"/> class.\r\n        /// </summary>\r\n        public StrikethroughTextInline()\r\n            : base(MarkdownInlineType.Strikethrough)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets The contents of the inline.\r\n        /// </summary>\r\n        public IList<MarkdownInline> Inlines { get; set; }\r\n\r\n        /// <summary>\r\n        /// Returns the chars that if found means we might have a match.\r\n        /// </summary>\r\n        internal static void AddTripChars(List<InlineTripCharHelper> tripCharHelpers)\r\n        {\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '~', Method = InlineParseMethod.Strikethrough });\r\n        }\r\n\r\n        /// <summary>\r\n        /// Attempts to parse a strikethrough text span.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start parsing. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed strikethrough text span, or <c>null</c> if this is not a strikethrough text span. </returns>\r\n        internal static InlineParseResult Parse(string markdown, int start, int maxEnd)\r\n        {\r\n            // Check the start sequence.\r\n            if (start >= maxEnd - 1 || markdown.Substring(start, 2) != \"~~\")\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // Find the end of the span.\r\n            var innerStart = start + 2;\r\n            int innerEnd = Common.IndexOf(markdown, \"~~\", innerStart, maxEnd);\r\n            if (innerEnd == -1)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The span must contain at least one character.\r\n            if (innerStart == innerEnd)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The first character inside the span must NOT be a space.\r\n            if (ParseHelpers.IsMarkdownWhiteSpace(markdown[innerStart]))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // The last character inside the span must NOT be a space.\r\n            if (ParseHelpers.IsMarkdownWhiteSpace(markdown[innerEnd - 1]))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // We found something!\r\n            var result = new StrikethroughTextInline\r\n            {\r\n                Inlines = Common.ParseInlineChildren(markdown, innerStart, innerEnd)\r\n            };\r\n            return new InlineParseResult(result, start, innerEnd + 2);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            if (Inlines == null)\r\n            {\r\n                return base.ToString();\r\n            }\r\n\r\n            return \"~~\" + string.Join(string.Empty, Inlines) + \"~~\";\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/SubscriptTextInline.cs",
    "content": "﻿// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Inlines\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Represents a span containing subscript text.\r\n    /// </summary>\r\n    public class SubscriptTextInline : MarkdownInline, IInlineContainer\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"SubscriptTextInline\"/> class.\r\n        /// </summary>\r\n        public SubscriptTextInline()\r\n            : base(MarkdownInlineType.Subscript)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the contents of the inline.\r\n        /// </summary>\r\n        public IList<MarkdownInline> Inlines { get; set; }\r\n\r\n        /// <summary>\r\n        /// Returns the chars that if found means we might have a match.\r\n        /// </summary>\r\n        internal static void AddTripChars(List<InlineTripCharHelper> tripCharHelpers)\r\n        {\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '<', Method = InlineParseMethod.Subscript });\r\n        }\r\n\r\n        /// <summary>\r\n        /// Attempts to parse a subscript text span.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start parsing. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed subscript text span, or <c>null</c> if this is not a subscript text span. </returns>\r\n        internal static InlineParseResult Parse(string markdown, int start, int maxEnd)\r\n        {\r\n            // Check the first character.\r\n            // e.g. \"<sub>……</sub>\"\r\n            if (maxEnd - start < 5)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            if (markdown.Substring(start, 5) != \"<sub>\")\r\n            {\r\n                return null;\r\n            }\r\n\r\n            int innerStart = start + 5;\r\n            int innerEnd = Common.IndexOf(markdown, \"</sub>\", innerStart, maxEnd);\r\n\r\n            // if don't have the end character or no character between start and end\r\n            if (innerEnd == -1 || innerEnd == innerStart)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // No match if the character after the caret is a space.\r\n            if (ParseHelpers.IsMarkdownWhiteSpace(markdown[innerStart]) || ParseHelpers.IsMarkdownWhiteSpace(markdown[innerEnd - 1]))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            // We found something!\r\n            var result = new SubscriptTextInline\r\n            {\r\n                Inlines = Common.ParseInlineChildren(markdown, innerStart, innerEnd)\r\n            };\r\n            return new InlineParseResult(result, start, innerEnd + 6);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            if (Inlines == null)\r\n            {\r\n                return base.ToString();\r\n            }\r\n\r\n            return \"<sub>\" + string.Join(string.Empty, Inlines) + \"</sub>\";\r\n        }\r\n    }\r\n}\r\n"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/SuperscriptTextInline.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Inlines\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Collections.Generic;\r\n\r\n    /// <summary>\r\n    /// Represents a span containing superscript text.\r\n    /// </summary>\r\n    public class SuperscriptTextInline : MarkdownInline, IInlineContainer\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"SuperscriptTextInline\"/> class.\r\n        /// </summary>\r\n        public SuperscriptTextInline()\r\n            : base(MarkdownInlineType.Superscript)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the contents of the inline.\r\n        /// </summary>\r\n        public IList<MarkdownInline> Inlines { get; set; }\r\n\r\n        /// <summary>\r\n        /// Returns the chars that if found means we might have a match.\r\n        /// </summary>\r\n        internal static void AddTripChars(List<InlineTripCharHelper> tripCharHelpers)\r\n        {\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '^', Method = InlineParseMethod.Superscript });\r\n            tripCharHelpers.Add(new InlineTripCharHelper() { FirstChar = '<', Method = InlineParseMethod.Superscript });\r\n        }\r\n\r\n        /// <summary>\r\n        /// Attempts to parse a superscript text span.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start parsing. </param>\r\n        /// <param name=\"maxEnd\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed superscript text span, or <c>null</c> if this is not a superscript text span. </returns>\r\n        internal static InlineParseResult Parse(string markdown, int start, int maxEnd)\r\n        {\r\n            // Check the first character.\r\n            bool isHTMLSequence = false;\r\n            if (start == maxEnd || (markdown[start] != '^' && markdown[start] != '<'))\r\n            {\r\n                return null;\r\n            }\r\n\r\n            if (markdown[start] != '^')\r\n            {\r\n                if (maxEnd - start < 5)\r\n                {\r\n                    return null;\r\n                }\r\n                else if (markdown.Substring(start, 5) != \"<sup>\")\r\n                {\r\n                    return null;\r\n                }\r\n                else\r\n                {\r\n                    isHTMLSequence = true;\r\n                }\r\n            }\r\n\r\n            if (isHTMLSequence)\r\n            {\r\n                int innerStart = start + 5;\r\n                int innerEnd, end;\r\n                innerEnd = Common.IndexOf(markdown, \"</sup>\", innerStart, maxEnd);\r\n                if (innerEnd == -1)\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                if (innerEnd == innerStart)\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                if (ParseHelpers.IsMarkdownWhiteSpace(markdown[innerStart]) || ParseHelpers.IsMarkdownWhiteSpace(markdown[innerEnd - 1]))\r\n                {\r\n                    return null;\r\n                }\r\n\r\n                // We found something!\r\n                end = innerEnd + 6;\r\n                var result = new SuperscriptTextInline\r\n                {\r\n                    Inlines = Common.ParseInlineChildren(markdown, innerStart, innerEnd)\r\n                };\r\n                return new InlineParseResult(result, start, end);\r\n            }\r\n            else\r\n            {\r\n                // The content might be enclosed in parentheses.\r\n                int innerStart = start + 1;\r\n                int innerEnd, end;\r\n                if (innerStart < maxEnd && markdown[innerStart] == '(')\r\n                {\r\n                    // Find the end parenthesis.\r\n                    innerStart++;\r\n                    innerEnd = Common.IndexOf(markdown, ')', innerStart, maxEnd);\r\n                    if (innerEnd == -1)\r\n                    {\r\n                        return null;\r\n                    }\r\n\r\n                    end = innerEnd + 1;\r\n                }\r\n                else\r\n                {\r\n                    // Search for the next whitespace character.\r\n                    innerEnd = Common.FindNextWhiteSpace(markdown, innerStart, maxEnd, ifNotFoundReturnLength: true);\r\n                    if (innerEnd == innerStart)\r\n                    {\r\n                        // No match if the character after the caret is a space.\r\n                        return null;\r\n                    }\r\n\r\n                    end = innerEnd;\r\n                }\r\n\r\n                // We found something!\r\n                var result = new SuperscriptTextInline\r\n                {\r\n                    Inlines = Common.ParseInlineChildren(markdown, innerStart, innerEnd)\r\n                };\r\n                return new InlineParseResult(result, start, end);\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            if (Inlines == null)\r\n            {\r\n                return base.ToString();\r\n            }\r\n\r\n            return \"^(\" + string.Join(string.Empty, Inlines) + \")\";\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Inlines/TextRunInline.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Inlines\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Text;\r\n\r\n    /// <summary>\r\n    /// Represents a span containing plain text.\r\n    /// </summary>\r\n    public class TextRunInline : MarkdownInline, IInlineLeaf\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"TextRunInline\"/> class.\r\n        /// </summary>\r\n        public TextRunInline()\r\n            : base(MarkdownInlineType.TextRun)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the text for this run.\r\n        /// </summary>\r\n        public string Text { get; set; }\r\n\r\n        // A list of supported HTML entity names, along with their corresponding code points.\r\n        private static readonly Dictionary<string, int> _entities = new Dictionary<string, int>\r\n        {\r\n            { \"quot\", 0x0022 }, // \"\r\n            { \"amp\", 0x0026 }, // &\r\n            { \"apos\", 0x0027 }, // '\r\n            { \"lt\", 0x003C }, // <\r\n            { \"gt\", 0x003E }, // >\r\n            { \"nbsp\", 0x00A0 }, // <space>\r\n            { \"#160\", 0x00A0 }, // ?\r\n            { \"iexcl\", 0x00A1 }, // ¡\r\n            { \"cent\", 0x00A2 }, // ¢\r\n            { \"pound\", 0x00A3 }, // £\r\n            { \"curren\", 0x00A4 }, // ¤\r\n            { \"yen\", 0x00A5 }, // ¥\r\n            { \"brvbar\", 0x00A6 }, // ¦\r\n            { \"sect\", 0x00A7 }, // §\r\n            { \"uml\", 0x00A8 }, // ¨\r\n            { \"copy\", 0x00A9 }, // ©\r\n            { \"ordf\", 0x00AA }, // ª\r\n            { \"laquo\", 0x00AB }, // «\r\n            { \"not\", 0x00AC }, // ¬\r\n            { \"shy\", 0x00AD }, // ?\r\n            { \"reg\", 0x00AE }, // ®\r\n            { \"macr\", 0x00AF }, // ¯\r\n            { \"deg\", 0x00B0 }, // °\r\n            { \"plusmn\", 0x00B1 }, // ±\r\n            { \"sup2\", 0x00B2 }, // ²\r\n            { \"sup3\", 0x00B3 }, // ³\r\n            { \"acute\", 0x00B4 }, // ´\r\n            { \"micro\", 0x00B5 }, // µ\r\n            { \"para\", 0x00B6 }, // ¶\r\n            { \"middot\", 0x00B7 }, // ·\r\n            { \"cedil\", 0x00B8 }, // ¸\r\n            { \"sup1\", 0x00B9 }, // ¹\r\n            { \"ordm\", 0x00BA }, // º\r\n            { \"raquo\", 0x00BB }, // »\r\n            { \"frac14\", 0x00BC }, // ¼\r\n            { \"frac12\", 0x00BD }, // ½\r\n            { \"frac34\", 0x00BE }, // ¾\r\n            { \"iquest\", 0x00BF }, // ¿\r\n            { \"Agrave\", 0x00C0 }, // À\r\n            { \"Aacute\", 0x00C1 }, // Á\r\n            { \"Acirc\", 0x00C2 }, // Â\r\n            { \"Atilde\", 0x00C3 }, // Ã\r\n            { \"Auml\", 0x00C4 }, // Ä\r\n            { \"Aring\", 0x00C5 }, // Å\r\n            { \"AElig\", 0x00C6 }, // Æ\r\n            { \"Ccedil\", 0x00C7 }, // Ç\r\n            { \"Egrave\", 0x00C8 }, // È\r\n            { \"Eacute\", 0x00C9 }, // É\r\n            { \"Ecirc\", 0x00CA }, // Ê\r\n            { \"Euml\", 0x00CB }, // Ë\r\n            { \"Igrave\", 0x00CC }, // Ì\r\n            { \"Iacute\", 0x00CD }, // Í\r\n            { \"Icirc\", 0x00CE }, // Î\r\n            { \"Iuml\", 0x00CF }, // Ï\r\n            { \"ETH\", 0x00D0 }, // Ð\r\n            { \"Ntilde\", 0x00D1 }, // Ñ\r\n            { \"Ograve\", 0x00D2 }, // Ò\r\n            { \"Oacute\", 0x00D3 }, // Ó\r\n            { \"Ocirc\", 0x00D4 }, // Ô\r\n            { \"Otilde\", 0x00D5 }, // Õ\r\n            { \"Ouml\", 0x00D6 }, // Ö\r\n            { \"times\", 0x00D7 }, // ×\r\n            { \"Oslash\", 0x00D8 }, // Ø\r\n            { \"Ugrave\", 0x00D9 }, // Ù\r\n            { \"Uacute\", 0x00DA }, // Ú\r\n            { \"Ucirc\", 0x00DB }, // Û\r\n            { \"Uuml\", 0x00DC }, // Ü\r\n            { \"Yacute\", 0x00DD }, // Ý\r\n            { \"THORN\", 0x00DE }, // Þ\r\n            { \"szlig\", 0x00DF }, // ß\r\n            { \"agrave\", 0x00E0 }, // à\r\n            { \"aacute\", 0x00E1 }, // á\r\n            { \"acirc\", 0x00E2 }, // â\r\n            { \"atilde\", 0x00E3 }, // ã\r\n            { \"auml\", 0x00E4 }, // ä\r\n            { \"aring\", 0x00E5 }, // å\r\n            { \"aelig\", 0x00E6 }, // æ\r\n            { \"ccedil\", 0x00E7 }, // ç\r\n            { \"egrave\", 0x00E8 }, // è\r\n            { \"eacute\", 0x00E9 }, // é\r\n            { \"ecirc\", 0x00EA }, // ê\r\n            { \"euml\", 0x00EB }, // ë\r\n            { \"igrave\", 0x00EC }, // ì\r\n            { \"iacute\", 0x00ED }, // í\r\n            { \"icirc\", 0x00EE }, // î\r\n            { \"iuml\", 0x00EF }, // ï\r\n            { \"eth\", 0x00F0 }, // ð\r\n            { \"ntilde\", 0x00F1 }, // ñ\r\n            { \"ograve\", 0x00F2 }, // ò\r\n            { \"oacute\", 0x00F3 }, // ó\r\n            { \"ocirc\", 0x00F4 }, // ô\r\n            { \"otilde\", 0x00F5 }, // õ\r\n            { \"ouml\", 0x00F6 }, // ö\r\n            { \"divide\", 0x00F7 }, // ÷\r\n            { \"oslash\", 0x00F8 }, // ø\r\n            { \"ugrave\", 0x00F9 }, // ù\r\n            { \"uacute\", 0x00FA }, // ú\r\n            { \"ucirc\", 0x00FB }, // û\r\n            { \"uuml\", 0x00FC }, // ü\r\n            { \"yacute\", 0x00FD }, // ý\r\n            { \"thorn\", 0x00FE }, // þ\r\n            { \"yuml\", 0x00FF }, // ÿ\r\n            { \"OElig\", 0x0152 }, // Œ\r\n            { \"oelig\", 0x0153 }, // œ\r\n            { \"Scaron\", 0x0160 }, // Š\r\n            { \"scaron\", 0x0161 }, // š\r\n            { \"Yuml\", 0x0178 }, // Ÿ\r\n            { \"fnof\", 0x0192 }, // ƒ\r\n            { \"circ\", 0x02C6 }, // ˆ\r\n            { \"tilde\", 0x02DC }, // ˜\r\n            { \"Alpha\", 0x0391 }, // Α\r\n            { \"Beta\", 0x0392 }, // Β\r\n            { \"Gamma\", 0x0393 }, // Γ\r\n            { \"Delta\", 0x0394 }, // Δ\r\n            { \"Epsilon\", 0x0395 }, // Ε\r\n            { \"Zeta\", 0x0396 }, // Ζ\r\n            { \"Eta\", 0x0397 }, // Η\r\n            { \"Theta\", 0x0398 }, // Θ\r\n            { \"Iota\", 0x0399 }, // Ι\r\n            { \"Kappa\", 0x039A }, // Κ\r\n            { \"Lambda\", 0x039B }, // Λ\r\n            { \"Mu\", 0x039C }, // Μ\r\n            { \"Nu\", 0x039D }, // Ν\r\n            { \"Xi\", 0x039E }, // Ξ\r\n            { \"Omicron\", 0x039F }, // Ο\r\n            { \"Pi\", 0x03A0 }, // Π\r\n            { \"Rho\", 0x03A1 }, // Ρ\r\n            { \"Sigma\", 0x03A3 }, // Σ\r\n            { \"Tau\", 0x03A4 }, // Τ\r\n            { \"Upsilon\", 0x03A5 }, // Υ\r\n            { \"Phi\", 0x03A6 }, // Φ\r\n            { \"Chi\", 0x03A7 }, // Χ\r\n            { \"Psi\", 0x03A8 }, // Ψ\r\n            { \"Omega\", 0x03A9 }, // Ω\r\n            { \"alpha\", 0x03B1 }, // α\r\n            { \"beta\", 0x03B2 }, // β\r\n            { \"gamma\", 0x03B3 }, // γ\r\n            { \"delta\", 0x03B4 }, // δ\r\n            { \"epsilon\", 0x03B5 }, // ε\r\n            { \"zeta\", 0x03B6 }, // ζ\r\n            { \"eta\", 0x03B7 }, // η\r\n            { \"theta\", 0x03B8 }, // θ\r\n            { \"iota\", 0x03B9 }, // ι\r\n            { \"kappa\", 0x03BA }, // κ\r\n            { \"lambda\", 0x03BB }, // λ\r\n            { \"mu\", 0x03BC }, // μ\r\n            { \"nu\", 0x03BD }, // ν\r\n            { \"xi\", 0x03BE }, // ξ\r\n            { \"omicron\", 0x03BF }, // ο\r\n            { \"pi\", 0x03C0 }, // π\r\n            { \"rho\", 0x03C1 }, // ρ\r\n            { \"sigmaf\", 0x03C2 }, // ς\r\n            { \"sigma\", 0x03C3 }, // σ\r\n            { \"tau\", 0x03C4 }, // τ\r\n            { \"upsilon\", 0x03C5 }, // υ\r\n            { \"phi\", 0x03C6 }, // φ\r\n            { \"chi\", 0x03C7 }, // χ\r\n            { \"psi\", 0x03C8 }, // ψ\r\n            { \"omega\", 0x03C9 }, // ω\r\n            { \"thetasym\", 0x03D1 }, // ϑ\r\n            { \"upsih\", 0x03D2 }, // ϒ\r\n            { \"piv\", 0x03D6 }, // ϖ\r\n            { \"ensp\", 0x2002 }, //  ?\r\n            { \"emsp\", 0x2003 }, //  ?\r\n            { \"thinsp\", 0x2009 }, //  ?\r\n            { \"zwnj\", 0x200C }, //  ?\r\n            { \"zwj\", 0x200D }, //  ?\r\n            { \"lrm\", 0x200E }, //  ?\r\n            { \"rlm\", 0x200F }, //  ?\r\n            { \"ndash\", 0x2013 }, // –\r\n            { \"mdash\", 0x2014 }, // —\r\n            { \"lsquo\", 0x2018 }, // ‘\r\n            { \"rsquo\", 0x2019 }, // ’\r\n            { \"sbquo\", 0x201A }, // ‚\r\n            { \"ldquo\", 0x201C }, // “\r\n            { \"rdquo\", 0x201D }, // ”\r\n            { \"bdquo\", 0x201E }, // „\r\n            { \"dagger\", 0x2020 }, // †\r\n            { \"Dagger\", 0x2021 }, // ‡\r\n            { \"bull\", 0x2022 }, // •\r\n            { \"hellip\", 0x2026 }, // …\r\n            { \"permil\", 0x2030 }, // ‰\r\n            { \"prime\", 0x2032 }, // ′\r\n            { \"Prime\", 0x2033 }, // ″\r\n            { \"lsaquo\", 0x2039 }, // ‹\r\n            { \"rsaquo\", 0x203A }, // ›\r\n            { \"oline\", 0x203E }, // ‾\r\n            { \"frasl\", 0x2044 }, // ⁄\r\n            { \"euro\", 0x20AC }, // €\r\n            { \"image\", 0x2111 }, // ℑ\r\n            { \"weierp\", 0x2118 }, // ℘\r\n            { \"real\", 0x211C }, // ℜ\r\n            { \"trade\", 0x2122 }, // ™\r\n            { \"alefsym\", 0x2135 }, // ℵ\r\n            { \"larr\", 0x2190 }, // ←\r\n            { \"uarr\", 0x2191 }, // ↑\r\n            { \"rarr\", 0x2192 }, // →\r\n            { \"darr\", 0x2193 }, // ↓\r\n            { \"harr\", 0x2194 }, // ↔\r\n            { \"crarr\", 0x21B5 }, // ↵\r\n            { \"lArr\", 0x21D0 }, // ⇐\r\n            { \"uArr\", 0x21D1 }, // ⇑\r\n            { \"rArr\", 0x21D2 }, // ⇒\r\n            { \"dArr\", 0x21D3 }, // ⇓\r\n            { \"hArr\", 0x21D4 }, // ⇔\r\n            { \"forall\", 0x2200 }, // ∀\r\n            { \"part\", 0x2202 }, // ∂\r\n            { \"exist\", 0x2203 }, // ∃\r\n            { \"empty\", 0x2205 }, // ∅\r\n            { \"nabla\", 0x2207 }, // ∇\r\n            { \"isin\", 0x2208 }, // ∈\r\n            { \"notin\", 0x2209 }, // ∉\r\n            { \"ni\", 0x220B }, // ∋\r\n            { \"prod\", 0x220F }, // ∏\r\n            { \"sum\", 0x2211 }, // ∑\r\n            { \"minus\", 0x2212 }, // −\r\n            { \"lowast\", 0x2217 }, // ∗\r\n            { \"radic\", 0x221A }, // √\r\n            { \"prop\", 0x221D }, // ∝\r\n            { \"infin\", 0x221E }, // ∞\r\n            { \"ang\", 0x2220 }, // ∠\r\n            { \"and\", 0x2227 }, // ∧\r\n            { \"or\", 0x2228 }, // ∨\r\n            { \"cap\", 0x2229 }, // ∩\r\n            { \"cup\", 0x222A }, // ∪\r\n            { \"int\", 0x222B }, // ∫\r\n            { \"there4\", 0x2234 }, // ∴\r\n            { \"sim\", 0x223C }, // ∼\r\n            { \"cong\", 0x2245 }, // ≅\r\n            { \"asymp\", 0x2248 }, // ≈\r\n            { \"ne\", 0x2260 }, // ≠\r\n            { \"equiv\", 0x2261 }, // ≡\r\n            { \"le\", 0x2264 }, // ≤\r\n            { \"ge\", 0x2265 }, // ≥\r\n            { \"sub\", 0x2282 }, // ⊂\r\n            { \"sup\", 0x2283 }, // ⊃\r\n            { \"nsub\", 0x2284 }, // ⊄\r\n            { \"sube\", 0x2286 }, // ⊆\r\n            { \"supe\", 0x2287 }, // ⊇\r\n            { \"oplus\", 0x2295 }, // ⊕\r\n            { \"otimes\", 0x2297 }, // ⊗\r\n            { \"perp\", 0x22A5 }, // ⊥\r\n            { \"sdot\", 0x22C5 }, // ⋅\r\n            { \"lceil\", 0x2308 }, // ⌈\r\n            { \"rceil\", 0x2309 }, // ⌉\r\n            { \"lfloor\", 0x230A }, // ⌊\r\n            { \"rfloor\", 0x230B }, // ⌋\r\n            { \"lang\", 0x2329 }, // 〈\r\n            { \"rang\", 0x232A }, // 〉\r\n            { \"loz\", 0x25CA }, // ◊\r\n            { \"spades\", 0x2660 }, // ♠\r\n            { \"clubs\", 0x2663 }, // ♣\r\n            { \"hearts\", 0x2665 }, // ♥\r\n            { \"diams\", 0x2666 }, // ♦\r\n        };\r\n\r\n        // A list of characters that can be escaped.\r\n        private static readonly char[] _escapeCharacters = new char[] { '\\\\', '`', '*', '_', '{', '}', '[', ']', '(', ')', '#', '+', '-', '.', '!', '|', '~', '^', '&', ':', '<', '>', '/' };\r\n\r\n        /// <summary>\r\n        /// Parses unformatted text.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start parsing. </param>\r\n        /// <param name=\"end\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed text span. </returns>\r\n        internal static TextRunInline Parse(string markdown, int start, int end)\r\n        {\r\n            // Handle escape sequences and entities.\r\n            // Note: this code is designed to be as fast as possible in the case where there are no\r\n            // escape sequences and no entities (expected to be the common case).\r\n            StringBuilder result = null;\r\n            int textPos = start;\r\n            int searchPos = start;\r\n            while (searchPos < end)\r\n            {\r\n                // Look for the next backslash.\r\n                int sequenceStartIndex = markdown.IndexOfAny(new char[] { '\\\\', '&' }, searchPos, end - searchPos);\r\n                if (sequenceStartIndex == -1)\r\n                {\r\n                    break;\r\n                }\r\n\r\n                searchPos = sequenceStartIndex + 1;\r\n\r\n                char decodedChar;\r\n                if (markdown[sequenceStartIndex] == '\\\\')\r\n                {\r\n                    // This is an escape sequence, with one more character expected.\r\n                    if (sequenceStartIndex >= end - 1)\r\n                    {\r\n                        break;\r\n                    }\r\n\r\n                    // Check if the character after the backslash can be escaped.\r\n                    decodedChar = markdown[sequenceStartIndex + 1];\r\n                    if (Array.IndexOf(_escapeCharacters, decodedChar) < 0)\r\n                    {\r\n                        // This character cannot be escaped.\r\n                        continue;\r\n                    }\r\n\r\n                    // This here's an escape sequence!\r\n                    if (result == null)\r\n                    {\r\n                        result = new StringBuilder(end - start);\r\n                    }\r\n\r\n                    result.Append(markdown.Substring(textPos, sequenceStartIndex - textPos));\r\n                    result.Append(decodedChar);\r\n                    searchPos = textPos = sequenceStartIndex + 2;\r\n                }\r\n                else if (markdown[sequenceStartIndex] == '&')\r\n                {\r\n                    // This is an entity e.g. \"&nbsp;\".\r\n\r\n                    // Look for the semicolon.\r\n                    int semicolonIndex = markdown.IndexOf(';', sequenceStartIndex + 1, end - (sequenceStartIndex + 1));\r\n\r\n                    // Unterminated entity.\r\n                    if (semicolonIndex == -1)\r\n                    {\r\n                        continue;\r\n                    }\r\n\r\n                    // Okay, we have an entity, but is it one we recognize?\r\n                    string entityName = markdown.Substring(sequenceStartIndex + 1, semicolonIndex - (sequenceStartIndex + 1));\r\n\r\n                    // Unrecognized entity.\r\n                    if (_entities.ContainsKey(entityName) == false)\r\n                    {\r\n                        continue;\r\n                    }\r\n\r\n                    // This here's an escape sequence!\r\n                    if (result == null)\r\n                    {\r\n                        result = new StringBuilder(end - start);\r\n                    }\r\n\r\n                    result.Append(markdown.Substring(textPos, sequenceStartIndex - textPos));\r\n                    result.Append((char)_entities[entityName]);\r\n                    searchPos = textPos = semicolonIndex + 1;\r\n                }\r\n            }\r\n\r\n            if (result != null)\r\n            {\r\n                result.Append(markdown.Substring(textPos, end - textPos));\r\n                return new TextRunInline { Text = result.ToString() };\r\n            }\r\n\r\n            var length = end - start;\r\n\r\n            // HACK: in case end < start happens\r\n            if (length <= 0)\r\n            {\r\n                return new TextRunInline { Text = string.Empty };\r\n            }\r\n\r\n            return new TextRunInline { Text = markdown.Substring(start, length) };\r\n        }\r\n\r\n        /// <summary>\r\n        /// Parses unformatted text.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The location to start parsing. </param>\r\n        /// <param name=\"end\"> The location to stop parsing. </param>\r\n        /// <returns> A parsed text span. </returns>\r\n        internal static string ResolveEscapeSequences(string markdown, int start, int end)\r\n        {\r\n            // Handle escape sequences only.\r\n            // Note: this code is designed to be as fast as possible in the case where there are no\r\n            // escape sequences (expected to be the common case).\r\n            StringBuilder result = null;\r\n            int textPos = start;\r\n            int searchPos = start;\r\n            while (searchPos < end)\r\n            {\r\n                // Look for the next backslash.\r\n                int sequenceStartIndex = markdown.IndexOf('\\\\', searchPos, end - searchPos);\r\n                if (sequenceStartIndex == -1)\r\n                {\r\n                    break;\r\n                }\r\n\r\n                searchPos = sequenceStartIndex + 1;\r\n\r\n                // This is an escape sequence, with one more character expected.\r\n                if (sequenceStartIndex >= end - 1)\r\n                {\r\n                    break;\r\n                }\r\n\r\n                // Check if the character after the backslash can be escaped.\r\n                char decodedChar = markdown[sequenceStartIndex + 1];\r\n                if (Array.IndexOf(_escapeCharacters, decodedChar) < 0)\r\n                {\r\n                    // This character cannot be escaped.\r\n                    continue;\r\n                }\r\n\r\n                // This here's an escape sequence!\r\n                if (result == null)\r\n                {\r\n                    result = new StringBuilder(end - start);\r\n                }\r\n\r\n                result.Append(markdown.Substring(textPos, sequenceStartIndex - textPos));\r\n                result.Append(decodedChar);\r\n                searchPos = textPos = sequenceStartIndex + 2;\r\n            }\r\n\r\n            if (result != null)\r\n            {\r\n                result.Append(markdown.Substring(textPos, end - textPos));\r\n                return result.ToString();\r\n            }\r\n\r\n            return markdown.Substring(start, end - start);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            if (Text == null)\r\n            {\r\n                return base.ToString();\r\n            }\r\n\r\n            return Text;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/MarkdownBlock.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// A Block Element is an element that is a container for other structures.\r\n    /// </summary>\r\n    public abstract class MarkdownBlock : MarkdownElement\r\n    {\r\n        /// <summary>\r\n        /// Gets or sets tells us what type this element is.\r\n        /// </summary>\r\n        public MarkdownBlockType Type { get; set; }\r\n\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"MarkdownBlock\"/> class.\r\n        /// </summary>\r\n        internal MarkdownBlock(MarkdownBlockType type)\r\n        {\r\n            Type = type;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Determines whether the specified object is equal to the current object.\r\n        /// </summary>\r\n        /// <param name=\"obj\"> The object to compare with the current object. </param>\r\n        /// <returns> <c>true</c> if the specified object is equal to the current object; otherwise, <c>false.</c> </returns>\r\n        public override bool Equals(object obj)\r\n        {\r\n            if (!base.Equals(obj) || !(obj is MarkdownBlock))\r\n            {\r\n                return false;\r\n            }\r\n\r\n            return Type == ((MarkdownBlock)obj).Type;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Serves as the default hash function.\r\n        /// </summary>\r\n        /// <returns> A hash code for the current object. </returns>\r\n        public override int GetHashCode()\r\n        {\r\n            return base.GetHashCode() ^ Type.GetHashCode();\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/MarkdownDocument.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Linq;\r\n    using System.Text;\r\n\r\n    /// <summary>\r\n    /// Represents a Markdown Document. <para/>\r\n    /// Initialize an instance and call <see cref=\"Parse(string)\"/> to parse the Raw Markdown Text.\r\n    /// </summary>\r\n    public class MarkdownDocument : MarkdownBlock\r\n    {\r\n        /// <summary>\r\n        /// Gets a list of URL schemes.\r\n        /// </summary>\r\n        public static List<string> KnownSchemes { get; private set; } = new List<string>()\r\n        {\r\n            \"http\",\r\n            \"https\",\r\n            \"ftp\",\r\n            \"steam\",\r\n            \"irc\",\r\n            \"news\",\r\n            \"mumble\",\r\n            \"ssh\",\r\n            \"ms-windows-store\",\r\n            \"sip\"\r\n        };\r\n\r\n        private Dictionary<string, LinkReferenceBlock> _references;\r\n\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"MarkdownDocument\"/> class.\r\n        /// </summary>\r\n        public MarkdownDocument()\r\n            : base(MarkdownBlockType.Root)\r\n        {\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the list of block elements.\r\n        /// </summary>\r\n        public IList<MarkdownBlock> Blocks { get; set; }\r\n\r\n        /// <summary>\r\n        /// Parses markdown document text.\r\n        /// </summary>\r\n        /// <param name=\"markdownText\"> The markdown text. </param>\r\n        public void Parse(string markdownText)\r\n        {\r\n            Blocks = Parse(markdownText, 0, markdownText.Length, quoteDepth: 0, actualEnd: out _);\r\n\r\n            // Remove any references from the list of blocks, and add them to a dictionary.\r\n            for (int i = Blocks.Count - 1; i >= 0; i--)\r\n            {\r\n                if (Blocks[i].Type == MarkdownBlockType.LinkReference)\r\n                {\r\n                    var reference = (LinkReferenceBlock)Blocks[i];\r\n                    if (_references == null)\r\n                    {\r\n                        _references = new Dictionary<string, LinkReferenceBlock>(StringComparer.OrdinalIgnoreCase);\r\n                    }\r\n\r\n                    if (!_references.ContainsKey(reference.Id))\r\n                    {\r\n                        _references.Add(reference.Id, reference);\r\n                    }\r\n\r\n                    Blocks.RemoveAt(i);\r\n                }\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Parses a markdown document.\r\n        /// </summary>\r\n        /// <param name=\"markdown\"> The markdown text. </param>\r\n        /// <param name=\"start\"> The position to start parsing. </param>\r\n        /// <param name=\"end\"> The position to stop parsing. </param>\r\n        /// <param name=\"quoteDepth\"> The current nesting level for block quoting. </param>\r\n        /// <param name=\"actualEnd\"> Set to the position at which parsing ended.  This can be\r\n        /// different from <paramref name=\"end\"/> when the parser is being called recursively.\r\n        /// </param>\r\n        /// <returns> A list of parsed blocks. </returns>\r\n        internal static List<MarkdownBlock> Parse(string markdown, int start, int end, int quoteDepth, out int actualEnd)\r\n        {\r\n            // We need to parse out the list of blocks.\r\n            // Some blocks need to start on a new paragraph (code, lists and tables) while other\r\n            // blocks can start on any line (headers, horizontal rules and quotes).\r\n            // Text that is outside of any other block becomes a paragraph.\r\n            var blocks = new List<MarkdownBlock>();\r\n            int startOfLine = start;\r\n            bool lineStartsNewParagraph = true;\r\n            var paragraphText = new StringBuilder();\r\n\r\n            // These are needed to parse underline-style header blocks.\r\n            int previousRealtStartOfLine = start;\r\n            int previousStartOfLine = start;\r\n            int previousEndOfLine = start;\r\n\r\n            // Go line by line.\r\n            while (startOfLine < end)\r\n            {\r\n                // Find the first non-whitespace character.\r\n                int nonSpacePos = startOfLine;\r\n                char nonSpaceChar = '\\0';\r\n                int realStartOfLine = startOfLine;  // i.e. including quotes.\r\n                int expectedQuotesRemaining = quoteDepth;\r\n                while (true)\r\n                {\r\n                    while (nonSpacePos < end)\r\n                    {\r\n                        char c = markdown[nonSpacePos];\r\n                        if (c == '\\r' || c == '\\n')\r\n                        {\r\n                            // The line is either entirely whitespace, or is empty.\r\n                            break;\r\n                        }\r\n\r\n                        if (c != ' ' && c != '\\t')\r\n                        {\r\n                            // The line has content.\r\n                            nonSpaceChar = c;\r\n                            break;\r\n                        }\r\n\r\n                        nonSpacePos++;\r\n                    }\r\n\r\n                    // When parsing blocks in a blockquote context, we need to count the number of\r\n                    // quote characters ('>').  If there are less than expected AND this is the\r\n                    // start of a new paragraph, then stop parsing.\r\n                    if (expectedQuotesRemaining == 0)\r\n                    {\r\n                        break;\r\n                    }\r\n\r\n                    if (nonSpaceChar == '>')\r\n                    {\r\n                        // Expected block quote characters should be ignored.\r\n                        expectedQuotesRemaining--;\r\n                        nonSpacePos++;\r\n                        nonSpaceChar = '\\0';\r\n                        startOfLine = nonSpacePos;\r\n\r\n                        // Ignore the first space after the quote character, if there is one.\r\n                        if (startOfLine < end && markdown[startOfLine] == ' ')\r\n                        {\r\n                            startOfLine++;\r\n                            nonSpacePos++;\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        int lastIndentation = 0;\r\n                        string lastline = null;\r\n\r\n                        // Determines how many Quote levels were in the last line.\r\n                        if (realStartOfLine > 0)\r\n                        {\r\n                            lastline = markdown.Substring(previousRealtStartOfLine, previousEndOfLine - previousRealtStartOfLine);\r\n                            lastIndentation = lastline.Count(c => c == '>');\r\n                        }\r\n\r\n                        var currentEndOfLine = Common.FindNextSingleNewLine(markdown, nonSpacePos, end, out _);\r\n                        var currentline = markdown.Substring(realStartOfLine, currentEndOfLine - realStartOfLine);\r\n                        var currentIndentation = currentline.Count(c => c == '>');\r\n                        var firstChar = markdown[realStartOfLine];\r\n\r\n                        // This is a quote that doesn't start with a Quote marker, but carries on from the last line.\r\n                        if (lastIndentation == 1)\r\n                        {\r\n                            if (nonSpaceChar != '\\0' && firstChar != '>')\r\n                            {\r\n                                break;\r\n                            }\r\n                        }\r\n\r\n                        // Collapse down a level of quotes if the current indentation is greater than the last indentation.\r\n                        // Only if the last indentation is greater than 1, and the current indentation is greater than 0\r\n                        if (lastIndentation > 1 && currentIndentation > 0 && currentIndentation < lastIndentation)\r\n                        {\r\n                            break;\r\n                        }\r\n\r\n                        // This must be the end of the blockquote.  End the current paragraph, if any.\r\n                        actualEnd = realStartOfLine;\r\n\r\n                        if (paragraphText.Length > 0)\r\n                        {\r\n                            blocks.Add(ParagraphBlock.Parse(paragraphText.ToString()));\r\n                        }\r\n\r\n                        return blocks;\r\n                    }\r\n                }\r\n\r\n                // Find the end of the current line.\r\n                int endOfLine = Common.FindNextSingleNewLine(markdown, nonSpacePos, end, out int startOfNextLine);\r\n\r\n                if (nonSpaceChar == '\\0')\r\n                {\r\n                    // The line is empty or nothing but whitespace.\r\n                    lineStartsNewParagraph = true;\r\n\r\n                    // End the current paragraph.\r\n                    if (paragraphText.Length > 0)\r\n                    {\r\n                        blocks.Add(ParagraphBlock.Parse(paragraphText.ToString()));\r\n                        paragraphText.Clear();\r\n                    }\r\n                }\r\n                else\r\n                {\r\n                    // This is a header if the line starts with a hash character,\r\n                    // or if the line starts with '-' or a '=' character and has no other characters.\r\n                    // Or a quote if the line starts with a greater than character (optionally preceded by whitespace).\r\n                    // Or a horizontal rule if the line contains nothing but 3 '*', '-' or '_' characters (with optional whitespace).\r\n                    MarkdownBlock newBlockElement = null;\r\n                    if (nonSpaceChar == '-' && nonSpacePos == startOfLine)\r\n                    {\r\n                        // Yaml Header\r\n                        newBlockElement = YamlHeaderBlock.Parse(markdown, startOfLine, markdown.Length, out startOfLine);\r\n                        if (newBlockElement != null)\r\n                        {\r\n                            realStartOfLine = startOfLine;\r\n                            endOfLine = startOfLine + 3;\r\n                            startOfNextLine = Common.FindNextSingleNewLine(markdown, startOfLine, end, out startOfNextLine);\r\n\r\n                            paragraphText.Clear();\r\n                        }\r\n                    }\r\n\r\n                    if (newBlockElement == null && nonSpaceChar == '#' && nonSpacePos == startOfLine)\r\n                    {\r\n                        // Hash-prefixed header.\r\n                        newBlockElement = HeaderBlock.ParseHashPrefixedHeader(markdown, startOfLine, endOfLine);\r\n                    }\r\n                    else if ((nonSpaceChar == '-' || nonSpaceChar == '=') && nonSpacePos == startOfLine && paragraphText.Length > 0)\r\n                    {\r\n                        // Underline style header. These are weird because you don't know you've\r\n                        // got one until you've gone past it.\r\n                        // Note: we intentionally deviate from reddit here in that we only\r\n                        // recognize this type of header if the previous line is part of a\r\n                        // paragraph.  For example if you have this, the header at the bottom is\r\n                        // ignored:\r\n                        //   a|b\r\n                        //   -|-\r\n                        //   1|2\r\n                        //   ===\r\n                        newBlockElement = HeaderBlock.ParseUnderlineStyleHeader(markdown, previousStartOfLine, previousEndOfLine, startOfLine, endOfLine);\r\n\r\n                        if (newBlockElement != null)\r\n                        {\r\n                            // We're going to have to remove the header text from the pending\r\n                            // paragraph by prematurely ending the current paragraph.\r\n                            // We already made sure that there is a paragraph in progress.\r\n                            paragraphText.Length -= (previousEndOfLine - previousStartOfLine);\r\n                        }\r\n                    }\r\n\r\n                    // These characters overlap with the underline-style header - this check should go after that one.\r\n                    if (newBlockElement == null && (nonSpaceChar == '*' || nonSpaceChar == '-' || nonSpaceChar == '_'))\r\n                    {\r\n                        newBlockElement = HorizontalRuleBlock.Parse(markdown, startOfLine, endOfLine);\r\n                    }\r\n\r\n                    if (newBlockElement == null && lineStartsNewParagraph)\r\n                    {\r\n                        // Some block elements must start on a new paragraph (tables, lists and code).\r\n                        int endOfBlock = startOfNextLine;\r\n                        if (nonSpaceChar == '*' || nonSpaceChar == '+' || nonSpaceChar == '-' || (nonSpaceChar >= '0' && nonSpaceChar <= '9'))\r\n                        {\r\n                            newBlockElement = ListBlock.Parse(markdown, realStartOfLine, end, quoteDepth, out endOfBlock);\r\n                        }\r\n\r\n                        if (newBlockElement == null && (nonSpacePos > startOfLine || nonSpaceChar == '`'))\r\n                        {\r\n                            newBlockElement = CodeBlock.Parse(markdown, realStartOfLine, end, quoteDepth, out endOfBlock);\r\n                        }\r\n\r\n                        if (newBlockElement == null)\r\n                        {\r\n                            newBlockElement = TableBlock.Parse(markdown, realStartOfLine, endOfLine, end, quoteDepth, out endOfBlock);\r\n                        }\r\n\r\n                        if (newBlockElement != null)\r\n                        {\r\n                            startOfNextLine = endOfBlock;\r\n                        }\r\n                    }\r\n\r\n                    // This check needs to go after the code block check.\r\n                    if (newBlockElement == null && nonSpaceChar == '>')\r\n                    {\r\n                        newBlockElement = QuoteBlock.Parse(markdown, realStartOfLine, end, quoteDepth, out startOfNextLine);\r\n                    }\r\n\r\n                    // This check needs to go after the code block check.\r\n                    if (newBlockElement == null && nonSpaceChar == '[')\r\n                    {\r\n                        newBlockElement = LinkReferenceBlock.Parse(markdown, startOfLine, endOfLine);\r\n                    }\r\n\r\n                    // Block elements start new paragraphs.\r\n                    lineStartsNewParagraph = newBlockElement != null;\r\n\r\n                    if (newBlockElement == null)\r\n                    {\r\n                        // The line contains paragraph text.\r\n                        if (paragraphText.Length > 0)\r\n                        {\r\n                            // If the previous two characters were both spaces, then append a line break.\r\n                            if (paragraphText.Length > 2 && paragraphText[paragraphText.Length - 1] == ' ' && paragraphText[paragraphText.Length - 2] == ' ')\r\n                            {\r\n                                // Replace the two spaces with a line break.\r\n                                paragraphText[paragraphText.Length - 2] = '\\r';\r\n                                paragraphText[paragraphText.Length - 1] = '\\n';\r\n                            }\r\n                            else\r\n                            {\r\n                                paragraphText.Append(\" \");\r\n                            }\r\n                        }\r\n\r\n                        // Add the last paragraph if we are at the end of the input text.\r\n                        if (startOfNextLine >= end)\r\n                        {\r\n                            if (paragraphText.Length == 0)\r\n                            {\r\n                                // Optimize for single line paragraphs.\r\n                                blocks.Add(ParagraphBlock.Parse(markdown.Substring(startOfLine, endOfLine - startOfLine)));\r\n                            }\r\n                            else\r\n                            {\r\n                                // Slow path.\r\n                                paragraphText.Append(markdown.Substring(startOfLine, endOfLine - startOfLine));\r\n                                blocks.Add(ParagraphBlock.Parse(paragraphText.ToString()));\r\n                            }\r\n                        }\r\n                        else\r\n                        {\r\n                            paragraphText.Append(markdown.Substring(startOfLine, endOfLine - startOfLine));\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        // The line contained a block.  End the current paragraph, if any.\r\n                        if (paragraphText.Length > 0)\r\n                        {\r\n                            blocks.Add(ParagraphBlock.Parse(paragraphText.ToString()));\r\n                            paragraphText.Clear();\r\n                        }\r\n\r\n                        blocks.Add(newBlockElement);\r\n                    }\r\n                }\r\n\r\n                // Repeat.\r\n                previousRealtStartOfLine = realStartOfLine;\r\n                previousStartOfLine = startOfLine;\r\n                previousEndOfLine = endOfLine;\r\n                startOfLine = startOfNextLine;\r\n            }\r\n\r\n            actualEnd = startOfLine;\r\n            return blocks;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Looks up a reference using the ID.\r\n        /// A reference is a line that looks like this:\r\n        /// [foo]: http://example.com/\r\n        /// </summary>\r\n        /// <param name=\"id\"> The ID of the reference (case insensitive). </param>\r\n        /// <returns> The reference details, or <c>null</c> if the reference wasn't found. </returns>\r\n        public LinkReferenceBlock LookUpReference(string id)\r\n        {\r\n            if (id == null)\r\n            {\r\n                throw new ArgumentNullException(nameof(id));\r\n            }\r\n\r\n            if (_references == null)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            if (_references.TryGetValue(id, out LinkReferenceBlock result))\r\n            {\r\n                return result;\r\n            }\r\n\r\n            return null;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Converts the object into it's textual representation.\r\n        /// </summary>\r\n        /// <returns> The textual representation of this object. </returns>\r\n        public override string ToString()\r\n        {\r\n            if (Blocks == null)\r\n            {\r\n                return base.ToString();\r\n            }\r\n\r\n            return string.Join(\"\\r\\n\", Blocks);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/MarkdownElement.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// This is a class used as the base class of all markdown elements.\r\n    /// </summary>\r\n    public abstract class MarkdownElement\r\n    {\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/MarkdownInline.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// An internal class that is the base class for all inline elements.\r\n    /// </summary>\r\n    public abstract class MarkdownInline : MarkdownElement\r\n    {\r\n        /// <summary>\r\n        /// Gets or sets this element is.\r\n        /// </summary>\r\n        public MarkdownInlineType Type { get; set; }\r\n\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"MarkdownInline\"/> class.\r\n        /// </summary>\r\n        internal MarkdownInline(MarkdownInlineType type)\r\n        {\r\n            Type = type;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/ICodeBlockResolver.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock/Render\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using Windows.UI.Xaml.Documents;\r\n\r\n    /// <summary>\r\n    /// A Parser to parse code strings into Syntax Highlighted text.\r\n    /// </summary>\r\n    public interface ICodeBlockResolver\r\n    {\r\n        /// <summary>\r\n        /// Parses Code Block text into Rich text.\r\n        /// </summary>\r\n        /// <param name=\"inlineCollection\">Block to add formatted Text to.</param>\r\n        /// <param name=\"text\">The raw code block text</param>\r\n        /// <param name=\"codeLanguage\">The language of the Code Block, as specified by ```{Language} on the first line of the block,\r\n        /// e.g. <para/>\r\n        /// ```C# <para/>\r\n        /// public void Method();<para/>\r\n        /// ```<para/>\r\n        /// </param>\r\n        /// <returns>Parsing was handled Successfully</returns>\r\n        bool ParseSyntax(InlineCollection inlineCollection, string text, string codeLanguage);\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/IImageResolver.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock/Render\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Threading.Tasks;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    /// <summary>\r\n    /// An interface used to resolve images in the markdown.\r\n    /// </summary>\r\n    public interface IImageResolver\r\n    {\r\n        /// <summary>\r\n        /// Resolves an Image from a Url.\r\n        /// </summary>\r\n        /// <param name=\"url\">Url to Resolve.</param>\r\n        /// <param name=\"tooltip\">Tooltip for Image.</param>\r\n        /// <returns>Image</returns>\r\n        Task<ImageSource> ResolveImageAsync(string url, string tooltip);\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/ILinkRegister.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock/Render\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Documents;\r\n\r\n    /// <summary>\r\n    /// An interface used to handle links in the markdown.\r\n    /// </summary>\r\n    public interface ILinkRegister\r\n    {\r\n        /// <summary>\r\n        /// Registers a Hyperlink with a LinkUrl.\r\n        /// </summary>\r\n        /// <param name=\"newHyperlink\">Hyperlink to Register.</param>\r\n        /// <param name=\"linkUrl\">Url to Register.</param>\r\n        void RegisterNewHyperLink(Hyperlink newHyperlink, string linkUrl);\r\n\r\n        /// <summary>\r\n        /// Registers a Hyperlink with a LinkUrl.\r\n        /// </summary>\r\n        /// <param name=\"newImagelink\">ImageLink to Register.</param>\r\n        /// <param name=\"linkUrl\">Url to Register.</param>\r\n        /// <param name=\"isHyperLink\">Is Image an IsHyperlink.</param>\r\n        void RegisterNewHyperLink(Image newImagelink, string linkUrl, bool isHyperLink);\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/IRenderContext.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Render\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// Helper for holding persistent state of Renderer.\r\n    /// </summary>\r\n    public interface IRenderContext\r\n    {\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether to trim whitespace.\r\n        /// </summary>\r\n        bool TrimLeadingWhitespace { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the parent Element for this Context.\r\n        /// </summary>\r\n        object Parent { get; set; }\r\n\r\n        /// <summary>\r\n        /// Clones the Context.\r\n        /// </summary>\r\n        /// <returns>Clone</returns>\r\n        IRenderContext Clone();\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/InlineRenderContext.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock/Render\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using Windows.UI.Xaml.Documents;\r\n\r\n    /// <summary>\r\n    /// The Context of the Current Document Rendering.\r\n    /// </summary>\r\n    public class InlineRenderContext : RenderContext\r\n    {\r\n        internal InlineRenderContext(InlineCollection inlineCollection, IRenderContext context)\r\n        {\r\n            InlineCollection = inlineCollection;\r\n            TrimLeadingWhitespace = context.TrimLeadingWhitespace;\r\n            Parent = context.Parent;\r\n\r\n            if (context is RenderContext localcontext)\r\n            {\r\n                Foreground = localcontext.Foreground;\r\n                OverrideForeground = localcontext.OverrideForeground;\r\n            }\r\n\r\n            if (context is InlineRenderContext inlinecontext)\r\n            {\r\n                WithinBold = inlinecontext.WithinBold;\r\n                WithinItalics = inlinecontext.WithinItalics;\r\n                WithinHyperlink = inlinecontext.WithinHyperlink;\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether the Current Element is being rendered inside an Italics Run.\r\n        /// </summary>\r\n        public bool WithinItalics { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether the Current Element is being rendered inside a Bold Run.\r\n        /// </summary>\r\n        public bool WithinBold { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether the Current Element is being rendered inside a Link.\r\n        /// </summary>\r\n        public bool WithinHyperlink { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the list to add to.\r\n        /// </summary>\r\n        public InlineCollection InlineCollection { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/MarkdownRenderer.Blocks.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock/Render\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using Windows.UI.Text;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Documents;\r\n    using Windows.UI.Xaml.Shapes;\r\n\r\n    /// <summary>\r\n    /// Block UI Methods for UWP UI Creation.\r\n    /// </summary>\r\n    public partial class MarkdownRenderer\r\n    {\r\n        /// <summary>\r\n        /// Renders a list of block elements.\r\n        /// </summary>\r\n        protected override void RenderBlocks(IEnumerable<MarkdownBlock> blockElements, IRenderContext context)\r\n        {\r\n            if (!(context is UIElementCollectionRenderContext localContext))\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            var blockUIElementCollection = localContext.BlockUIElementCollection;\r\n\r\n            base.RenderBlocks(blockElements, context);\r\n\r\n            // Remove the top margin from the first block element, the bottom margin from the last block element,\r\n            // and collapse adjacent margins.\r\n            FrameworkElement previousFrameworkElement = null;\r\n            for (int i = 0; i < blockUIElementCollection.Count; i++)\r\n            {\r\n                var frameworkElement = blockUIElementCollection[i] as FrameworkElement;\r\n                if (frameworkElement != null)\r\n                {\r\n                    if (i == 0)\r\n                    {\r\n                        // Remove the top margin.\r\n                        frameworkElement.Margin = new Thickness(\r\n                            frameworkElement.Margin.Left,\r\n                            0,\r\n                            frameworkElement.Margin.Right,\r\n                            frameworkElement.Margin.Bottom);\r\n                    }\r\n                    else if (previousFrameworkElement != null)\r\n                    {\r\n                        // Remove the bottom margin.\r\n                        frameworkElement.Margin = new Thickness(\r\n                            frameworkElement.Margin.Left,\r\n                            Math.Max(frameworkElement.Margin.Top, previousFrameworkElement.Margin.Bottom),\r\n                            frameworkElement.Margin.Right,\r\n                            frameworkElement.Margin.Bottom);\r\n                        previousFrameworkElement.Margin = new Thickness(\r\n                            previousFrameworkElement.Margin.Left,\r\n                            previousFrameworkElement.Margin.Top,\r\n                            previousFrameworkElement.Margin.Right,\r\n                            0);\r\n                    }\r\n                }\r\n\r\n                previousFrameworkElement = frameworkElement;\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders a paragraph element.\r\n        /// </summary>\r\n        protected override void RenderParagraph(ParagraphBlock element, IRenderContext context)\r\n        {\r\n            var paragraph = new Paragraph\r\n            {\r\n                Margin = ParagraphMargin,\r\n                LineHeight = ParagraphLineHeight\r\n            };\r\n\r\n            var childContext = new InlineRenderContext(paragraph.Inlines, context)\r\n            {\r\n                Parent = paragraph\r\n            };\r\n\r\n            RenderInlineChildren(element.Inlines, childContext);\r\n\r\n            var textBlock = CreateOrReuseRichTextBlock(context);\r\n            textBlock.Blocks.Add(paragraph);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders a yaml header element.\r\n        /// </summary>\r\n        protected override void RenderYamlHeader(YamlHeaderBlock element, IRenderContext context)\r\n        {\r\n            if (!(context is UIElementCollectionRenderContext localContext))\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            var blockUIElementCollection = localContext.BlockUIElementCollection;\r\n\r\n            var table = new MarkdownTable(element.Children.Count, 2, YamlBorderThickness, YamlBorderBrush)\r\n            {\r\n                HorizontalAlignment = HorizontalAlignment.Left,\r\n                Margin = TableMargin\r\n            };\r\n\r\n            // Split key and value\r\n            string[] childrenKeys = new string[element.Children.Count];\r\n            string[] childrenValues = new string[element.Children.Count];\r\n            element.Children.Keys.CopyTo(childrenKeys, 0);\r\n            element.Children.Values.CopyTo(childrenValues, 0);\r\n\r\n            // Add each column\r\n            for (int i = 0; i < element.Children.Count; i++)\r\n            {\r\n                // Add each cell\r\n                var keyCell = new TextBlock\r\n                {\r\n                    Text = childrenKeys[i],\r\n                    Foreground = Foreground,\r\n                    TextAlignment = TextAlignment.Center,\r\n                    FontWeight = FontWeights.Bold,\r\n                    Margin = TableCellPadding\r\n                };\r\n                var valueCell = new TextBlock\r\n                {\r\n                    Text = childrenValues[i],\r\n                    Foreground = Foreground,\r\n                    TextAlignment = TextAlignment.Left,\r\n                    Margin = TableCellPadding,\r\n                    TextWrapping = TextWrapping.Wrap\r\n                };\r\n                Grid.SetRow(keyCell, 0);\r\n                Grid.SetColumn(keyCell, i);\r\n                Grid.SetRow(valueCell, 1);\r\n                Grid.SetColumn(valueCell, i);\r\n                table.Children.Add(keyCell);\r\n                table.Children.Add(valueCell);\r\n            }\r\n\r\n            blockUIElementCollection.Add(table);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders a header element.\r\n        /// </summary>\r\n        protected override void RenderHeader(HeaderBlock element, IRenderContext context)\r\n        {\r\n            var textBlock = CreateOrReuseRichTextBlock(context);\r\n\r\n            var paragraph = new Paragraph();\r\n            var childInlines = paragraph.Inlines;\r\n            switch (element.HeaderLevel)\r\n            {\r\n                case 1:\r\n                    paragraph.Margin = Header1Margin;\r\n                    paragraph.FontSize = Header1FontSize;\r\n                    paragraph.FontWeight = Header1FontWeight;\r\n                    paragraph.Foreground = Header1Foreground;\r\n                    break;\r\n\r\n                case 2:\r\n                    paragraph.Margin = Header2Margin;\r\n                    paragraph.FontSize = Header2FontSize;\r\n                    paragraph.FontWeight = Header2FontWeight;\r\n                    paragraph.Foreground = Header2Foreground;\r\n                    break;\r\n\r\n                case 3:\r\n                    paragraph.Margin = Header3Margin;\r\n                    paragraph.FontSize = Header3FontSize;\r\n                    paragraph.FontWeight = Header3FontWeight;\r\n                    paragraph.Foreground = Header3Foreground;\r\n                    break;\r\n\r\n                case 4:\r\n                    paragraph.Margin = Header4Margin;\r\n                    paragraph.FontSize = Header4FontSize;\r\n                    paragraph.FontWeight = Header4FontWeight;\r\n                    paragraph.Foreground = Header4Foreground;\r\n                    break;\r\n\r\n                case 5:\r\n                    paragraph.Margin = Header5Margin;\r\n                    paragraph.FontSize = Header5FontSize;\r\n                    paragraph.FontWeight = Header5FontWeight;\r\n                    paragraph.Foreground = Header5Foreground;\r\n                    break;\r\n\r\n                case 6:\r\n                    paragraph.Margin = Header6Margin;\r\n                    paragraph.FontSize = Header6FontSize;\r\n                    paragraph.FontWeight = Header6FontWeight;\r\n                    paragraph.Foreground = Header6Foreground;\r\n\r\n                    var underline = new Underline();\r\n                    childInlines = underline.Inlines;\r\n                    paragraph.Inlines.Add(underline);\r\n                    break;\r\n            }\r\n\r\n            // Render the children into the para inline.\r\n            var childContext = new InlineRenderContext(childInlines, context)\r\n            {\r\n                Parent = paragraph,\r\n                TrimLeadingWhitespace = true\r\n            };\r\n\r\n            RenderInlineChildren(element.Inlines, childContext);\r\n\r\n            // Add it to the blocks\r\n            textBlock.Blocks.Add(paragraph);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders a list element.\r\n        /// </summary>\r\n        protected override void RenderListElement(ListBlock element, IRenderContext context)\r\n        {\r\n            if (!(context is UIElementCollectionRenderContext localContext))\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            var blockUIElementCollection = localContext.BlockUIElementCollection;\r\n\r\n            // Create a grid with two columns.\r\n            Grid grid = new Grid\r\n            {\r\n                Margin = ListMargin\r\n            };\r\n\r\n            // The first column for the bullet (or number) and the second for the text.\r\n            grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(ListGutterWidth) });\r\n            grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Star) });\r\n\r\n            for (int rowIndex = 0; rowIndex < element.Items.Count; rowIndex++)\r\n            {\r\n                var listItem = element.Items[rowIndex];\r\n\r\n                // Add a row definition.\r\n                grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });\r\n\r\n                // Add the bullet or number.\r\n                var bullet = CreateTextBlock(localContext);\r\n                bullet.Margin = ParagraphMargin;\r\n                switch (element.Style)\r\n                {\r\n                    case ListStyle.Bulleted:\r\n                        bullet.Text = \"•\";\r\n                        break;\r\n\r\n                    case ListStyle.Numbered:\r\n                        bullet.Text = $\"{rowIndex + 1}.\";\r\n                        break;\r\n                }\r\n\r\n                bullet.HorizontalAlignment = HorizontalAlignment.Right;\r\n                bullet.Margin = new Thickness(0, 0, ListBulletSpacing, 0);\r\n                Grid.SetRow(bullet, rowIndex);\r\n                grid.Children.Add(bullet);\r\n\r\n                // Add the list item content.\r\n                var content = new StackPanel();\r\n                var childContext = new UIElementCollectionRenderContext(content.Children, localContext);\r\n                RenderBlocks(listItem.Blocks, childContext);\r\n                Grid.SetColumn(content, 1);\r\n                Grid.SetRow(content, rowIndex);\r\n                grid.Children.Add(content);\r\n            }\r\n\r\n            blockUIElementCollection.Add(grid);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders a horizontal rule element.\r\n        /// </summary>\r\n        protected override void RenderHorizontalRule(IRenderContext context)\r\n        {\r\n            if (!(context is UIElementCollectionRenderContext localContext))\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            var blockUIElementCollection = localContext.BlockUIElementCollection;\r\n\r\n            var brush = localContext.Foreground;\r\n            if (HorizontalRuleBrush != null && !localContext.OverrideForeground)\r\n            {\r\n                brush = HorizontalRuleBrush;\r\n            }\r\n\r\n            var rectangle = new Rectangle\r\n            {\r\n                HorizontalAlignment = HorizontalAlignment.Stretch,\r\n                Height = HorizontalRuleThickness,\r\n                Fill = brush,\r\n                Margin = HorizontalRuleMargin\r\n            };\r\n\r\n            blockUIElementCollection.Add(rectangle);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders a quote element.\r\n        /// </summary>\r\n        protected override void RenderQuote(QuoteBlock element, IRenderContext context)\r\n        {\r\n            if (!(context is UIElementCollectionRenderContext localContext))\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            var blockUIElementCollection = localContext.BlockUIElementCollection;\r\n\r\n            var stackPanel = new StackPanel();\r\n            var childContext = new UIElementCollectionRenderContext(stackPanel.Children, context)\r\n            {\r\n                Parent = stackPanel\r\n            };\r\n\r\n            if (QuoteForeground != null && !localContext.OverrideForeground)\r\n            {\r\n                childContext.Foreground = QuoteForeground;\r\n            }\r\n\r\n            RenderBlocks(element.Blocks, childContext);\r\n\r\n            var border = new Border\r\n            {\r\n                Margin = QuoteMargin,\r\n                Background = QuoteBackground,\r\n                BorderBrush = childContext.OverrideForeground ? childContext.Foreground : QuoteBorderBrush ?? childContext.Foreground,\r\n                BorderThickness = QuoteBorderThickness,\r\n                Padding = QuotePadding,\r\n                Child = stackPanel\r\n            };\r\n\r\n            blockUIElementCollection.Add(border);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders a code element.\r\n        /// </summary>\r\n        protected override void RenderCode(CodeBlock element, IRenderContext context)\r\n        {\r\n            if (!(context is UIElementCollectionRenderContext localContext))\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            var blockUIElementCollection = localContext.BlockUIElementCollection;\r\n\r\n            var brush = localContext.Foreground;\r\n            if (CodeForeground != null && !localContext.OverrideForeground)\r\n            {\r\n                brush = CodeForeground;\r\n            }\r\n\r\n            var textBlock = new RichTextBlock\r\n            {\r\n                FontFamily = CodeFontFamily ?? FontFamily,\r\n                Foreground = brush,\r\n                LineHeight = FontSize * 1.4,\r\n                FlowDirection = FlowDirection\r\n            };\r\n\r\n            textBlock.PointerWheelChanged += Preventative_PointerWheelChanged;\r\n\r\n            var paragraph = new Paragraph();\r\n            textBlock.Blocks.Add(paragraph);\r\n\r\n            // Allows external Syntax Highlighting\r\n            var hasCustomSyntax = CodeBlockResolver.ParseSyntax(paragraph.Inlines, element.Text, element.CodeLanguage);\r\n            if (!hasCustomSyntax)\r\n            {\r\n                paragraph.Inlines.Add(new Run { Text = element.Text });\r\n            }\r\n\r\n            // Ensures that Code has Horizontal Scroll and doesn't wrap.\r\n            var viewer = new ScrollViewer\r\n            {\r\n                Background = CodeBackground,\r\n                BorderBrush = CodeBorderBrush,\r\n                BorderThickness = CodeBorderThickness,\r\n                Padding = CodePadding,\r\n                Margin = CodeMargin,\r\n                Content = textBlock\r\n            };\r\n\r\n            if (!WrapCodeBlock)\r\n            {\r\n                viewer.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto;\r\n                viewer.HorizontalScrollMode = ScrollMode.Auto;\r\n                viewer.VerticalScrollMode = ScrollMode.Disabled;\r\n                viewer.VerticalScrollBarVisibility = ScrollBarVisibility.Disabled;\r\n            }\r\n\r\n            // Add it to the blocks\r\n            blockUIElementCollection.Add(viewer);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders a table element.\r\n        /// </summary>\r\n        protected override void RenderTable(TableBlock element, IRenderContext context)\r\n        {\r\n            if (!(context is UIElementCollectionRenderContext localContext))\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            var blockUIElementCollection = localContext.BlockUIElementCollection;\r\n\r\n            var table = new MarkdownTable(element.ColumnDefinitions.Count, element.Rows.Count, TableBorderThickness, TableBorderBrush)\r\n            {\r\n                HorizontalAlignment = HorizontalAlignment.Left,\r\n                Margin = TableMargin\r\n            };\r\n\r\n            // Add each row.\r\n            for (int rowIndex = 0; rowIndex < element.Rows.Count; rowIndex++)\r\n            {\r\n                var row = element.Rows[rowIndex];\r\n\r\n                // Add each cell.\r\n                for (int cellIndex = 0; cellIndex < Math.Min(element.ColumnDefinitions.Count, row.Cells.Count); cellIndex++)\r\n                {\r\n                    var cell = row.Cells[cellIndex];\r\n\r\n                    // Cell content.\r\n                    var cellContent = CreateOrReuseRichTextBlock(new UIElementCollectionRenderContext(null, context));\r\n                    cellContent.Margin = TableCellPadding;\r\n                    Grid.SetRow(cellContent, rowIndex);\r\n                    Grid.SetColumn(cellContent, cellIndex);\r\n                    switch (element.ColumnDefinitions[cellIndex].Alignment)\r\n                    {\r\n                        case ColumnAlignment.Center:\r\n                            cellContent.TextAlignment = TextAlignment.Center;\r\n                            break;\r\n\r\n                        case ColumnAlignment.Right:\r\n                            cellContent.TextAlignment = TextAlignment.Right;\r\n                            break;\r\n                    }\r\n\r\n                    if (rowIndex == 0)\r\n                    {\r\n                        cellContent.FontWeight = FontWeights.Bold;\r\n                    }\r\n\r\n                    var paragraph = new Paragraph();\r\n\r\n                    var childContext = new InlineRenderContext(paragraph.Inlines, context)\r\n                    {\r\n                        Parent = paragraph,\r\n                        TrimLeadingWhitespace = true\r\n                    };\r\n\r\n                    RenderInlineChildren(cell.Inlines, childContext);\r\n\r\n                    cellContent.Blocks.Add(paragraph);\r\n                    table.Children.Add(cellContent);\r\n                }\r\n            }\r\n\r\n            blockUIElementCollection.Add(table);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/MarkdownRenderer.Dimensions.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock/Render\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using Windows.UI.Text;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    /// <summary>\r\n    /// Measurement Properties for elements in the Markdown.\r\n    /// </summary>\r\n    public partial class MarkdownRenderer\r\n    {\r\n        /// <summary>\r\n        /// Gets or sets the distance between the border and its child object.\r\n        /// </summary>\r\n        public Thickness Padding { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the border thickness of a control.\r\n        /// </summary>\r\n        public Thickness BorderThickness { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the thickness of the border around code blocks.\r\n        /// </summary>\r\n        public Thickness CodeBorderThickness { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the thickness of the border around inline code.\r\n        /// </summary>\r\n        public Thickness InlineCodeBorderThickness { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the space outside of code blocks.\r\n        /// </summary>\r\n        public Thickness CodeMargin { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the space between the code border and the text.\r\n        /// </summary>\r\n        public Thickness CodePadding { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the space between the code border and the text.\r\n        /// </summary>\r\n        public Thickness InlineCodePadding { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin of inline code.\r\n        /// </summary>\r\n        public Thickness InlineCodeMargin { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font size for level 1 headers.\r\n        /// </summary>\r\n        public double Header1FontSize { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin for level 1 headers.\r\n        /// </summary>\r\n        public Thickness Header1Margin { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font size for level 2 headers.\r\n        /// </summary>\r\n        public double Header2FontSize { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin for level 2 headers.\r\n        /// </summary>\r\n        public Thickness Header2Margin { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font size for level 3 headers.\r\n        /// </summary>\r\n        public double Header3FontSize { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin for level 3 headers.\r\n        /// </summary>\r\n        public Thickness Header3Margin { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font size for level 4 headers.\r\n        /// </summary>\r\n        public double Header4FontSize { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin for level 4 headers.\r\n        /// </summary>\r\n        public Thickness Header4Margin { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font size for level 5 headers.\r\n        /// </summary>\r\n        public double Header5FontSize { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin for level 5 headers.\r\n        /// </summary>\r\n        public Thickness Header5Margin { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font size for level 6 headers.\r\n        /// </summary>\r\n        public double Header6FontSize { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin for level 6 headers.\r\n        /// </summary>\r\n        public Thickness Header6Margin { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin used for horizontal rules.\r\n        /// </summary>\r\n        public Thickness HorizontalRuleMargin { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the vertical thickness of the horizontal rule.\r\n        /// </summary>\r\n        public double HorizontalRuleThickness { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin used by lists.\r\n        /// </summary>\r\n        public Thickness ListMargin { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the width of the space used by list item bullets/numbers.\r\n        /// </summary>\r\n        public double ListGutterWidth { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the space between the list item bullets/numbers and the list item content.\r\n        /// </summary>\r\n        public double ListBulletSpacing { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin used for paragraphs.\r\n        /// </summary>\r\n        public Thickness ParagraphMargin { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the line height used for paragraphs.\r\n        /// </summary>\r\n        public int ParagraphLineHeight { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the thickness of quote borders.\r\n        /// </summary>\r\n        public Thickness QuoteBorderThickness { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the space outside of quote borders.\r\n        /// </summary>\r\n        public Thickness QuoteMargin { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the space between the quote border and the text.\r\n        /// </summary>\r\n        public Thickness QuotePadding { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the thickness of any table borders.\r\n        /// </summary>\r\n        public double TableBorderThickness { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the thickness of any yaml header borders.\r\n        /// </summary>\r\n        public double YamlBorderThickness { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the padding inside each cell.\r\n        /// </summary>\r\n        public Thickness TableCellPadding { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin used by tables.\r\n        /// </summary>\r\n        public Thickness TableMargin { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the size of the text in this control.\r\n        /// </summary>\r\n        public double FontSize { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the uniform spacing between characters, in units of 1/1000 of an em.\r\n        /// </summary>\r\n        public int CharacterSpacing { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the word wrapping behavior.\r\n        /// </summary>\r\n        public TextWrapping TextWrapping { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the degree to which a font is condensed or expanded on the screen.\r\n        /// </summary>\r\n        public FontStretch FontStretch { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the stretch used for images.\r\n        /// </summary>\r\n        public Stretch ImageStretch { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the MaxHeight for images.\r\n        /// </summary>\r\n        public double ImageMaxHeight { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the MaxWidth for images.\r\n        /// </summary>\r\n        public double ImageMaxWidth { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether to wrap text in the Code Block, or use Horizontal Scroll.\r\n        /// </summary>\r\n        public bool WrapCodeBlock { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/MarkdownRenderer.Inlines.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock/Render\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Collections.Generic;\r\n    using System.Text;\r\n    using Windows.UI.Text;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Documents;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    /// <summary>\r\n    /// Inline UI Methods for UWP UI Creation.\r\n    /// </summary>\r\n    public partial class MarkdownRenderer\r\n    {\r\n        /// <summary>\r\n        /// Renders Emoji element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected override void RenderEmoji(EmojiInline element, IRenderContext context)\r\n        {\r\n            if (!(context is InlineRenderContext localContext))\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            var inlineCollection = localContext.InlineCollection;\r\n\r\n            var emoji = new Run\r\n            {\r\n                FontFamily = EmojiFontFamily ?? DefaultEmojiFont,\r\n                Text = element.Text\r\n            };\r\n\r\n            inlineCollection.Add(emoji);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders a text run element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected override void RenderTextRun(TextRunInline element, IRenderContext context)\r\n        {\r\n            InternalRenderTextRun(element, context);\r\n        }\r\n\r\n        private Run InternalRenderTextRun(TextRunInline element, IRenderContext context)\r\n        {\r\n            if (!(context is InlineRenderContext localContext))\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            var inlineCollection = localContext.InlineCollection;\r\n\r\n            // Create the text run\r\n            Run textRun = new Run\r\n            {\r\n                Text = CollapseWhitespace(context, element.Text)\r\n            };\r\n\r\n            // Add it\r\n            inlineCollection.Add(textRun);\r\n            return textRun;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders a bold run element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected override void RenderBoldRun(BoldTextInline element, IRenderContext context)\r\n        {\r\n            if (!(context is InlineRenderContext localContext))\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            // Create the text run\r\n            Span boldSpan = new Span\r\n            {\r\n                FontWeight = FontWeights.Bold\r\n            };\r\n\r\n            var childContext = new InlineRenderContext(boldSpan.Inlines, context)\r\n            {\r\n                Parent = boldSpan,\r\n                WithinBold = true\r\n            };\r\n\r\n            // Render the children into the bold inline.\r\n            RenderInlineChildren(element.Inlines, childContext);\r\n\r\n            // Add it to the current inline collection\r\n            localContext.InlineCollection.Add(boldSpan);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders a link element\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected override void RenderMarkdownLink(MarkdownLinkInline element, IRenderContext context)\r\n        {\r\n            if (!(context is InlineRenderContext localContext))\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            // HACK: Superscript is not allowed within a hyperlink.  But if we switch it around, so\r\n            // that the superscript is outside the hyperlink, then it will render correctly.\r\n            // This assumes that the entire hyperlink is to be rendered as superscript.\r\n            if (AllTextIsSuperscript(element) == false)\r\n            {\r\n                // Regular ol' hyperlink.\r\n                var link = new Hyperlink();\r\n\r\n                // Register the link\r\n                LinkRegister.RegisterNewHyperLink(link, element.Url);\r\n\r\n                // Remove superscripts.\r\n                RemoveSuperscriptRuns(element, insertCaret: true);\r\n\r\n                // Render the children into the link inline.\r\n                var childContext = new InlineRenderContext(link.Inlines, context)\r\n                {\r\n                    Parent = link,\r\n                    WithinHyperlink = true\r\n                };\r\n\r\n                if (localContext.OverrideForeground)\r\n                {\r\n                    link.Foreground = localContext.Foreground;\r\n                }\r\n                else if (LinkForeground != null)\r\n                {\r\n                    link.Foreground = LinkForeground;\r\n                }\r\n\r\n                RenderInlineChildren(element.Inlines, childContext);\r\n                context.TrimLeadingWhitespace = childContext.TrimLeadingWhitespace;\r\n\r\n                ToolTipService.SetToolTip(link, element.Tooltip ?? element.Url);\r\n\r\n                // Add it to the current inlines\r\n                localContext.InlineCollection.Add(link);\r\n            }\r\n            else\r\n            {\r\n                // THE HACK IS ON!\r\n\r\n                // Create a fake superscript element.\r\n                var fakeSuperscript = new SuperscriptTextInline\r\n                {\r\n                    Inlines = new List<MarkdownInline>\r\n                    {\r\n                        element\r\n                    }\r\n                };\r\n\r\n                // Remove superscripts.\r\n                RemoveSuperscriptRuns(element, insertCaret: false);\r\n\r\n                // Now render it.\r\n                RenderSuperscriptRun(fakeSuperscript, context);\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders a raw link element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected override void RenderHyperlink(HyperlinkInline element, IRenderContext context)\r\n        {\r\n            if (!(context is InlineRenderContext localContext))\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            var link = new Hyperlink();\r\n\r\n            // Register the link\r\n            LinkRegister.RegisterNewHyperLink(link, element.Url);\r\n\r\n            var brush = localContext.Foreground;\r\n            if (LinkForeground != null && !localContext.OverrideForeground)\r\n            {\r\n                brush = LinkForeground;\r\n            }\r\n\r\n            // Make a text block for the link\r\n            Run linkText = new Run\r\n            {\r\n                Text = CollapseWhitespace(context, element.Text),\r\n                Foreground = brush\r\n            };\r\n\r\n            link.Inlines.Add(linkText);\r\n\r\n            try\r\n            {\r\n                //Add it to the current inline collection\r\n                localContext.InlineCollection.Add(link);\r\n            }\r\n            catch // Invalid hyperlink\r\n            {\r\n                link.Inlines.Clear();\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders an image element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected override async void RenderImage(ImageInline element, IRenderContext context)\r\n        {\r\n            if (!(context is InlineRenderContext localContext))\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            var inlineCollection = localContext.InlineCollection;\r\n\r\n            var placeholder = InternalRenderTextRun(new TextRunInline { Text = element.Text, Type = MarkdownInlineType.TextRun }, context);\r\n            var resolvedImage = await ImageResolver.ResolveImageAsync(element.RenderUrl, element.Tooltip);\r\n\r\n            // if image can not be resolved we have to return\r\n            if (resolvedImage == null)\r\n            {\r\n                return;\r\n            }\r\n\r\n            var image = new Image\r\n            {\r\n                Source = resolvedImage,\r\n                HorizontalAlignment = HorizontalAlignment.Left,\r\n                VerticalAlignment = VerticalAlignment.Top,\r\n                Stretch = ImageStretch\r\n            };\r\n\r\n            HyperlinkButton hyperlinkButton = new HyperlinkButton()\r\n            {\r\n                Content = image\r\n            };\r\n\r\n            var viewbox = new Viewbox\r\n            {\r\n                Child = hyperlinkButton,\r\n                StretchDirection = StretchDirection.DownOnly\r\n            };\r\n\r\n            viewbox.PointerWheelChanged += Preventative_PointerWheelChanged;\r\n\r\n            var scrollViewer = new ScrollViewer\r\n            {\r\n                Content = viewbox,\r\n                VerticalScrollMode = ScrollMode.Disabled,\r\n                VerticalScrollBarVisibility = ScrollBarVisibility.Disabled\r\n            };\r\n\r\n            var imageContainer = new InlineUIContainer() { Child = scrollViewer };\r\n\r\n            bool ishyperlink = element.RenderUrl != element.Url;\r\n\r\n            LinkRegister.RegisterNewHyperLink(image, element.Url, ishyperlink);\r\n\r\n            if (ImageMaxHeight > 0)\r\n            {\r\n                viewbox.MaxHeight = ImageMaxHeight;\r\n            }\r\n\r\n            if (ImageMaxWidth > 0)\r\n            {\r\n                viewbox.MaxWidth = ImageMaxWidth;\r\n            }\r\n\r\n            if (element.ImageWidth > 0)\r\n            {\r\n                image.Width = element.ImageWidth;\r\n                image.Stretch = Stretch.UniformToFill;\r\n            }\r\n\r\n            if (element.ImageHeight > 0)\r\n            {\r\n                if (element.ImageWidth == 0)\r\n                {\r\n                    image.Width = element.ImageHeight;\r\n                }\r\n\r\n                image.Height = element.ImageHeight;\r\n                image.Stretch = Stretch.UniformToFill;\r\n            }\r\n\r\n            if (element.ImageHeight > 0 && element.ImageWidth > 0)\r\n            {\r\n                image.Stretch = Stretch.Fill;\r\n            }\r\n\r\n            // If image size is given then scroll to view overflown part\r\n            if (element.ImageHeight > 0 || element.ImageWidth > 0)\r\n            {\r\n                scrollViewer.HorizontalScrollMode = ScrollMode.Auto;\r\n                scrollViewer.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto;\r\n            }\r\n\r\n            // Else resize the image\r\n            else\r\n            {\r\n                scrollViewer.HorizontalScrollMode = ScrollMode.Disabled;\r\n                scrollViewer.HorizontalScrollBarVisibility = ScrollBarVisibility.Disabled;\r\n            }\r\n\r\n            ToolTipService.SetToolTip(image, element.Tooltip);\r\n\r\n            // Try to add it to the current inlines\r\n            // Could fail because some containers like Hyperlink cannot have inlined images\r\n            try\r\n            {\r\n                var placeholderIndex = inlineCollection.IndexOf(placeholder);\r\n                inlineCollection.Remove(placeholder);\r\n                inlineCollection.Insert(placeholderIndex, imageContainer);\r\n            }\r\n            catch\r\n            {\r\n                // Ignore error\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders a text run element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected override void RenderItalicRun(ItalicTextInline element, IRenderContext context)\r\n        {\r\n            if (!(context is InlineRenderContext localContext))\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            // Create the text run\r\n            Span italicSpan = new Span\r\n            {\r\n                FontStyle = FontStyle.Italic\r\n            };\r\n\r\n            var childContext = new InlineRenderContext(italicSpan.Inlines, context)\r\n            {\r\n                Parent = italicSpan,\r\n                WithinItalics = true\r\n            };\r\n\r\n            // Render the children into the italic inline.\r\n            RenderInlineChildren(element.Inlines, childContext);\r\n\r\n            // Add it to the current inlines\r\n            localContext.InlineCollection.Add(italicSpan);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders a strike-through element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected override void RenderStrikethroughRun(StrikethroughTextInline element, IRenderContext context)\r\n        {\r\n            if (!(context is InlineRenderContext localContext))\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            Span span = new Span();\r\n\r\n            if (TextDecorationsSupported)\r\n            {\r\n                span.TextDecorations = TextDecorations.Strikethrough;\r\n            }\r\n            else\r\n            {\r\n                span.FontFamily = new FontFamily(\"Consolas\");\r\n            }\r\n\r\n            var childContext = new InlineRenderContext(span.Inlines, context)\r\n            {\r\n                Parent = span\r\n            };\r\n\r\n            // Render the children into the inline.\r\n            RenderInlineChildren(element.Inlines, childContext);\r\n\r\n            if (!TextDecorationsSupported)\r\n            {\r\n                AlterChildRuns(span, (parentSpan, run) =>\r\n                {\r\n                    var text = run.Text;\r\n                    var builder = new StringBuilder(text.Length * 2);\r\n                    foreach (var c in text)\r\n                    {\r\n                        builder.Append((char)0x0336);\r\n                        builder.Append(c);\r\n                    }\r\n\r\n                    run.Text = builder.ToString();\r\n                });\r\n            }\r\n\r\n            // Add it to the current inlines\r\n            localContext.InlineCollection.Add(span);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders a superscript element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected override void RenderSuperscriptRun(SuperscriptTextInline element, IRenderContext context)\r\n        {\r\n            var localContext = context as InlineRenderContext;\r\n            var parent = localContext?.Parent as TextElement;\r\n            if (localContext == null && parent == null)\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            // Le <sigh>, InlineUIContainers are not allowed within hyperlinks.\r\n            if (localContext.WithinHyperlink)\r\n            {\r\n                RenderInlineChildren(element.Inlines, context);\r\n                return;\r\n            }\r\n\r\n            var paragraph = new Paragraph\r\n            {\r\n                FontSize = parent.FontSize * 0.8,\r\n                FontFamily = parent.FontFamily,\r\n                FontStyle = parent.FontStyle,\r\n                FontWeight = parent.FontWeight\r\n            };\r\n\r\n            var childContext = new InlineRenderContext(paragraph.Inlines, context)\r\n            {\r\n                Parent = paragraph\r\n            };\r\n\r\n            RenderInlineChildren(element.Inlines, childContext);\r\n\r\n            var richTextBlock = CreateOrReuseRichTextBlock(new UIElementCollectionRenderContext(null, context));\r\n            richTextBlock.Blocks.Add(paragraph);\r\n\r\n            var border = new Border\r\n            {\r\n                Padding = new Thickness(0, 0, 0, paragraph.FontSize * 0.2),\r\n                Child = richTextBlock\r\n            };\r\n\r\n            var inlineUIContainer = new InlineUIContainer\r\n            {\r\n                Child = border\r\n            };\r\n\r\n            // Add it to the current inlines\r\n            localContext.InlineCollection.Add(inlineUIContainer);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders a subscript element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected override void RenderSubscriptRun(SubscriptTextInline element, IRenderContext context)\r\n        {\r\n            var localContext = context as InlineRenderContext;\r\n            var parent = localContext?.Parent as TextElement;\r\n            if (localContext == null && parent == null)\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            var paragraph = new Paragraph\r\n            {\r\n                FontSize = parent.FontSize * 0.7,\r\n                FontFamily = parent.FontFamily,\r\n                FontStyle = parent.FontStyle,\r\n                FontWeight = parent.FontWeight\r\n            };\r\n\r\n            var childContext = new InlineRenderContext(paragraph.Inlines, context)\r\n            {\r\n                Parent = paragraph\r\n            };\r\n\r\n            RenderInlineChildren(element.Inlines, childContext);\r\n\r\n            var richTextBlock = CreateOrReuseRichTextBlock(new UIElementCollectionRenderContext(null, context));\r\n            richTextBlock.Blocks.Add(paragraph);\r\n\r\n            var border = new Border\r\n            {\r\n                Margin = new Thickness(0, 0, 0, (-1) * (paragraph.FontSize * 0.6)),\r\n                Child = richTextBlock\r\n            };\r\n\r\n            var inlineUIContainer = new InlineUIContainer\r\n            {\r\n                Child = border\r\n            };\r\n\r\n            // Add it to the current inlines\r\n            localContext.InlineCollection.Add(inlineUIContainer);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders a code element\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected override void RenderCodeRun(CodeInline element, IRenderContext context)\r\n        {\r\n            if (!(context is InlineRenderContext localContext))\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            var text = CreateTextBlock(localContext);\r\n            text.Text = CollapseWhitespace(context, element.Text);\r\n            text.FontFamily = InlineCodeFontFamily ?? FontFamily;\r\n            text.Foreground = InlineCodeForeground ?? Foreground;\r\n\r\n            if (localContext.WithinItalics)\r\n            {\r\n                text.FontStyle = FontStyle.Italic;\r\n            }\r\n\r\n            if (localContext.WithinBold)\r\n            {\r\n                text.FontWeight = FontWeights.Bold;\r\n            }\r\n\r\n            var borderthickness = InlineCodeBorderThickness;\r\n            var padding = InlineCodePadding;\r\n\r\n            var border = new Border\r\n            {\r\n                BorderThickness = borderthickness,\r\n                BorderBrush = InlineCodeBorderBrush,\r\n                Background = InlineCodeBackground,\r\n                Child = text,\r\n                Padding = padding,\r\n                Margin = InlineCodeMargin\r\n            };\r\n\r\n            // Aligns content in InlineUI, see https://social.msdn.microsoft.com/Forums/silverlight/en-US/48b5e91e-efc5-4768-8eaf-f897849fcf0b/richtextbox-inlineuicontainer-vertical-alignment-issue?forum=silverlightarchieve\r\n            border.RenderTransform = new TranslateTransform\r\n            {\r\n                Y = 4\r\n            };\r\n\r\n            var inlineUIContainer = new InlineUIContainer\r\n            {\r\n                Child = border,\r\n            };\r\n\r\n            try\r\n            {\r\n                // Add it to the current inline collection\r\n                localContext.InlineCollection.Add(inlineUIContainer);\r\n            }\r\n            catch // Fallback\r\n            {\r\n                Run run = new Run\r\n                {\r\n                    Text = text.Text,\r\n                    FontFamily = InlineCodeFontFamily ?? FontFamily,\r\n                    Foreground = InlineCodeForeground ?? Foreground\r\n                };\r\n\r\n                // Additional formatting\r\n                if (localContext.WithinItalics) run.FontStyle = FontStyle.Italic;\r\n                if (localContext.WithinBold) run.FontWeight = FontWeights.Bold;\r\n\r\n                // Add the fallback block\r\n                localContext.InlineCollection.Add(run);\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/MarkdownRenderer.Properties.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock/Render\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Reflection;\r\n    using Windows.Foundation.Metadata;\r\n    using Windows.UI.Text;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    /// <summary>\r\n    /// Properties for the UWP Markdown Renderer\r\n    /// </summary>\r\n    public partial class MarkdownRenderer\r\n    {\r\n        private static bool? _textDecorationsSupported = null;\r\n\r\n        private static bool TextDecorationsSupported => (bool)(_textDecorationsSupported ??\r\n                        (_textDecorationsSupported = ApiInformation.IsTypePresent(\"Windows.UI.Text.TextDecorations\")));\r\n\r\n        /// <summary>\r\n        /// Super Hack to retain inertia and passing the Scroll data onto the Parent ScrollViewer.\r\n        /// </summary>\r\n        private static readonly MethodInfo pointerWheelChanged = typeof(ScrollViewer).GetMethod(\"OnPointerWheelChanged\", BindingFlags.NonPublic | BindingFlags.Instance);\r\n\r\n        /// <summary>\r\n        /// Gets or sets the Root Framework Element.\r\n        /// </summary>\r\n        private FrameworkElement RootElement { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets the interface that is used to register hyperlinks.\r\n        /// </summary>\r\n        protected ILinkRegister LinkRegister { get; }\r\n\r\n        /// <summary>\r\n        /// Gets the interface that is used to resolve images.\r\n        /// </summary>\r\n        protected IImageResolver ImageResolver { get; }\r\n\r\n        /// <summary>\r\n        /// Gets the Parser to parse code strings into Syntax Highlighted text.\r\n        /// </summary>\r\n        protected ICodeBlockResolver CodeBlockResolver { get; }\r\n\r\n        /// <summary>\r\n        /// Gets the Default Emoji Font.\r\n        /// </summary>\r\n        protected FontFamily DefaultEmojiFont { get; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a brush that provides the background of the control.\r\n        /// </summary>\r\n        public Brush Background { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a brush that describes the border fill of a control.\r\n        /// </summary>\r\n        public Brush BorderBrush { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the <see cref=\"FlowDirection\"/> of the markdown.\r\n        /// </summary>\r\n        public FlowDirection FlowDirection { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font used to display text in the control.\r\n        /// </summary>\r\n        public FontFamily FontFamily { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the style in which the text is rendered.\r\n        /// </summary>\r\n        public FontStyle FontStyle { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the thickness of the specified font.\r\n        /// </summary>\r\n        public FontWeight FontWeight { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a brush that describes the foreground color.\r\n        /// </summary>\r\n        public Brush Foreground { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether text selection is enabled.\r\n        /// </summary>\r\n        public bool IsTextSelectionEnabled { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to fill the background of a code block.\r\n        /// </summary>\r\n        public Brush CodeBackground { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to fill the background of inline code.\r\n        /// </summary>\r\n        public Brush InlineCodeBackground { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to fill the foreground of inline code.\r\n        /// </summary>\r\n        public Brush InlineCodeForeground { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to fill the border of inline code.\r\n        /// </summary>\r\n        public Brush InlineCodeBorderBrush { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to render the border fill of a code block.\r\n        /// </summary>\r\n        public Brush CodeBorderBrush { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to render the text inside a code block.  If this is\r\n        /// <c>null</c>, then <see cref=\"Foreground\"/> is used.\r\n        /// </summary>\r\n        public Brush CodeForeground { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font used to display code.  If this is <c>null</c>, then\r\n        /// <see cref=\"FontFamily\"/> is used.\r\n        /// </summary>\r\n        public FontFamily CodeFontFamily { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font used to display code.  If this is <c>null</c>, then\r\n        /// <see cref=\"FontFamily\"/> is used.\r\n        /// </summary>\r\n        public FontFamily InlineCodeFontFamily { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font used to display emojis.  If this is <c>null</c>, then\r\n        /// Segoe UI Emoji font is used.\r\n        /// </summary>\r\n        public FontFamily EmojiFontFamily { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font weight to use for level 1 headers.\r\n        /// </summary>\r\n        public FontWeight Header1FontWeight { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the foreground brush for level 1 headers.\r\n        /// </summary>\r\n        public Brush Header1Foreground { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font weight to use for level 2 headers.\r\n        /// </summary>\r\n        public FontWeight Header2FontWeight { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the foreground brush for level 2 headers.\r\n        /// </summary>\r\n        public Brush Header2Foreground { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font weight to use for level 3 headers.\r\n        /// </summary>\r\n        public FontWeight Header3FontWeight { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the foreground brush for level 3 headers.\r\n        /// </summary>\r\n        public Brush Header3Foreground { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font weight to use for level 4 headers.\r\n        /// </summary>\r\n        public FontWeight Header4FontWeight { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the foreground brush for level 4 headers.\r\n        /// </summary>\r\n        public Brush Header4Foreground { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font weight to use for level 5 headers.\r\n        /// </summary>\r\n        public FontWeight Header5FontWeight { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the foreground brush for level 5 headers.\r\n        /// </summary>\r\n        public Brush Header5Foreground { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font weight to use for level 6 headers.\r\n        /// </summary>\r\n        public FontWeight Header6FontWeight { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the foreground brush for level 6 headers.\r\n        /// </summary>\r\n        public Brush Header6Foreground { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to render a horizontal rule.  If this is <c>null</c>, then\r\n        /// <see cref=\"Foreground\"/> is used.\r\n        /// </summary>\r\n        public Brush HorizontalRuleBrush { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to fill the background of a quote block.\r\n        /// </summary>\r\n        public Brush QuoteBackground { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to render a quote border.  If this is <c>null</c>, then\r\n        /// <see cref=\"Foreground\"/> is used.\r\n        /// </summary>\r\n        public Brush QuoteBorderBrush { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to render the text inside a quote block.  If this is\r\n        /// <c>null</c>, then <see cref=\"Foreground\"/> is used.\r\n        /// </summary>\r\n        public Brush QuoteForeground { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to render table borders.  If this is <c>null</c>, then\r\n        /// <see cref=\"Foreground\"/> is used.\r\n        /// </summary>\r\n        public Brush TableBorderBrush { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to render table borders.  If this is <c>null</c>, then\r\n        /// <see cref=\"Foreground\"/> is used.\r\n        /// </summary>\r\n        public Brush YamlBorderBrush { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to render links.  If this is <c>null</c>, then\r\n        /// <see cref=\"Foreground\"/> is used.\r\n        /// </summary>\r\n        public Brush LinkForeground { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/MarkdownRenderer.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock/Render\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using Microsoft.Toolkit.Uwp.UI;\r\n    using System;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Documents;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    /// <summary>\r\n    /// Generates Framework Elements for the UWP Markdown Textblock.\r\n    /// </summary>\r\n    public partial class MarkdownRenderer : MarkdownRendererBase\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"MarkdownRenderer\"/> class.\r\n        /// </summary>\r\n        /// <param name=\"document\">The Document to Render.</param>\r\n        /// <param name=\"linkRegister\">The LinkRegister, <see cref=\"MarkdownTextBlock\"/> will use itself.</param>\r\n        /// <param name=\"imageResolver\">The Image Resolver, <see cref=\"MarkdownTextBlock\"/> will use itself.</param>\r\n        /// <param name=\"codeBlockResolver\">The Code Block Resolver, <see cref=\"MarkdownTextBlock\"/> will use itself.</param>\r\n        public MarkdownRenderer(MarkdownDocument document, ILinkRegister linkRegister, IImageResolver imageResolver, ICodeBlockResolver codeBlockResolver)\r\n            : base(document)\r\n        {\r\n            LinkRegister = linkRegister;\r\n            ImageResolver = imageResolver;\r\n            CodeBlockResolver = codeBlockResolver;\r\n            DefaultEmojiFont = new FontFamily(\"Segoe UI Emoji\");\r\n        }\r\n\r\n        /// <summary>\r\n        /// Called externally to render markdown to a text block.\r\n        /// </summary>\r\n        /// <returns> A XAML UI element. </returns>\r\n        public UIElement Render()\r\n        {\r\n            var stackPanel = new StackPanel();\r\n            RootElement = stackPanel;\r\n            Render(new UIElementCollectionRenderContext(stackPanel.Children) { Foreground = Foreground });\r\n\r\n            // Set background and border properties.\r\n            stackPanel.Background = Background;\r\n            stackPanel.BorderBrush = BorderBrush;\r\n            stackPanel.BorderThickness = BorderThickness;\r\n            stackPanel.Padding = Padding;\r\n\r\n            return stackPanel;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Creates a new RichTextBlock, if the last element of the provided collection isn't already a RichTextBlock.\r\n        /// </summary>\r\n        /// <returns>The rich text block</returns>\r\n        protected RichTextBlock CreateOrReuseRichTextBlock(IRenderContext context)\r\n        {\r\n            if (!(context is UIElementCollectionRenderContext localContext))\r\n            {\r\n                throw new RenderContextIncorrectException();\r\n            }\r\n\r\n            var blockUIElementCollection = localContext.BlockUIElementCollection;\r\n\r\n            // Reuse the last RichTextBlock, if possible.\r\n            if (blockUIElementCollection != null && blockUIElementCollection.Count > 0 && blockUIElementCollection[blockUIElementCollection.Count - 1] is RichTextBlock)\r\n            {\r\n                return (RichTextBlock)blockUIElementCollection[blockUIElementCollection.Count - 1];\r\n            }\r\n\r\n            var result = new RichTextBlock\r\n            {\r\n                CharacterSpacing = CharacterSpacing,\r\n                FontFamily = FontFamily,\r\n                FontSize = FontSize,\r\n                FontStretch = FontStretch,\r\n                FontStyle = FontStyle,\r\n                FontWeight = FontWeight,\r\n                Foreground = localContext.Foreground,\r\n                IsTextSelectionEnabled = IsTextSelectionEnabled,\r\n                TextWrapping = TextWrapping,\r\n                FlowDirection = FlowDirection\r\n            };\r\n            localContext.BlockUIElementCollection?.Add(result);\r\n\r\n            return result;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Creates a new TextBlock, with default settings.\r\n        /// </summary>\r\n        /// <returns>The created TextBlock</returns>\r\n        protected TextBlock CreateTextBlock(RenderContext context)\r\n        {\r\n            var result = new TextBlock\r\n            {\r\n                CharacterSpacing = CharacterSpacing,\r\n                FontFamily = FontFamily,\r\n                FontSize = FontSize,\r\n                FontStretch = FontStretch,\r\n                FontStyle = FontStyle,\r\n                FontWeight = FontWeight,\r\n                Foreground = context.Foreground,\r\n                IsTextSelectionEnabled = IsTextSelectionEnabled,\r\n                TextWrapping = TextWrapping,\r\n                FlowDirection = FlowDirection\r\n            };\r\n            return result;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Performs an action against any runs that occur within the given span.\r\n        /// </summary>\r\n        protected void AlterChildRuns(Span parentSpan, Action<Span, Run> action)\r\n        {\r\n            foreach (var inlineElement in parentSpan.Inlines)\r\n            {\r\n                if (inlineElement is Span span)\r\n                {\r\n                    AlterChildRuns(span, action);\r\n                }\r\n                else if (inlineElement is Run)\r\n                {\r\n                    action(parentSpan, (Run)inlineElement);\r\n                }\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Checks if all text elements inside the given container are superscript.\r\n        /// </summary>\r\n        /// <returns> <c>true</c> if all text is superscript (level 1); <c>false</c> otherwise. </returns>\r\n        private bool AllTextIsSuperscript(IInlineContainer container, int superscriptLevel = 0)\r\n        {\r\n            foreach (var inline in container.Inlines)\r\n            {\r\n                if (inline is SuperscriptTextInline textInline)\r\n                {\r\n                    // Remove any nested superscripts.\r\n                    if (AllTextIsSuperscript(textInline, superscriptLevel + 1) == false)\r\n                    {\r\n                        return false;\r\n                    }\r\n                }\r\n                else if (inline is IInlineContainer inlineContainer)\r\n                {\r\n                    // Remove any superscripts.\r\n                    if (AllTextIsSuperscript(inlineContainer, superscriptLevel) == false)\r\n                    {\r\n                        return false;\r\n                    }\r\n                }\r\n                else if (inline is IInlineLeaf leaf && superscriptLevel != 1)\r\n                {\r\n                    if (!ParseHelpers.IsMarkdownBlankOrWhiteSpace(leaf.Text) || string.IsNullOrWhiteSpace(leaf.Text))\r\n                    {\r\n                        return false;\r\n                    }\r\n                }\r\n            }\r\n\r\n            return true;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Removes all superscript elements from the given container.\r\n        /// </summary>\r\n        private void RemoveSuperscriptRuns(IInlineContainer container, bool insertCaret)\r\n        {\r\n            for (int i = 0; i < container.Inlines.Count; i++)\r\n            {\r\n                var inline = container.Inlines[i];\r\n                if (inline is SuperscriptTextInline textInline)\r\n                {\r\n                    // Remove any nested superscripts.\r\n                    RemoveSuperscriptRuns(textInline, insertCaret);\r\n\r\n                    // Remove the superscript element, insert all the children.\r\n                    container.Inlines.RemoveAt(i);\r\n                    if (insertCaret)\r\n                    {\r\n                        container.Inlines.Insert(i++, new TextRunInline { Text = \"^\" });\r\n                    }\r\n\r\n                    foreach (var superscriptInline in textInline.Inlines)\r\n                    {\r\n                        container.Inlines.Insert(i++, superscriptInline);\r\n                    }\r\n\r\n                    i--;\r\n                }\r\n                else if (inline is IInlineContainer)\r\n                {\r\n                    // Remove any superscripts.\r\n                    RemoveSuperscriptRuns((IInlineContainer)inline, insertCaret);\r\n                }\r\n            }\r\n        }\r\n\r\n        private void Preventative_PointerWheelChanged(object sender, Windows.UI.Xaml.Input.PointerRoutedEventArgs e)\r\n        {\r\n            var pointerPoint = e.GetCurrentPoint((UIElement)sender);\r\n\r\n            if (pointerPoint.Properties.IsHorizontalMouseWheel)\r\n            {\r\n                e.Handled = false;\r\n                return;\r\n            }\r\n\r\n            var rootViewer = DependencyObjectExtensions.FindAscendant<ScrollViewer>(RootElement);\r\n            if (rootViewer != null)\r\n            {\r\n                pointerWheelChanged?.Invoke(rootViewer, new object[] { e });\r\n                e.Handled = true;\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/MarkdownRendererBase.Blocks.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Render\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// Block Rendering Methods.\r\n    /// </summary>\r\n    public partial class MarkdownRendererBase\r\n    {\r\n        /// <summary>\r\n        /// Renders a paragraph element.\r\n        /// </summary>\r\n        protected abstract void RenderParagraph(ParagraphBlock element, IRenderContext context);\r\n\r\n        /// <summary>\r\n        /// Renders a yaml header element.\r\n        /// </summary>\r\n        protected abstract void RenderYamlHeader(YamlHeaderBlock element, IRenderContext context);\r\n\r\n        /// <summary>\r\n        /// Renders a header element.\r\n        /// </summary>\r\n        protected abstract void RenderHeader(HeaderBlock element, IRenderContext context);\r\n\r\n        /// <summary>\r\n        /// Renders a list element.\r\n        /// </summary>\r\n        protected abstract void RenderListElement(ListBlock element, IRenderContext context);\r\n\r\n        /// <summary>\r\n        /// Renders a horizontal rule element.\r\n        /// </summary>\r\n        protected abstract void RenderHorizontalRule(IRenderContext context);\r\n\r\n        /// <summary>\r\n        /// Renders a quote element.\r\n        /// </summary>\r\n        protected abstract void RenderQuote(QuoteBlock element, IRenderContext context);\r\n\r\n        /// <summary>\r\n        /// Renders a code element.\r\n        /// </summary>\r\n        protected abstract void RenderCode(CodeBlock element, IRenderContext context);\r\n\r\n        /// <summary>\r\n        /// Renders a table element.\r\n        /// </summary>\r\n        protected abstract void RenderTable(TableBlock element, IRenderContext context);\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/MarkdownRendererBase.Inlines.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Render\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    /// <summary>\r\n    /// Inline Rendering Methods.\r\n    /// </summary>\r\n    public partial class MarkdownRendererBase\r\n    {\r\n        /// <summary>\r\n        /// Renders emoji element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected abstract void RenderEmoji(EmojiInline element, IRenderContext context);\r\n\r\n        /// <summary>\r\n        /// Renders a text run element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected abstract void RenderTextRun(TextRunInline element, IRenderContext context);\r\n\r\n        /// <summary>\r\n        /// Renders a bold run element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected abstract void RenderBoldRun(BoldTextInline element, IRenderContext context);\r\n\r\n        /// <summary>\r\n        /// Renders a link element\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected abstract void RenderMarkdownLink(MarkdownLinkInline element, IRenderContext context);\r\n\r\n        /// <summary>\r\n        /// Renders an image element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected abstract void RenderImage(ImageInline element, IRenderContext context);\r\n\r\n        /// <summary>\r\n        /// Renders a raw link element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected abstract void RenderHyperlink(HyperlinkInline element, IRenderContext context);\r\n\r\n        /// <summary>\r\n        /// Renders a text run element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected abstract void RenderItalicRun(ItalicTextInline element, IRenderContext context);\r\n\r\n        /// <summary>\r\n        /// Renders a strikethrough element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected abstract void RenderStrikethroughRun(StrikethroughTextInline element, IRenderContext context);\r\n\r\n        /// <summary>\r\n        /// Renders a superscript element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected abstract void RenderSuperscriptRun(SuperscriptTextInline element, IRenderContext context);\r\n\r\n        /// <summary>\r\n        /// Renders a subscript element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected abstract void RenderSubscriptRun(SubscriptTextInline element, IRenderContext context);\r\n\r\n        /// <summary>\r\n        /// Renders a code element\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected abstract void RenderCodeRun(CodeInline element, IRenderContext context);\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/MarkdownRendererBase.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Parsers/Markdown/Render\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System.Collections.Generic;\r\n    using System.Text;\r\n\r\n    /// <summary>\r\n    /// A base renderer for Rendering Markdown into Controls.\r\n    /// </summary>\r\n    public abstract partial class MarkdownRendererBase\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"MarkdownRendererBase\"/> class.\r\n        /// </summary>\r\n        /// <param name=\"document\">Markdown Document to Render</param>\r\n        protected MarkdownRendererBase(MarkdownDocument document)\r\n        {\r\n            Document = document;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders all Content to the Provided Parent UI.\r\n        /// </summary>\r\n        /// <param name=\"context\">UI Context</param>\r\n        public virtual void Render(IRenderContext context)\r\n        {\r\n            RenderBlocks(Document.Blocks, context);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders a list of block elements.\r\n        /// </summary>\r\n        protected virtual void RenderBlocks(IEnumerable<MarkdownBlock> blockElements, IRenderContext context)\r\n        {\r\n            foreach (MarkdownBlock element in blockElements)\r\n            {\r\n                RenderBlock(element, context);\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Called to render a block element.\r\n        /// </summary>\r\n        protected void RenderBlock(MarkdownBlock element, IRenderContext context)\r\n        {\r\n            {\r\n                switch (element.Type)\r\n                {\r\n                    case MarkdownBlockType.Paragraph:\r\n                        RenderParagraph((ParagraphBlock)element, context);\r\n                        break;\r\n\r\n                    case MarkdownBlockType.Quote:\r\n                        RenderQuote((QuoteBlock)element, context);\r\n                        break;\r\n\r\n                    case MarkdownBlockType.Code:\r\n                        RenderCode((CodeBlock)element, context);\r\n                        break;\r\n\r\n                    case MarkdownBlockType.Header:\r\n                        RenderHeader((HeaderBlock)element, context);\r\n                        break;\r\n\r\n                    case MarkdownBlockType.List:\r\n                        RenderListElement((ListBlock)element, context);\r\n                        break;\r\n\r\n                    case MarkdownBlockType.HorizontalRule:\r\n                        RenderHorizontalRule(context);\r\n                        break;\r\n\r\n                    case MarkdownBlockType.Table:\r\n                        RenderTable((TableBlock)element, context);\r\n                        break;\r\n\r\n                    case MarkdownBlockType.YamlHeader:\r\n                        RenderYamlHeader((YamlHeaderBlock)element, context);\r\n                        break;\r\n                }\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Renders all of the children for the given element.\r\n        /// </summary>\r\n        /// <param name=\"inlineElements\"> The parsed inline elements to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected void RenderInlineChildren(IList<MarkdownInline> inlineElements, IRenderContext context)\r\n        {\r\n            foreach (MarkdownInline element in inlineElements)\r\n            {\r\n                switch (element.Type)\r\n                {\r\n                    case MarkdownInlineType.Comment:\r\n                    case MarkdownInlineType.LinkReference:\r\n                        break;\r\n\r\n                    default:\r\n                        RenderInline(element, context);\r\n                        break;\r\n                }\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Called to render an inline element.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected void RenderInline(MarkdownInline element, IRenderContext context)\r\n        {\r\n            switch (element.Type)\r\n            {\r\n                case MarkdownInlineType.TextRun:\r\n                    RenderTextRun((TextRunInline)element, context);\r\n                    break;\r\n\r\n                case MarkdownInlineType.Italic:\r\n                    RenderItalicRun((ItalicTextInline)element, context);\r\n                    break;\r\n\r\n                case MarkdownInlineType.Bold:\r\n                    RenderBoldRun((BoldTextInline)element, context);\r\n                    break;\r\n\r\n                case MarkdownInlineType.MarkdownLink:\r\n                    CheckRenderMarkdownLink((MarkdownLinkInline)element, context);\r\n                    break;\r\n\r\n                case MarkdownInlineType.RawHyperlink:\r\n                    RenderHyperlink((HyperlinkInline)element, context);\r\n                    break;\r\n\r\n                case MarkdownInlineType.Strikethrough:\r\n                    RenderStrikethroughRun((StrikethroughTextInline)element, context);\r\n                    break;\r\n\r\n                case MarkdownInlineType.Superscript:\r\n                    RenderSuperscriptRun((SuperscriptTextInline)element, context);\r\n                    break;\r\n\r\n                case MarkdownInlineType.Subscript:\r\n                    RenderSubscriptRun((SubscriptTextInline)element, context);\r\n                    break;\r\n\r\n                case MarkdownInlineType.Code:\r\n                    RenderCodeRun((CodeInline)element, context);\r\n                    break;\r\n\r\n                case MarkdownInlineType.Image:\r\n                    RenderImage((ImageInline)element, context);\r\n                    break;\r\n\r\n                case MarkdownInlineType.Emoji:\r\n                    RenderEmoji((EmojiInline)element, context);\r\n                    break;\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Removes leading whitespace, but only if this is the first run in the block.\r\n        /// </summary>\r\n        /// <returns>The corrected string</returns>\r\n        protected static string CollapseWhitespace(IRenderContext context, string text)\r\n        {\r\n            bool dontOutputWhitespace = context.TrimLeadingWhitespace;\r\n            StringBuilder result = null;\r\n            for (int i = 0; i < text.Length; i++)\r\n            {\r\n                char c = text[i];\r\n                if (c == ' ' || c == '\\t')\r\n                {\r\n                    if (dontOutputWhitespace)\r\n                    {\r\n                        if (result == null)\r\n                        {\r\n                            result = new StringBuilder(text.Substring(0, i), text.Length);\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        result?.Append(c);\r\n\r\n                        dontOutputWhitespace = true;\r\n                    }\r\n                }\r\n                else\r\n                {\r\n                    result?.Append(c);\r\n\r\n                    dontOutputWhitespace = false;\r\n                }\r\n            }\r\n\r\n            context.TrimLeadingWhitespace = false;\r\n            return result == null ? text : result.ToString();\r\n        }\r\n\r\n        /// <summary>\r\n        /// Verifies if the link is valid, before processing into a link, or plain text.\r\n        /// </summary>\r\n        /// <param name=\"element\"> The parsed inline element to render. </param>\r\n        /// <param name=\"context\"> Persistent state. </param>\r\n        protected void CheckRenderMarkdownLink(MarkdownLinkInline element, IRenderContext context)\r\n        {\r\n            // Avoid processing when link text is empty.\r\n            if (element.Inlines.Count == 0)\r\n            {\r\n                return;\r\n            }\r\n\r\n            // Attempt to resolve references.\r\n            element.ResolveReference(Document);\r\n            if (element.Url == null)\r\n            {\r\n                // The element couldn't be resolved, just render it as text.\r\n                RenderInlineChildren(element.Inlines, context);\r\n                return;\r\n            }\r\n\r\n            foreach (MarkdownInline inline in element.Inlines)\r\n            {\r\n                if (inline is ImageInline imageInline)\r\n                {\r\n                    // this is an image, create Image.\r\n                    if (!string.IsNullOrEmpty(imageInline.ReferenceId))\r\n                    {\r\n                        imageInline.ResolveReference(Document);\r\n                    }\r\n\r\n                    imageInline.Url = element.Url;\r\n                    RenderImage(imageInline, context);\r\n                    return;\r\n                }\r\n            }\r\n\r\n            RenderMarkdownLink(element, context);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets the markdown document that will be rendered.\r\n        /// </summary>\r\n        protected MarkdownDocument Document { get; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/MarkdownTable.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock/Render\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using System.Linq;\r\n    using Windows.Foundation;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Media;\r\n    using Windows.UI.Xaml.Shapes;\r\n\r\n    /// <summary>\r\n    /// A custom panel control that arranges elements similar to how an HTML table would.\r\n    /// </summary>\r\n    internal class MarkdownTable : Panel\r\n    {\r\n        private readonly int _columnCount;\r\n        private readonly int _rowCount;\r\n        private readonly double _borderThickness;\r\n        private double[] _columnWidths;\r\n        private double[] _rowHeights;\r\n\r\n        public MarkdownTable(int columnCount, int rowCount, double borderThickness, Brush borderBrush)\r\n        {\r\n            _columnCount = columnCount;\r\n            _rowCount = rowCount;\r\n            _borderThickness = borderThickness;\r\n            for (int col = 0; col < columnCount + 1; col++)\r\n            {\r\n                Children.Add(new Rectangle { Fill = borderBrush });\r\n            }\r\n\r\n            for (int row = 0; row < rowCount + 1; row++)\r\n            {\r\n                Children.Add(new Rectangle { Fill = borderBrush });\r\n            }\r\n        }\r\n\r\n        // Helper method to enumerate FrameworkElements instead of UIElements.\r\n        private IEnumerable<FrameworkElement> ContentChildren\r\n        {\r\n            get\r\n            {\r\n                for (int i = _columnCount + _rowCount + 2; i < Children.Count; i++)\r\n                {\r\n                    yield return (FrameworkElement)Children[i];\r\n                }\r\n            }\r\n        }\r\n\r\n        // Helper method to get table vertical edges.\r\n        private IEnumerable<Rectangle> VerticalLines\r\n        {\r\n            get\r\n            {\r\n                for (int i = 0; i < _columnCount + 1; i++)\r\n                {\r\n                    yield return (Rectangle)Children[i];\r\n                }\r\n            }\r\n        }\r\n\r\n        // Helper method to get table horizontal edges.\r\n        private IEnumerable<Rectangle> HorizontalLines\r\n        {\r\n            get\r\n            {\r\n                for (int i = _columnCount + 1; i < _columnCount + _rowCount + 2; i++)\r\n                {\r\n                    yield return (Rectangle)Children[i];\r\n                }\r\n            }\r\n        }\r\n\r\n        protected override Size MeasureOverride(Size availableSize)\r\n        {\r\n            // Measure the width of each column, with no horizontal width restrictions.\r\n            var naturalColumnWidths = new double[_columnCount];\r\n            foreach (var child in ContentChildren)\r\n            {\r\n                var columnIndex = Grid.GetColumn(child);\r\n                child.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));\r\n                naturalColumnWidths[columnIndex] = Math.Max(naturalColumnWidths[columnIndex], child.DesiredSize.Width);\r\n            }\r\n\r\n            // Now figure out the actual column widths.\r\n            var remainingContentWidth = availableSize.Width - ((_columnCount + 1) * _borderThickness);\r\n            _columnWidths = new double[_columnCount];\r\n            int remainingColumnCount = _columnCount;\r\n            while (remainingColumnCount > 0)\r\n            {\r\n                // Calculate the fair width of all columns.\r\n                double fairWidth = Math.Max(0, remainingContentWidth / remainingColumnCount);\r\n\r\n                // Are there any columns less than that?  If so, they get what they are asking for.\r\n                bool recalculationNeeded = false;\r\n                for (int i = 0; i < _columnCount; i++)\r\n                {\r\n                    if (_columnWidths[i] == 0 && naturalColumnWidths[i] < fairWidth)\r\n                    {\r\n                        _columnWidths[i] = naturalColumnWidths[i];\r\n                        remainingColumnCount--;\r\n                        remainingContentWidth -= _columnWidths[i];\r\n                        recalculationNeeded = true;\r\n                    }\r\n                }\r\n\r\n                // If there are no columns less than the fair width, every remaining column gets that width.\r\n                if (recalculationNeeded == false)\r\n                {\r\n                    for (int i = 0; i < _columnCount; i++)\r\n                    {\r\n                        if (_columnWidths[i] == 0)\r\n                        {\r\n                            _columnWidths[i] = fairWidth;\r\n                        }\r\n                    }\r\n\r\n                    break;\r\n                }\r\n            }\r\n\r\n            // TODO: we can skip this step if none of the column widths changed, and just re-use\r\n            // the row heights we obtained earlier.\r\n\r\n            // Now measure row heights.\r\n            _rowHeights = new double[_rowCount];\r\n            foreach (var child in ContentChildren)\r\n            {\r\n                var columnIndex = Grid.GetColumn(child);\r\n                var rowIndex = Grid.GetRow(child);\r\n                child.Measure(new Size(_columnWidths[columnIndex], double.PositiveInfinity));\r\n                _rowHeights[rowIndex] = Math.Max(_rowHeights[rowIndex], child.DesiredSize.Height);\r\n            }\r\n\r\n            return new Size(\r\n                _columnWidths.Sum() + (_borderThickness * (_columnCount + 1)),\r\n                _rowHeights.Sum() + ((_rowCount + 1) * _borderThickness));\r\n        }\r\n\r\n        protected override Size ArrangeOverride(Size finalSize)\r\n        {\r\n            if (_columnWidths == null || _rowHeights == null)\r\n            {\r\n                throw new InvalidOperationException(\"Expected Measure to be called first.\");\r\n            }\r\n\r\n            // Arrange content.\r\n            foreach (var child in ContentChildren)\r\n            {\r\n                var columnIndex = Grid.GetColumn(child);\r\n                var rowIndex = Grid.GetRow(child);\r\n\r\n                var rect = new Rect(0, 0, 0, 0)\r\n                {\r\n                    X = _borderThickness\r\n                };\r\n\r\n                for (int col = 0; col < columnIndex; col++)\r\n                {\r\n                    rect.X += _borderThickness + _columnWidths[col];\r\n                }\r\n\r\n                rect.Y = _borderThickness;\r\n                for (int row = 0; row < rowIndex; row++)\r\n                {\r\n                    rect.Y += _borderThickness + _rowHeights[row];\r\n                }\r\n\r\n                rect.Width = _columnWidths[columnIndex];\r\n                rect.Height = _rowHeights[rowIndex];\r\n                child.Arrange(rect);\r\n            }\r\n\r\n            // Arrange vertical border elements.\r\n            {\r\n                int colIndex = 0;\r\n                double x = 0;\r\n                foreach (var borderLine in VerticalLines)\r\n                {\r\n                    borderLine.Arrange(new Rect(x, 0, _borderThickness, finalSize.Height));\r\n                    if (colIndex >= _columnWidths.Length)\r\n                    {\r\n                        break;\r\n                    }\r\n\r\n                    x += _borderThickness + _columnWidths[colIndex];\r\n                    colIndex++;\r\n                }\r\n            }\r\n\r\n            // Arrange horizontal border elements.\r\n            {\r\n                int rowIndex = 0;\r\n                double y = 0;\r\n                foreach (var borderLine in HorizontalLines)\r\n                {\r\n                    borderLine.Arrange(new Rect(0, y, finalSize.Width, _borderThickness));\r\n                    if (rowIndex >= _rowHeights.Length)\r\n                    {\r\n                        break;\r\n                    }\r\n\r\n                    y += _borderThickness + _rowHeights[rowIndex];\r\n                    rowIndex++;\r\n                }\r\n            }\r\n\r\n            return finalSize;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/RenderContext.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock/Render\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    /// <summary>\r\n    /// The Context of the Current Position\r\n    /// </summary>\r\n    public abstract class RenderContext : IRenderContext\r\n    {\r\n        /// <summary>\r\n        /// Gets or sets the Foreground of the Current Context.\r\n        /// </summary>\r\n        public Brush Foreground { get; set; }\r\n\r\n        /// <inheritdoc/>\r\n        public bool TrimLeadingWhitespace { get; set; }\r\n\r\n        /// <inheritdoc/>\r\n        public object Parent { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether to override the Foreground Property.\r\n        /// </summary>\r\n        public bool OverrideForeground { get; set; }\r\n\r\n        /// <inheritdoc/>\r\n        public IRenderContext Clone()\r\n        {\r\n            return (IRenderContext)MemberwiseClone();\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/RenderContextIncorrectException.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock/Render\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using System;\r\n\r\n    /// <summary>\r\n    /// An Exception that occurs when the Render Context is Incorrect.\r\n    /// </summary>\r\n    public class RenderContextIncorrectException : Exception\r\n    {\r\n        internal RenderContextIncorrectException() : base(\"Markdown Render Context missing or incorrect.\")\r\n        {\r\n        }\r\n\r\n        public RenderContextIncorrectException(string message) : base(message)\r\n        {\r\n        }\r\n\r\n        public RenderContextIncorrectException(string message, Exception innerException) : base(message, innerException)\r\n        {\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/Markdown/Render/UIElementCollectionRenderContext.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock/Render\r\n\r\nnamespace Notepads.Controls.Markdown\r\n{\r\n    using Windows.UI.Xaml.Controls;\r\n\r\n    /// <summary>\r\n    /// The Context of the Current Document Rendering.\r\n    /// </summary>\r\n    public class UIElementCollectionRenderContext : RenderContext\r\n    {\r\n        internal UIElementCollectionRenderContext(UIElementCollection blockUIElementCollection)\r\n        {\r\n            BlockUIElementCollection = blockUIElementCollection;\r\n        }\r\n\r\n        internal UIElementCollectionRenderContext(UIElementCollection blockUIElementCollection, IRenderContext context)\r\n            : this(blockUIElementCollection)\r\n        {\r\n            TrimLeadingWhitespace = context.TrimLeadingWhitespace;\r\n            Parent = context.Parent;\r\n\r\n            if (context is RenderContext localcontext)\r\n            {\r\n                Foreground = localcontext.Foreground;\r\n                OverrideForeground = localcontext.OverrideForeground;\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the list to add to.\r\n        /// </summary>\r\n        public UIElementCollection BlockUIElementCollection { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/MarkdownRenderedEventArgs.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n\r\n    /// <summary>\r\n    /// Arguments for the OnMarkdownRendered event which indicates when the markdown has been\r\n    /// rendered.\r\n    /// </summary>\r\n    public class MarkdownRenderedEventArgs : EventArgs\r\n    {\r\n        internal MarkdownRenderedEventArgs(Exception ex)\r\n        {\r\n            Exception = ex;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets the exception if there was one. If the exception is null there was no error.\r\n        /// </summary>\r\n        public Exception Exception { get; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/MarkdownTextBlock.Dimensions.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    /// <summary>\r\n    /// Measurement Properties for elements in the Markdown.\r\n    /// </summary>\r\n    public partial class MarkdownTextBlock\r\n    {\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"InlineCodePadding\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty InlineCodePaddingProperty =\r\n            DependencyProperty.Register(\r\n                nameof(InlineCodePadding),\r\n                typeof(Thickness),\r\n                typeof(MarkdownTextBlock),\r\n                new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"InlineCodeMargin\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty InlineCodeMarginProperty =\r\n            DependencyProperty.Register(\r\n                nameof(InlineCodeMargin),\r\n                typeof(Thickness),\r\n                typeof(MarkdownTextBlock),\r\n                new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"InlineCodeBorderThickness\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty InlineCodeBorderThicknessProperty =\r\n            DependencyProperty.Register(\r\n                nameof(InlineCodeBorderThickness),\r\n                typeof(Thickness),\r\n                typeof(MarkdownTextBlock),\r\n                new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"ImageStretch\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty ImageStretchProperty = DependencyProperty.Register(\r\n            nameof(ImageStretch),\r\n            typeof(Stretch),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(Stretch.None, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"CodeBorderThickness\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty CodeBorderThicknessProperty = DependencyProperty.Register(\r\n            nameof(CodeBorderThickness),\r\n            typeof(Thickness),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"CodeMargin\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty CodeMarginProperty = DependencyProperty.Register(\r\n            nameof(CodeMargin),\r\n            typeof(Thickness),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"CodePadding\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty CodePaddingProperty = DependencyProperty.Register(\r\n            nameof(CodePadding),\r\n            typeof(Thickness),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header1FontSize\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header1FontSizeProperty = DependencyProperty.Register(\r\n            nameof(Header1FontSize),\r\n            typeof(double),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header1Margin\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header1MarginProperty = DependencyProperty.Register(\r\n            nameof(Header1Margin),\r\n            typeof(Thickness),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header2FontSize\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header2FontSizeProperty = DependencyProperty.Register(\r\n            nameof(Header2FontSize),\r\n            typeof(double),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header2Margin\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header2MarginProperty = DependencyProperty.Register(\r\n            nameof(Header2Margin),\r\n            typeof(Thickness),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header3FontSize\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header3FontSizeProperty = DependencyProperty.Register(\r\n            nameof(Header3FontSize),\r\n            typeof(double),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header3Margin\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header3MarginProperty = DependencyProperty.Register(\r\n            nameof(Header3Margin),\r\n            typeof(Thickness),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header4FontSize\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header4FontSizeProperty = DependencyProperty.Register(\r\n            nameof(Header4FontSize),\r\n            typeof(double),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header4Margin\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header4MarginProperty = DependencyProperty.Register(\r\n            nameof(Header4Margin),\r\n            typeof(Thickness),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header5FontSize\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header5FontSizeProperty = DependencyProperty.Register(\r\n            nameof(Header5FontSize),\r\n            typeof(double),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header5Margin\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header5MarginProperty = DependencyProperty.Register(\r\n            nameof(Header5Margin),\r\n            typeof(Thickness),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header6Margin\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header6MarginProperty = DependencyProperty.Register(\r\n            nameof(Header6Margin),\r\n            typeof(Thickness),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header6FontSize\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header6FontSizeProperty = DependencyProperty.Register(\r\n            nameof(Header6FontSize),\r\n            typeof(double),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"HorizontalRuleMargin\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty HorizontalRuleMarginProperty = DependencyProperty.Register(\r\n            nameof(HorizontalRuleMargin),\r\n            typeof(Thickness),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"HorizontalRuleThickness\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty HorizontalRuleThicknessProperty = DependencyProperty.Register(\r\n            nameof(HorizontalRuleThickness),\r\n            typeof(double),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"ListMargin\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty ListMarginProperty = DependencyProperty.Register(\r\n            nameof(ListMargin),\r\n            typeof(Thickness),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"ListGutterWidth\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty ListGutterWidthProperty = DependencyProperty.Register(\r\n            nameof(ListGutterWidth),\r\n            typeof(double),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"ListBulletSpacing\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty ListBulletSpacingProperty = DependencyProperty.Register(\r\n            nameof(ListBulletSpacing),\r\n            typeof(double),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"ParagraphMargin\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty ParagraphMarginProperty = DependencyProperty.Register(\r\n            nameof(ParagraphMargin),\r\n            typeof(Thickness),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"ParagraphLineHeight\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty ParagraphLineHeightProperty = DependencyProperty.Register(\r\n            nameof(ParagraphLineHeight),\r\n            typeof(int),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"QuoteBorderThickness\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty QuoteBorderThicknessProperty = DependencyProperty.Register(\r\n            nameof(QuoteBorderThickness),\r\n            typeof(Thickness),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"QuoteMargin\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty QuoteMarginProperty = DependencyProperty.Register(\r\n            nameof(QuoteMargin),\r\n            typeof(Thickness),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"QuotePadding\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty QuotePaddingProperty = DependencyProperty.Register(\r\n            nameof(QuotePadding),\r\n            typeof(Thickness),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"YamlBorderThickness\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty YamlBorderThicknessProperty = DependencyProperty.Register(\r\n            nameof(YamlBorderThickness),\r\n            typeof(double),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"TableBorderThickness\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty TableBorderThicknessProperty = DependencyProperty.Register(\r\n            nameof(TableBorderThickness),\r\n            typeof(double),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"TableCellPadding\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty TableCellPaddingProperty = DependencyProperty.Register(\r\n            nameof(TableCellPadding),\r\n            typeof(Thickness),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"TableMargin\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty TableMarginProperty = DependencyProperty.Register(\r\n            nameof(TableMargin),\r\n            typeof(Thickness),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"TextWrapping\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty TextWrappingProperty = DependencyProperty.Register(\r\n            nameof(TextWrapping),\r\n            typeof(TextWrapping),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"ImageMaxHeight\"/>\r\n        /// </summary>\r\n        public static readonly DependencyProperty ImageMaxHeightProperty = DependencyProperty.Register(\r\n            nameof(ImageMaxHeight),\r\n            typeof(double),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(0.0, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"ImageMaxWidth\"/>\r\n        /// </summary>\r\n        public static readonly DependencyProperty ImageMaxWidthProperty = DependencyProperty.Register(\r\n            nameof(ImageMaxWidth),\r\n            typeof(double),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(0.0, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets or sets the MaxWidth for images.\r\n        /// </summary>\r\n        public double ImageMaxWidth\r\n        {\r\n            get => (double)GetValue(ImageMaxWidthProperty);\r\n            set => SetValue(ImageMaxWidthProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the MaxHeight for images.\r\n        /// </summary>\r\n        public double ImageMaxHeight\r\n        {\r\n            get => (double)GetValue(ImageMaxHeightProperty);\r\n            set => SetValue(ImageMaxHeightProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the stretch used for images.\r\n        /// </summary>\r\n        public Stretch ImageStretch\r\n        {\r\n            get => (Stretch)GetValue(ImageStretchProperty);\r\n            set => SetValue(ImageStretchProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the thickness of the border around code blocks.\r\n        /// </summary>\r\n        public Thickness CodeBorderThickness\r\n        {\r\n            get => (Thickness)GetValue(CodeBorderThicknessProperty);\r\n            set => SetValue(CodeBorderThicknessProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the thickness of the border for inline code.\r\n        /// </summary>\r\n        public Thickness InlineCodeBorderThickness\r\n        {\r\n            get => (Thickness)GetValue(InlineCodeBorderThicknessProperty);\r\n            set => SetValue(InlineCodeBorderThicknessProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the space between the code border and the text.\r\n        /// </summary>\r\n        public Thickness InlineCodePadding\r\n        {\r\n            get => (Thickness)GetValue(InlineCodePaddingProperty);\r\n            set => SetValue(InlineCodePaddingProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin for inline code.\r\n        /// </summary>\r\n        public Thickness InlineCodeMargin\r\n        {\r\n            get => (Thickness)GetValue(InlineCodeMarginProperty);\r\n            set => SetValue(InlineCodeMarginProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the space between the code border and the text.\r\n        /// </summary>\r\n        public Thickness CodeMargin\r\n        {\r\n            get => (Thickness)GetValue(CodeMarginProperty);\r\n            set => SetValue(CodeMarginProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets space between the code border and the text.\r\n        /// </summary>\r\n        public Thickness CodePadding\r\n        {\r\n            get => (Thickness)GetValue(CodePaddingProperty);\r\n            set => SetValue(CodePaddingProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font size for level 1 headers.\r\n        /// </summary>\r\n        public double Header1FontSize\r\n        {\r\n            get => (double)GetValue(Header1FontSizeProperty);\r\n            set => SetValue(Header1FontSizeProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin for level 1 headers.\r\n        /// </summary>\r\n        public Thickness Header1Margin\r\n        {\r\n            get => (Thickness)GetValue(Header1MarginProperty);\r\n            set => SetValue(Header1MarginProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font size for level 2 headers.\r\n        /// </summary>\r\n        public double Header2FontSize\r\n        {\r\n            get => (double)GetValue(Header2FontSizeProperty);\r\n            set => SetValue(Header2FontSizeProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin for level 2 headers.\r\n        /// </summary>\r\n        public Thickness Header2Margin\r\n        {\r\n            get => (Thickness)GetValue(Header2MarginProperty);\r\n            set => SetValue(Header2MarginProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font size for level 3 headers.\r\n        /// </summary>\r\n        public double Header3FontSize\r\n        {\r\n            get => (double)GetValue(Header3FontSizeProperty);\r\n            set => SetValue(Header3FontSizeProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin for level 3 headers.\r\n        /// </summary>\r\n        public Thickness Header3Margin\r\n        {\r\n            get => (Thickness)GetValue(Header3MarginProperty);\r\n            set => SetValue(Header3MarginProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font size for level 4 headers.\r\n        /// </summary>\r\n        public double Header4FontSize\r\n        {\r\n            get => (double)GetValue(Header4FontSizeProperty);\r\n            set => SetValue(Header4FontSizeProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin for level 4 headers.\r\n        /// </summary>\r\n        public Thickness Header4Margin\r\n        {\r\n            get => (Thickness)GetValue(Header4MarginProperty);\r\n            set => SetValue(Header4MarginProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font size for level 5 headers.\r\n        /// </summary>\r\n        public double Header5FontSize\r\n        {\r\n            get => (double)GetValue(Header5FontSizeProperty);\r\n            set => SetValue(Header5FontSizeProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin for level 5 headers.\r\n        /// </summary>\r\n        public Thickness Header5Margin\r\n        {\r\n            get => (Thickness)GetValue(Header5MarginProperty);\r\n            set => SetValue(Header5MarginProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font size for level 6 headers.\r\n        /// </summary>\r\n        public double Header6FontSize\r\n        {\r\n            get => (double)GetValue(Header6FontSizeProperty);\r\n            set => SetValue(Header6FontSizeProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin for level 6 headers.\r\n        /// </summary>\r\n        public Thickness Header6Margin\r\n        {\r\n            get => (Thickness)GetValue(Header6MarginProperty);\r\n            set => SetValue(Header6MarginProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin used for horizontal rules.\r\n        /// </summary>\r\n        public Thickness HorizontalRuleMargin\r\n        {\r\n            get => (Thickness)GetValue(HorizontalRuleMarginProperty);\r\n            set => SetValue(HorizontalRuleMarginProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the vertical thickness of the horizontal rule.\r\n        /// </summary>\r\n        public double HorizontalRuleThickness\r\n        {\r\n            get => (double)GetValue(HorizontalRuleThicknessProperty);\r\n            set => SetValue(HorizontalRuleThicknessProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin used by lists.\r\n        /// </summary>\r\n        public Thickness ListMargin\r\n        {\r\n            get => (Thickness)GetValue(ListMarginProperty);\r\n            set => SetValue(ListMarginProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the width of the space used by list item bullets/numbers.\r\n        /// </summary>\r\n        public double ListGutterWidth\r\n        {\r\n            get => (double)GetValue(ListGutterWidthProperty);\r\n            set => SetValue(ListGutterWidthProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the space between the list item bullets/numbers and the list item content.\r\n        /// </summary>\r\n        public double ListBulletSpacing\r\n        {\r\n            get => (double)GetValue(ListBulletSpacingProperty);\r\n            set => SetValue(ListBulletSpacingProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin used for paragraphs.\r\n        /// </summary>\r\n        public Thickness ParagraphMargin\r\n        {\r\n            get => (Thickness)GetValue(ParagraphMarginProperty);\r\n            set => SetValue(ParagraphMarginProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the line height used for paragraphs.\r\n        /// </summary>\r\n        public int ParagraphLineHeight\r\n        {\r\n            get => (int)GetValue(ParagraphLineHeightProperty);\r\n            set => SetValue(ParagraphLineHeightProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the thickness of quote borders.\r\n        /// </summary>\r\n        public Thickness QuoteBorderThickness\r\n        {\r\n            get => (Thickness)GetValue(QuoteBorderThicknessProperty);\r\n            set => SetValue(QuoteBorderThicknessProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the space outside of quote borders.\r\n        /// </summary>\r\n        public Thickness QuoteMargin\r\n        {\r\n            get => (Thickness)GetValue(QuoteMarginProperty);\r\n            set => SetValue(QuoteMarginProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the space between the quote border and the text.\r\n        /// </summary>\r\n        public Thickness QuotePadding\r\n        {\r\n            get => (Thickness)GetValue(QuotePaddingProperty);\r\n            set => SetValue(QuotePaddingProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the thickness of any yaml header borders.\r\n        /// </summary>\r\n        public double YamlBorderThickness\r\n        {\r\n            get => (double)GetValue(YamlBorderThicknessProperty);\r\n            set => SetValue(YamlBorderThicknessProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the thickness of any table borders.\r\n        /// </summary>\r\n        public double TableBorderThickness\r\n        {\r\n            get => (double)GetValue(TableBorderThicknessProperty);\r\n            set => SetValue(TableBorderThicknessProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the padding inside each cell.\r\n        /// </summary>\r\n        public Thickness TableCellPadding\r\n        {\r\n            get => (Thickness)GetValue(TableCellPaddingProperty);\r\n            set => SetValue(TableCellPaddingProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the margin used by tables.\r\n        /// </summary>\r\n        public Thickness TableMargin\r\n        {\r\n            get => (Thickness)GetValue(TableMarginProperty);\r\n            set => SetValue(TableMarginProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the word wrapping behavior.\r\n        /// </summary>\r\n        public TextWrapping TextWrapping\r\n        {\r\n            get => (TextWrapping)GetValue(TextWrappingProperty);\r\n            set => SetValue(TextWrappingProperty, value);\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/MarkdownTextBlock.Events.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Documents;\r\n\r\n    /// <summary>\r\n    /// An efficient and extensible control that can parse and render markdown.\r\n    /// </summary>\r\n    public partial class MarkdownTextBlock\r\n    {\r\n        /// <summary>\r\n        /// Calls OnPropertyChanged.\r\n        /// </summary>\r\n        private static void OnPropertyChangedStatic(DependencyObject d, DependencyPropertyChangedEventArgs e)\r\n        {\r\n            var instance = d as MarkdownTextBlock;\r\n\r\n            // Defer to the instance method.\r\n            instance?.OnPropertyChanged(d, e.Property);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Fired when the value of a DependencyProperty is changed.\r\n        /// </summary>\r\n        private void OnPropertyChanged(DependencyObject d, DependencyProperty prop)\r\n        {\r\n            RenderMarkdown();\r\n        }\r\n\r\n        /// <summary>\r\n        /// Fired when a user taps one of the link elements\r\n        /// </summary>\r\n        private void Hyperlink_Click(Hyperlink sender, HyperlinkClickEventArgs args)\r\n        {\r\n            LinkHandled((string)sender.GetValue(HyperlinkUrlProperty), true);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Fired when a user taps one of the image elements\r\n        /// </summary>\r\n        private void NewImagelink_Tapped(object sender, Windows.UI.Xaml.Input.TappedRoutedEventArgs e)\r\n        {\r\n            string hyperLink = (string)(sender as Image).GetValue(HyperlinkUrlProperty);\r\n            bool isHyperLink = (bool)(sender as Image).GetValue(IsHyperlinkProperty);\r\n            LinkHandled(hyperLink, isHyperLink);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Fired when the text is done parsing and formatting. Fires each time the markdown is rendered.\r\n        /// </summary>\r\n        public event EventHandler<MarkdownRenderedEventArgs> MarkdownRendered;\r\n\r\n        /// <summary>\r\n        /// Fired when a link element in the markdown was tapped.\r\n        /// </summary>\r\n        public event EventHandler<LinkClickedEventArgs> LinkClicked;\r\n\r\n        /// <summary>\r\n        /// Fired when an image element in the markdown was tapped.\r\n        /// </summary>\r\n        public event EventHandler<LinkClickedEventArgs> ImageClicked;\r\n\r\n        /// <summary>\r\n        /// Fired when an image from the markdown document needs to be resolved.\r\n        /// The default implementation is basically <code>new BitmapImage(new Uri(e.Url));</code>.\r\n        /// <para/>You must set <see cref=\"ImageResolvingEventArgs.Handled\"/> to true in order to process your changes.\r\n        /// </summary>\r\n        public event EventHandler<ImageResolvingEventArgs> ImageResolving;\r\n\r\n        /// <summary>\r\n        /// Fired when a Code Block is being Rendered.\r\n        /// The default implementation is to output the CodeBlock as Plain Text.\r\n        /// <para/>You must set <see cref=\"CodeBlockResolvingEventArgs.Handled\"/> to true in order to process your changes.\r\n        /// </summary>\r\n        public event EventHandler<CodeBlockResolvingEventArgs> CodeBlockResolving;\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/MarkdownTextBlock.Methods.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n    using System.Diagnostics;\r\n    using System.IO;\r\n    using System.Linq;\r\n    using System.Threading.Tasks;\r\n    using ColorCode;\r\n    using Windows.UI.Core;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Documents;\r\n    using Windows.UI.Xaml.Media;\r\n    using Windows.UI.Xaml.Media.Imaging;\r\n    using Notepads.Controls.Markdown;\r\n\r\n    /// <summary>\r\n    /// An efficient and extensible control that can parse and render markdown.\r\n    /// </summary>\r\n    public partial class MarkdownTextBlock\r\n    {\r\n        /// <summary>\r\n        /// Sets the Markdown Renderer for Rendering the UI.\r\n        /// </summary>\r\n        /// <typeparam name=\"T\">The Inherited Markdown Render</typeparam>\r\n        public void SetRenderer<T>()\r\n            where T : MarkdownRenderer\r\n        {\r\n            renderertype = typeof(T);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Called to preform a render of the current Markdown.\r\n        /// </summary>\r\n        private void RenderMarkdown()\r\n        {\r\n            // Leave if we don't have our root yet.\r\n            if (_rootElement == null)\r\n            {\r\n                return;\r\n            }\r\n\r\n            // Disconnect from OnClick handlers.\r\n            UnhookListeners();\r\n\r\n            // Clear everything that exists.\r\n            _listeningHyperlinks.Clear();\r\n\r\n            var markdownRenderedArgs = new MarkdownRenderedEventArgs(null);\r\n\r\n            // Make sure we have something to parse.\r\n            if (string.IsNullOrWhiteSpace(Text))\r\n            {\r\n                _rootElement.Child = null;\r\n            }\r\n            else\r\n            {\r\n                try\r\n                {\r\n                    // Try to parse the markdown.\r\n                    MarkdownDocument markdown = new MarkdownDocument();\r\n                    foreach (string str in SchemeList.Split(',').ToList())\r\n                    {\r\n                        if (!string.IsNullOrEmpty(str))\r\n                        {\r\n                            MarkdownDocument.KnownSchemes.Add(str);\r\n                        }\r\n                    }\r\n\r\n                    markdown.Parse(Text);\r\n\r\n                    // Now try to display it\r\n                    if (!(Activator.CreateInstance(renderertype, markdown, this, this, this) is MarkdownRenderer renderer))\r\n                    {\r\n                        throw new Exception(\"Markdown Renderer was not of the correct type.\");\r\n                    }\r\n\r\n                    renderer.Background = Background;\r\n                    renderer.BorderBrush = BorderBrush;\r\n                    renderer.BorderThickness = BorderThickness;\r\n                    renderer.CharacterSpacing = CharacterSpacing;\r\n                    renderer.FontFamily = FontFamily;\r\n                    renderer.FontSize = FontSize;\r\n                    renderer.FontStretch = FontStretch;\r\n                    renderer.FontStyle = FontStyle;\r\n                    renderer.FontWeight = FontWeight;\r\n                    renderer.Foreground = Foreground;\r\n                    renderer.IsTextSelectionEnabled = IsTextSelectionEnabled;\r\n                    renderer.Padding = Padding;\r\n                    renderer.CodeBackground = CodeBackground;\r\n                    renderer.CodeBorderBrush = CodeBorderBrush;\r\n                    renderer.CodeBorderThickness = CodeBorderThickness;\r\n                    renderer.InlineCodeBorderThickness = InlineCodeBorderThickness;\r\n                    renderer.InlineCodeBackground = InlineCodeBackground;\r\n                    renderer.InlineCodeBorderBrush = InlineCodeBorderBrush;\r\n                    renderer.InlineCodePadding = InlineCodePadding;\r\n                    renderer.InlineCodeFontFamily = InlineCodeFontFamily;\r\n                    renderer.InlineCodeForeground = InlineCodeForeground;\r\n                    renderer.CodeForeground = CodeForeground;\r\n                    renderer.CodeFontFamily = CodeFontFamily;\r\n                    renderer.CodePadding = CodePadding;\r\n                    renderer.CodeMargin = CodeMargin;\r\n                    renderer.EmojiFontFamily = EmojiFontFamily;\r\n                    renderer.Header1FontSize = Header1FontSize;\r\n                    renderer.Header1FontWeight = Header1FontWeight;\r\n                    renderer.Header1Margin = Header1Margin;\r\n                    renderer.Header1Foreground = Header1Foreground;\r\n                    renderer.Header2FontSize = Header2FontSize;\r\n                    renderer.Header2FontWeight = Header2FontWeight;\r\n                    renderer.Header2Margin = Header2Margin;\r\n                    renderer.Header2Foreground = Header2Foreground;\r\n                    renderer.Header3FontSize = Header3FontSize;\r\n                    renderer.Header3FontWeight = Header3FontWeight;\r\n                    renderer.Header3Margin = Header3Margin;\r\n                    renderer.Header3Foreground = Header3Foreground;\r\n                    renderer.Header4FontSize = Header4FontSize;\r\n                    renderer.Header4FontWeight = Header4FontWeight;\r\n                    renderer.Header4Margin = Header4Margin;\r\n                    renderer.Header4Foreground = Header4Foreground;\r\n                    renderer.Header5FontSize = Header5FontSize;\r\n                    renderer.Header5FontWeight = Header5FontWeight;\r\n                    renderer.Header5Margin = Header5Margin;\r\n                    renderer.Header5Foreground = Header5Foreground;\r\n                    renderer.Header6FontSize = Header6FontSize;\r\n                    renderer.Header6FontWeight = Header6FontWeight;\r\n                    renderer.Header6Margin = Header6Margin;\r\n                    renderer.Header6Foreground = Header6Foreground;\r\n                    renderer.HorizontalRuleBrush = HorizontalRuleBrush;\r\n                    renderer.HorizontalRuleMargin = HorizontalRuleMargin;\r\n                    renderer.HorizontalRuleThickness = HorizontalRuleThickness;\r\n                    renderer.ListMargin = ListMargin;\r\n                    renderer.ListGutterWidth = ListGutterWidth;\r\n                    renderer.ListBulletSpacing = ListBulletSpacing;\r\n                    renderer.ParagraphMargin = ParagraphMargin;\r\n                    renderer.ParagraphLineHeight = ParagraphLineHeight;\r\n                    renderer.QuoteBackground = QuoteBackground;\r\n                    renderer.QuoteBorderBrush = QuoteBorderBrush;\r\n                    renderer.QuoteBorderThickness = QuoteBorderThickness;\r\n                    renderer.QuoteForeground = QuoteForeground;\r\n                    renderer.QuoteMargin = QuoteMargin;\r\n                    renderer.QuotePadding = QuotePadding;\r\n                    renderer.TableBorderBrush = TableBorderBrush;\r\n                    renderer.TableBorderThickness = TableBorderThickness;\r\n                    renderer.YamlBorderBrush = YamlBorderBrush;\r\n                    renderer.YamlBorderThickness = YamlBorderThickness;\r\n                    renderer.TableCellPadding = TableCellPadding;\r\n                    renderer.TableMargin = TableMargin;\r\n                    renderer.TextWrapping = TextWrapping;\r\n                    renderer.LinkForeground = LinkForeground;\r\n                    renderer.ImageStretch = ImageStretch;\r\n                    renderer.ImageMaxHeight = ImageMaxHeight;\r\n                    renderer.ImageMaxWidth = ImageMaxWidth;\r\n                    renderer.WrapCodeBlock = WrapCodeBlock;\r\n                    renderer.FlowDirection = FlowDirection;\r\n\r\n                    _rootElement.Child = renderer.Render();\r\n                }\r\n                catch (Exception ex)\r\n                {\r\n                    Debug.WriteLine(\"Error while parsing and rendering: \" + ex.Message);\r\n                    if (Debugger.IsAttached)\r\n                    {\r\n                        Debugger.Break();\r\n                    }\r\n\r\n                    markdownRenderedArgs = new MarkdownRenderedEventArgs(ex);\r\n                }\r\n            }\r\n\r\n            // Indicate that the parse is done.\r\n            MarkdownRendered?.Invoke(this, markdownRenderedArgs);\r\n        }\r\n\r\n        private void HookListeners()\r\n        {\r\n            // Re-hook all hyper link events we currently have\r\n            foreach (object link in _listeningHyperlinks)\r\n            {\r\n                if (link is Hyperlink hyperlink)\r\n                {\r\n                    hyperlink.Click -= Hyperlink_Click;\r\n                    hyperlink.Click += Hyperlink_Click;\r\n                }\r\n                else if (link is Image image)\r\n                {\r\n                    image.Tapped -= NewImagelink_Tapped;\r\n                    image.Tapped += NewImagelink_Tapped;\r\n                }\r\n            }\r\n        }\r\n\r\n        private void UnhookListeners()\r\n        {\r\n            // Unhook any hyper link events if we have any\r\n            foreach (object link in _listeningHyperlinks)\r\n            {\r\n                if (link is Hyperlink hyperlink)\r\n                {\r\n                    hyperlink.Click -= Hyperlink_Click;\r\n                }\r\n                else if (link is Image image)\r\n                {\r\n                    image.Tapped -= NewImagelink_Tapped;\r\n                }\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Called when the render has a link we need to listen to.\r\n        /// </summary>\r\n        public void RegisterNewHyperLink(Hyperlink newHyperlink, string linkUrl)\r\n        {\r\n            // Setup a listener for clicks.\r\n            newHyperlink.Click += Hyperlink_Click;\r\n\r\n            // Associate the URL with the hyperlink.\r\n            newHyperlink.SetValue(HyperlinkUrlProperty, linkUrl);\r\n\r\n            // Add it to our list\r\n            _listeningHyperlinks.Add(newHyperlink);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Called when the render has a link we need to listen to.\r\n        /// </summary>\r\n        public void RegisterNewHyperLink(Image newImagelink, string linkUrl, bool isHyperLink)\r\n        {\r\n            // Setup a listener for clicks.\r\n            newImagelink.Tapped += NewImagelink_Tapped;\r\n\r\n            // Associate the URL with the hyperlink.\r\n            newImagelink.SetValue(HyperlinkUrlProperty, linkUrl);\r\n\r\n            // Set if the Image is HyperLink or not\r\n            newImagelink.SetValue(IsHyperlinkProperty, isHyperLink);\r\n\r\n            // Add it to our list\r\n            _listeningHyperlinks.Add(newImagelink);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Called when the renderer needs to display a image.\r\n        /// </summary>\r\n        /// <returns>A <see cref=\"Task\"/> representing the asynchronous operation.</returns>\r\n        async Task<ImageSource> IImageResolver.ResolveImageAsync(string url, string tooltip)\r\n        {\r\n            if (!Uri.TryCreate(url, UriKind.Absolute, out Uri uri))\r\n            {\r\n                if (!string.IsNullOrEmpty(UriPrefix))\r\n                {\r\n                    url = $\"{UriPrefix}{url}\";\r\n                }\r\n            }\r\n\r\n            var eventArgs = new ImageResolvingEventArgs(url, tooltip);\r\n            ImageResolving?.Invoke(this, eventArgs);\r\n\r\n            await eventArgs.WaitForDeferrals();\r\n\r\n            try\r\n            {\r\n                return eventArgs.Handled\r\n                    ? eventArgs.Image\r\n                    : GetImageSource(new Uri(url));\r\n            }\r\n            catch (Exception)\r\n            {\r\n                return null;\r\n            }\r\n\r\n            ImageSource GetImageSource(Uri imageUrl)\r\n            {\r\n                if (_isSvgImageSupported)\r\n                {\r\n                    if (Path.GetExtension(imageUrl.AbsolutePath)?.ToLowerInvariant() == \".svg\")\r\n                    {\r\n                        return new SvgImageSource(imageUrl);\r\n                    }\r\n                }\r\n\r\n                return new BitmapImage(imageUrl);\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Called when a Code Block is being rendered.\r\n        /// </summary>\r\n        /// <returns>Parsing was handled Successfully</returns>\r\n        bool ICodeBlockResolver.ParseSyntax(InlineCollection inlineCollection, string text, string codeLanguage)\r\n        {\r\n            var eventArgs = new CodeBlockResolvingEventArgs(inlineCollection, text, codeLanguage);\r\n            CodeBlockResolving?.Invoke(this, eventArgs);\r\n\r\n            try\r\n            {\r\n                var result = eventArgs.Handled;\r\n                if (UseSyntaxHighlighting && !result && codeLanguage != null)\r\n                {\r\n                    var language = Languages.FindById(codeLanguage);\r\n                    if (language != null)\r\n                    {\r\n                        RichTextBlockFormatter formatter;\r\n                        if (CodeStyling != null)\r\n                        {\r\n                            formatter = new RichTextBlockFormatter(CodeStyling);\r\n                        }\r\n                        else\r\n                        {\r\n                            //var theme = themeListener.CurrentTheme == ApplicationTheme.Dark ? ElementTheme.Dark : ElementTheme.Light;\r\n                            //if (RequestedTheme != ElementTheme.Default)\r\n                            //{\r\n                            //    theme = RequestedTheme;\r\n                            //}\r\n\r\n                            var theme = ActualTheme;\r\n                            if (RequestedTheme != ElementTheme.Default)\r\n                            {\r\n                                theme = RequestedTheme;\r\n                            }\r\n\r\n                            formatter = new RichTextBlockFormatter(theme);\r\n                        }\r\n\r\n                        formatter.FormatInlines(text, language, inlineCollection);\r\n                        return true;\r\n                    }\r\n                }\r\n\r\n                return result;\r\n            }\r\n            catch\r\n            {\r\n                return false;\r\n            }\r\n        }\r\n\r\n        /// <summary>\r\n        /// Called when a link needs to be handled\r\n        /// </summary>\r\n        internal async void LinkHandled(string url, bool isHyperlink)\r\n        {\r\n            // Links that are nested within superscript elements cause the Click event to fire multiple times.\r\n            // e.g. this markdown \"[^bot](http://www.reddit.com/r/youtubefactsbot/wiki/index)\"\r\n            // Therefore we detect and ignore multiple clicks.\r\n            if (multiClickDetectionTriggered)\r\n            {\r\n                return;\r\n            }\r\n\r\n            multiClickDetectionTriggered = true;\r\n            await Dispatcher.RunAsync(CoreDispatcherPriority.High, () => multiClickDetectionTriggered = false);\r\n\r\n            // Get the hyperlink URL.\r\n            if (url == null)\r\n            {\r\n                return;\r\n            }\r\n\r\n            // Fire off the event.\r\n            var eventArgs = new LinkClickedEventArgs(url);\r\n            if (isHyperlink)\r\n            {\r\n                LinkClicked?.Invoke(this, eventArgs);\r\n            }\r\n            else\r\n            {\r\n                ImageClicked?.Invoke(this, eventArgs);\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/MarkdownTextBlock.Properties.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n    using System.Collections.Generic;\r\n    using ColorCode.Styling;\r\n    using Windows.Foundation.Metadata;\r\n    using Windows.UI.Text;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Media;\r\n    using Notepads.Controls.Markdown;\r\n\r\n    /// <summary>\r\n    /// An efficient and extensible control that can parse and render markdown.\r\n    /// </summary>\r\n    public partial class MarkdownTextBlock\r\n    {\r\n        // SvgImageSource was introduced in Creators Update (15063)\r\n        private static readonly bool _isSvgImageSupported = ApiInformation.IsApiContractPresent(\"Windows.Foundation.UniversalApiContract\", 4);\r\n\r\n        // Used to attach the URL to hyperlinks.\r\n        private static readonly DependencyProperty HyperlinkUrlProperty =\r\n            DependencyProperty.RegisterAttached(\"HyperlinkUrl\", typeof(string), typeof(MarkdownTextBlock), new PropertyMetadata(null));\r\n\r\n        // Checks if clicked image is a hyperlink or not.\r\n        private static readonly DependencyProperty IsHyperlinkProperty =\r\n            DependencyProperty.RegisterAttached(\"IsHyperLink\", typeof(string), typeof(MarkdownTextBlock), new PropertyMetadata(null));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"CodeStyling\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty CodeStylingProperty =\r\n            DependencyProperty.Register(\r\n                nameof(CodeStyling),\r\n                typeof(StyleDictionary),\r\n                typeof(MarkdownTextBlock),\r\n                new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"UseSyntaxHighlighting\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty UseSyntaxHighlightingProperty =\r\n            DependencyProperty.Register(\r\n                nameof(UseSyntaxHighlighting),\r\n                typeof(bool),\r\n                typeof(MarkdownTextBlock),\r\n                new PropertyMetadata(true, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"WrapCodeBlock\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty WrapCodeBlockProperty =\r\n            DependencyProperty.Register(nameof(WrapCodeBlock), typeof(bool), typeof(MarkdownTextBlock), new PropertyMetadata(false));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Text\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty TextProperty = DependencyProperty.Register(\r\n            nameof(Text),\r\n            typeof(string),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(string.Empty, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"InlineCodeBackground\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty InlineCodeBackgroundProperty =\r\n            DependencyProperty.Register(\r\n                nameof(InlineCodeBackground),\r\n                typeof(Brush),\r\n                typeof(MarkdownTextBlock),\r\n                new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"InlineCodeForeground\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty InlineCodeForegroundProperty =\r\n            DependencyProperty.Register(\r\n                nameof(InlineCodeForeground),\r\n                typeof(Brush),\r\n                typeof(MarkdownTextBlock),\r\n                new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"InlineCodeBorderBrush\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty InlineCodeBorderBrushProperty =\r\n            DependencyProperty.Register(\r\n                nameof(InlineCodeBorderBrush),\r\n                typeof(Brush),\r\n                typeof(MarkdownTextBlock),\r\n                new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"IsTextSelectionEnabled\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty IsTextSelectionEnabledProperty = DependencyProperty.Register(\r\n            nameof(IsTextSelectionEnabled),\r\n            typeof(bool),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(true, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"LinkForeground\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty LinkForegroundProperty = DependencyProperty.Register(\r\n            nameof(LinkForeground),\r\n            typeof(Brush),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"CodeBackground\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty CodeBackgroundProperty = DependencyProperty.Register(\r\n            nameof(CodeBackground),\r\n            typeof(Brush),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"CodeBorderBrush\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty CodeBorderBrushProperty = DependencyProperty.Register(\r\n            nameof(CodeBorderBrush),\r\n            typeof(Brush),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"CodeForeground\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty CodeForegroundProperty = DependencyProperty.Register(\r\n            nameof(CodeForeground),\r\n            typeof(Brush),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"CodeFontFamily\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty CodeFontFamilyProperty = DependencyProperty.Register(\r\n            nameof(CodeFontFamily),\r\n            typeof(FontFamily),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"InlineCodeFontFamily\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty InlineCodeFontFamilyProperty = DependencyProperty.Register(\r\n            nameof(InlineCodeFontFamily),\r\n            typeof(FontFamily),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"EmojiFontFamily\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty EmojiFontFamilyProperty = DependencyProperty.Register(\r\n            nameof(EmojiFontFamily),\r\n            typeof(FontFamily),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header1FontWeight\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header1FontWeightProperty = DependencyProperty.Register(\r\n            nameof(Header1FontWeight),\r\n            typeof(FontWeight),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header1Foreground\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header1ForegroundProperty = DependencyProperty.Register(\r\n            nameof(Header1Foreground),\r\n            typeof(Brush),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header2FontWeight\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header2FontWeightProperty = DependencyProperty.Register(\r\n            nameof(Header2FontWeight),\r\n            typeof(FontWeight),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header2Foreground\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header2ForegroundProperty = DependencyProperty.Register(\r\n            nameof(Header2Foreground),\r\n            typeof(Brush),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header3FontWeight\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header3FontWeightProperty = DependencyProperty.Register(\r\n            nameof(Header3FontWeight),\r\n            typeof(FontWeight),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header3Foreground\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header3ForegroundProperty = DependencyProperty.Register(\r\n            nameof(Header3Foreground),\r\n            typeof(Brush),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header4FontWeight\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header4FontWeightProperty = DependencyProperty.Register(\r\n            nameof(Header4FontWeight),\r\n            typeof(FontWeight),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header4Foreground\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header4ForegroundProperty = DependencyProperty.Register(\r\n            nameof(Header4Foreground),\r\n            typeof(Brush),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header5FontWeight\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header5FontWeightProperty = DependencyProperty.Register(\r\n            nameof(Header5FontWeight),\r\n            typeof(FontWeight),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header5Foreground\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header5ForegroundProperty = DependencyProperty.Register(\r\n            nameof(Header5Foreground),\r\n            typeof(Brush),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header6FontWeight\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header6FontWeightProperty = DependencyProperty.Register(\r\n            nameof(Header6FontWeight),\r\n            typeof(FontWeight),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"Header6Foreground\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty Header6ForegroundProperty = DependencyProperty.Register(\r\n            nameof(Header6Foreground),\r\n            typeof(Brush),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"HorizontalRuleBrush\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty HorizontalRuleBrushProperty = DependencyProperty.Register(\r\n            nameof(HorizontalRuleBrush),\r\n            typeof(Brush),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"QuoteBackground\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty QuoteBackgroundProperty = DependencyProperty.Register(\r\n            nameof(QuoteBackground),\r\n            typeof(Brush),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"QuoteBorderBrush\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty QuoteBorderBrushProperty = DependencyProperty.Register(\r\n            nameof(QuoteBorderBrush),\r\n            typeof(Brush),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"QuoteForeground\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty QuoteForegroundProperty = DependencyProperty.Register(\r\n            nameof(QuoteForeground),\r\n            typeof(Brush),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"TableBorderBrush\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty TableBorderBrushProperty = DependencyProperty.Register(\r\n            nameof(TableBorderBrush),\r\n            typeof(Brush),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"YamlBorderBrush\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty YamlBorderBrushProperty = DependencyProperty.Register(\r\n            nameof(YamlBorderBrush),\r\n            typeof(Brush),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(null, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"UriPrefix\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty UriPrefixProperty = DependencyProperty.Register(\r\n            nameof(UriPrefix),\r\n            typeof(string),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(string.Empty, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets the dependency property for <see cref=\"UriPrefix\"/>.\r\n        /// </summary>\r\n        public static readonly DependencyProperty SchemeListProperty = DependencyProperty.Register(\r\n            nameof(SchemeList),\r\n            typeof(string),\r\n            typeof(MarkdownTextBlock),\r\n            new PropertyMetadata(string.Empty, OnPropertyChangedStatic));\r\n\r\n        /// <summary>\r\n        /// Gets or sets the markdown text to display.\r\n        /// </summary>\r\n        public string Text\r\n        {\r\n            get => (string)GetValue(TextProperty);\r\n            set => SetValue(TextProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether to use Syntax Highlighting on Code.\r\n        /// </summary>\r\n        public bool UseSyntaxHighlighting\r\n        {\r\n            get => (bool)GetValue(UseSyntaxHighlightingProperty);\r\n            set => SetValue(UseSyntaxHighlightingProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether to Wrap the Code Block or use a Horizontal Scroll.\r\n        /// </summary>\r\n        public bool WrapCodeBlock\r\n        {\r\n            get => (bool)GetValue(WrapCodeBlockProperty);\r\n            set => SetValue(WrapCodeBlockProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the Default Code Styling for Code Blocks.\r\n        /// </summary>\r\n        public StyleDictionary CodeStyling\r\n        {\r\n            get => (StyleDictionary)GetValue(CodeStylingProperty);\r\n            set => SetValue(CodeStylingProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether text selection is enabled.\r\n        /// </summary>\r\n        public bool IsTextSelectionEnabled\r\n        {\r\n            get => (bool)GetValue(IsTextSelectionEnabledProperty);\r\n            set => SetValue(IsTextSelectionEnabledProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to render links.  If this is\r\n        /// <c>null</c>, then Foreground is used.\r\n        /// </summary>\r\n        public Brush LinkForeground\r\n        {\r\n            get => (Brush)GetValue(LinkForegroundProperty);\r\n            set => SetValue(LinkForegroundProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to fill the background of a code block.\r\n        /// </summary>\r\n        public Brush CodeBackground\r\n        {\r\n            get => (Brush)GetValue(CodeBackgroundProperty);\r\n            set => SetValue(CodeBackgroundProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to render the border fill of a code block.\r\n        /// </summary>\r\n        public Brush CodeBorderBrush\r\n        {\r\n            get => (Brush)GetValue(CodeBorderBrushProperty);\r\n            set => SetValue(CodeBorderBrushProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to render the text inside a code block.  If this is\r\n        /// <c>null</c>, then Foreground is used.\r\n        /// </summary>\r\n        public Brush CodeForeground\r\n        {\r\n            get => (Brush)GetValue(CodeForegroundProperty);\r\n            set => SetValue(CodeForegroundProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font used to display code.  If this is <c>null</c>, then\r\n        /// <see cref=\"FontFamily\"/> is used.\r\n        /// </summary>\r\n        public FontFamily CodeFontFamily\r\n        {\r\n            get => (FontFamily)GetValue(CodeFontFamilyProperty);\r\n            set => SetValue(CodeFontFamilyProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font used to display code.  If this is <c>null</c>, then\r\n        /// <see cref=\"FontFamily\"/> is used.\r\n        /// </summary>\r\n        public FontFamily InlineCodeFontFamily\r\n        {\r\n            get => (FontFamily)GetValue(InlineCodeFontFamilyProperty);\r\n            set => SetValue(InlineCodeFontFamilyProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the background brush for inline code.\r\n        /// </summary>\r\n        public Brush InlineCodeBackground\r\n        {\r\n            get => (Brush)GetValue(InlineCodeBackgroundProperty);\r\n            set => SetValue(InlineCodeBackgroundProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the foreground brush for inline code.\r\n        /// </summary>\r\n        public Brush InlineCodeForeground\r\n        {\r\n            get => (Brush)GetValue(InlineCodeForegroundProperty);\r\n            set => SetValue(InlineCodeForegroundProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the border brush for inline code.\r\n        /// </summary>\r\n        public Brush InlineCodeBorderBrush\r\n        {\r\n            get => (Brush)GetValue(InlineCodeBorderBrushProperty);\r\n            set => SetValue(InlineCodeBorderBrushProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font used to display emojis.  If this is <c>null</c>, then\r\n        /// Segoe UI Emoji font is used.\r\n        /// </summary>\r\n        public FontFamily EmojiFontFamily\r\n        {\r\n            get => (FontFamily)GetValue(EmojiFontFamilyProperty);\r\n            set => SetValue(EmojiFontFamilyProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font weight to use for level 1 headers.\r\n        /// </summary>\r\n        public FontWeight Header1FontWeight\r\n        {\r\n            get => (FontWeight)GetValue(Header1FontWeightProperty);\r\n            set => SetValue(Header1FontWeightProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the foreground brush for level 1 headers.\r\n        /// </summary>\r\n        public Brush Header1Foreground\r\n        {\r\n            get => (Brush)GetValue(Header1ForegroundProperty);\r\n            set => SetValue(Header1ForegroundProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font weight to use for level 2 headers.\r\n        /// </summary>\r\n        public FontWeight Header2FontWeight\r\n        {\r\n            get => (FontWeight)GetValue(Header2FontWeightProperty);\r\n            set => SetValue(Header2FontWeightProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the foreground brush for level 2 headers.\r\n        /// </summary>\r\n        public Brush Header2Foreground\r\n        {\r\n            get => (Brush)GetValue(Header2ForegroundProperty);\r\n            set => SetValue(Header2ForegroundProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font weight to use for level 3 headers.\r\n        /// </summary>\r\n        public FontWeight Header3FontWeight\r\n        {\r\n            get => (FontWeight)GetValue(Header3FontWeightProperty);\r\n            set => SetValue(Header3FontWeightProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the foreground brush for level 3 headers.\r\n        /// </summary>\r\n        public Brush Header3Foreground\r\n        {\r\n            get => (Brush)GetValue(Header3ForegroundProperty);\r\n            set => SetValue(Header3ForegroundProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font weight to use for level 4 headers.\r\n        /// </summary>\r\n        public FontWeight Header4FontWeight\r\n        {\r\n            get => (FontWeight)GetValue(Header4FontWeightProperty);\r\n            set => SetValue(Header4FontWeightProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the foreground brush for level 4 headers.\r\n        /// </summary>\r\n        public Brush Header4Foreground\r\n        {\r\n            get => (Brush)GetValue(Header4ForegroundProperty);\r\n            set => SetValue(Header4ForegroundProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font weight to use for level 5 headers.\r\n        /// </summary>\r\n        public FontWeight Header5FontWeight\r\n        {\r\n            get => (FontWeight)GetValue(Header5FontWeightProperty);\r\n            set => SetValue(Header5FontWeightProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the foreground brush for level 5 headers.\r\n        /// </summary>\r\n        public Brush Header5Foreground\r\n        {\r\n            get => (Brush)GetValue(Header5ForegroundProperty);\r\n            set => SetValue(Header5ForegroundProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the font weight to use for level 6 headers.\r\n        /// </summary>\r\n        public FontWeight Header6FontWeight\r\n        {\r\n            get => (FontWeight)GetValue(Header6FontWeightProperty);\r\n            set => SetValue(Header6FontWeightProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the foreground brush for level 6 headers.\r\n        /// </summary>\r\n        public Brush Header6Foreground\r\n        {\r\n            get => (Brush)GetValue(Header6ForegroundProperty);\r\n            set => SetValue(Header6ForegroundProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to render a horizontal rule.  If this is <c>null</c>, then\r\n        /// <see cref=\"HorizontalRuleBrush\"/> is used.\r\n        /// </summary>\r\n        public Brush HorizontalRuleBrush\r\n        {\r\n            get => (Brush)GetValue(HorizontalRuleBrushProperty);\r\n            set => SetValue(HorizontalRuleBrushProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to fill the background of a quote block.\r\n        /// </summary>\r\n        public Brush QuoteBackground\r\n        {\r\n            get => (Brush)GetValue(QuoteBackgroundProperty);\r\n            set => SetValue(QuoteBackgroundProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to render a quote border.  If this is <c>null</c>, then\r\n        /// <see cref=\"QuoteBorderBrush\"/> is used.\r\n        /// </summary>\r\n        public Brush QuoteBorderBrush\r\n        {\r\n            get => (Brush)GetValue(QuoteBorderBrushProperty);\r\n            set => SetValue(QuoteBorderBrushProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to render the text inside a quote block.  If this is\r\n        /// <c>null</c>, then Foreground is used.\r\n        /// </summary>\r\n        public Brush QuoteForeground\r\n        {\r\n            get => (Brush)GetValue(QuoteForegroundProperty);\r\n            set => SetValue(QuoteForegroundProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to render table borders.  If this is <c>null</c>, then\r\n        /// <see cref=\"TableBorderBrush\"/> is used.\r\n        /// </summary>\r\n        public Brush TableBorderBrush\r\n        {\r\n            get => (Brush)GetValue(TableBorderBrushProperty);\r\n            set => SetValue(TableBorderBrushProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the brush used to render yaml borders.  If this is <c>null</c>, then\r\n        /// <see cref=\"TableBorderBrush\"/> is used.\r\n        /// </summary>\r\n        public Brush YamlBorderBrush\r\n        {\r\n            get => (Brush)GetValue(TableBorderBrushProperty);\r\n            set => SetValue(TableBorderBrushProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the Prefix of Uri.\r\n        /// </summary>\r\n        public string UriPrefix\r\n        {\r\n            get => (string)GetValue(UriPrefixProperty);\r\n            set => SetValue(UriPrefixProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the SchemeList.\r\n        /// </summary>\r\n        public string SchemeList\r\n        {\r\n            get => (string)GetValue(SchemeListProperty);\r\n            set => SetValue(SchemeListProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Holds a list of hyperlinks we are listening to.\r\n        /// </summary>\r\n        private readonly List<object> _listeningHyperlinks = new List<object>();\r\n\r\n        /// <summary>\r\n        /// The root element for our rendering.\r\n        /// </summary>\r\n        private Border _rootElement;\r\n\r\n        private bool multiClickDetectionTriggered;\r\n\r\n        private Type renderertype = typeof(MarkdownRenderer);\r\n\r\n        //private ThemeListener themeListener;\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/MarkdownTextBlock.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n// Source: https://github.com/windows-toolkit/WindowsCommunityToolkit/tree/master/Microsoft.Toolkit.Uwp.UI.Controls/MarkdownTextBlock\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Notepads.Controls.Markdown;\r\n\r\n    /// <summary>\r\n    /// An efficient and extensible control that can parse and render markdown.\r\n    /// </summary>\r\n    public partial class MarkdownTextBlock : Control, ILinkRegister, IImageResolver, ICodeBlockResolver\r\n    {\r\n        private long _fontSizePropertyToken;\r\n        private long _flowDirectionPropertyToken;\r\n        private long _backgroundPropertyToken;\r\n        private long _borderBrushPropertyToken;\r\n        private long _borderThicknessPropertyToken;\r\n        private long _characterSpacingPropertyToken;\r\n        private long _fontFamilyPropertyToken;\r\n        private long _fontStretchPropertyToken;\r\n        private long _fontStylePropertyToken;\r\n        private long _fontWeightPropertyToken;\r\n        private long _foregroundPropertyToken;\r\n        private long _paddingPropertyToken;\r\n        private long _requestedThemePropertyToken;\r\n\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"MarkdownTextBlock\"/> class.\r\n        /// </summary>\r\n        public MarkdownTextBlock()\r\n        {\r\n            // Set our style.\r\n            DefaultStyleKey = typeof(MarkdownTextBlock);\r\n\r\n            Loaded += OnLoaded;\r\n            Unloaded += OnUnloaded;\r\n        }\r\n\r\n        //private void ThemeListener_ThemeChanged(Helpers.ThemeListener sender)\r\n        //{\r\n        //    if (ToElementTheme(sender.CurrentTheme) != RequestedTheme)\r\n        //    {\r\n        //        RenderMarkdown();\r\n        //    }\r\n        //}\r\n\r\n        private void OnLoaded(object sender, RoutedEventArgs e)\r\n        {\r\n            RegisterThemeChangedHandler();\r\n            HookListeners();\r\n\r\n            // Register for property callbacks that are owned by our parent class.\r\n            _fontSizePropertyToken = RegisterPropertyChangedCallback(FontSizeProperty, OnPropertyChanged);\r\n            _flowDirectionPropertyToken = RegisterPropertyChangedCallback(FlowDirectionProperty, OnPropertyChanged);\r\n            _backgroundPropertyToken = RegisterPropertyChangedCallback(BackgroundProperty, OnPropertyChanged);\r\n            _borderBrushPropertyToken = RegisterPropertyChangedCallback(BorderBrushProperty, OnPropertyChanged);\r\n            _borderThicknessPropertyToken = RegisterPropertyChangedCallback(BorderThicknessProperty, OnPropertyChanged);\r\n            _characterSpacingPropertyToken = RegisterPropertyChangedCallback(CharacterSpacingProperty, OnPropertyChanged);\r\n            _fontFamilyPropertyToken = RegisterPropertyChangedCallback(FontFamilyProperty, OnPropertyChanged);\r\n            _fontStretchPropertyToken = RegisterPropertyChangedCallback(FontStretchProperty, OnPropertyChanged);\r\n            _fontStylePropertyToken = RegisterPropertyChangedCallback(FontStyleProperty, OnPropertyChanged);\r\n            _fontWeightPropertyToken = RegisterPropertyChangedCallback(FontWeightProperty, OnPropertyChanged);\r\n            _foregroundPropertyToken = RegisterPropertyChangedCallback(ForegroundProperty, OnPropertyChanged);\r\n            _paddingPropertyToken = RegisterPropertyChangedCallback(PaddingProperty, OnPropertyChanged);\r\n            _requestedThemePropertyToken = RegisterPropertyChangedCallback(RequestedThemeProperty, OnPropertyChanged);\r\n        }\r\n\r\n        private void OnUnloaded(object sender, RoutedEventArgs e)\r\n        {\r\n            //if (themeListener != null)\r\n            //{\r\n            //    UnhookListeners();\r\n            //    themeListener.ThemeChanged -= ThemeListener_ThemeChanged;\r\n            //    themeListener.Dispose();\r\n            //    themeListener = null;\r\n            //}\r\n\r\n            // Register for property callbacks that are owned by our parent class.\r\n            UnregisterPropertyChangedCallback(FontSizeProperty, _fontSizePropertyToken);\r\n            UnregisterPropertyChangedCallback(FlowDirectionProperty, _flowDirectionPropertyToken);\r\n            UnregisterPropertyChangedCallback(BackgroundProperty, _backgroundPropertyToken);\r\n            UnregisterPropertyChangedCallback(BorderBrushProperty, _borderBrushPropertyToken);\r\n            UnregisterPropertyChangedCallback(BorderThicknessProperty, _borderThicknessPropertyToken);\r\n            UnregisterPropertyChangedCallback(CharacterSpacingProperty, _characterSpacingPropertyToken);\r\n            UnregisterPropertyChangedCallback(FontFamilyProperty, _fontFamilyPropertyToken);\r\n            UnregisterPropertyChangedCallback(FontStretchProperty, _fontStretchPropertyToken);\r\n            UnregisterPropertyChangedCallback(FontStyleProperty, _fontStylePropertyToken);\r\n            UnregisterPropertyChangedCallback(FontWeightProperty, _fontWeightPropertyToken);\r\n            UnregisterPropertyChangedCallback(ForegroundProperty, _foregroundPropertyToken);\r\n            UnregisterPropertyChangedCallback(PaddingProperty, _paddingPropertyToken);\r\n            UnregisterPropertyChangedCallback(RequestedThemeProperty, _requestedThemePropertyToken);\r\n        }\r\n\r\n        /// <inheritdoc />\r\n        protected override void OnApplyTemplate()\r\n        {\r\n            RegisterThemeChangedHandler();\r\n\r\n            // Grab our root\r\n            _rootElement = GetTemplateChild(\"RootElement\") as Border;\r\n\r\n            // And make sure to render any markdown we have.\r\n            RenderMarkdown();\r\n        }\r\n\r\n        private void RegisterThemeChangedHandler()\r\n        {\r\n            //themeListener = themeListener ?? new ThemeListener();\r\n            //themeListener.ThemeChanged -= ThemeListener_ThemeChanged;\r\n            //themeListener.ThemeChanged += ThemeListener_ThemeChanged;\r\n        }\r\n\r\n        //public static ElementTheme ToElementTheme(ApplicationTheme theme)\r\n        //{\r\n        //    switch (theme)\r\n        //    {\r\n        //        case ApplicationTheme.Light:\r\n        //            return ElementTheme.Light;\r\n        //        case ApplicationTheme.Dark:\r\n        //            return ElementTheme.Dark;\r\n        //        default:\r\n        //            return ElementTheme.Default;\r\n        //    }\r\n        //}\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/MarkdownTextBlock/MarkdownTextBlock.xaml",
    "content": "﻿<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n                    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n                    xmlns:local=\"using:Notepads.Controls\">\r\n\r\n    <ResourceDictionary.ThemeDictionaries>\r\n        <ResourceDictionary x:Key=\"Default\" />\r\n        <ResourceDictionary x:Key=\"Light\">\r\n            <SolidColorBrush x:Key=\"MarkdownBorderBrush\" Color=\"#FFBEBEBE\" />\r\n            <SolidColorBrush x:Key=\"MarkdownBackgroundBrush\" Color=\"#FFF6F8FA\" />\r\n            <SolidColorBrush x:Key=\"MarkdownInlineCodeBackgroundBrush\" Color=\"#FFDDDFE1\" />\r\n            <SolidColorBrush x:Key=\"MarkdownInlineCodeForegroundBrush\" Color=\"#FF6E6F70\" />\r\n            <SolidColorBrush x:Key=\"MarkdownQuoteForeground\" Color=\"#FF6E747C\" />\r\n            <SolidColorBrush x:Key=\"MarkdownRichTextBlockBackground\" Color=\"#FFF6F8FA\" />\r\n        </ResourceDictionary>\r\n        <ResourceDictionary x:Key=\"Dark\">\r\n            <SolidColorBrush x:Key=\"MarkdownBorderBrush\" Color=\"#FF424242\" />\r\n            <SolidColorBrush x:Key=\"MarkdownBackgroundBrush\" Color=\"#FF202020\" />\r\n            <SolidColorBrush x:Key=\"MarkdownInlineCodeBackgroundBrush\" Color=\"#FF363636\" />\r\n            <SolidColorBrush x:Key=\"MarkdownInlineCodeForegroundBrush\" Color=\"#FFB7B4B4\" />\r\n            <SolidColorBrush x:Key=\"MarkdownQuoteForeground\" Color=\"#FFBEC1C5\" />\r\n            <SolidColorBrush x:Key=\"MarkdownRichTextBlockBackground\" Color=\"#FF202020\" />\r\n        </ResourceDictionary>\r\n        <ResourceDictionary x:Key=\"HighContrast\">\r\n            <SolidColorBrush x:Key=\"MarkdownBorderBrush\" Color=\"#FF424242\" />\r\n            <SolidColorBrush x:Key=\"MarkdownBackgroundBrush\" Color=\"#FF202020\" />\r\n            <SolidColorBrush x:Key=\"MarkdownInlineCodeBackgroundBrush\" Color=\"#FF363636\" />\r\n            <SolidColorBrush x:Key=\"MarkdownInlineCodeForegroundBrush\" Color=\"#FFB7B4B4\" />\r\n            <SolidColorBrush x:Key=\"MarkdownQuoteForeground\" Color=\"#FFBEC1C5\" />\r\n            <SolidColorBrush x:Key=\"MarkdownRichTextBlockBackground\" Color=\"{ThemeResource SystemColorWindowColor}\" />\r\n        </ResourceDictionary>\r\n    </ResourceDictionary.ThemeDictionaries>\r\n\r\n   \r\n    <Style TargetType=\"local:MarkdownTextBlock\">\r\n        <Setter Property=\"Background\" Value=\"{ThemeResource MarkdownRichTextBlockBackground}\" />\r\n        <Setter Property=\"IsTabStop\" Value=\"False\" />\r\n        <Setter Property=\"LinkForeground\" Value=\"{ThemeResource SystemColorHotlightColor}\" />\r\n        <Setter Property=\"QuoteBackground\" Value=\"Transparent\" />\r\n        <Setter Property=\"QuoteForeground\" Value=\"{ThemeResource MarkdownQuoteForeground}\" />\r\n        <Setter Property=\"QuoteBorderBrush\" Value=\"{ThemeResource MarkdownBorderBrush}\" />\r\n        <Setter Property=\"QuoteBorderThickness\" Value=\"2, 0, 0, 0\" />\r\n        <Setter Property=\"QuoteMargin\" Value=\"7, 5, 0, 5\" />\r\n        <Setter Property=\"QuotePadding\" Value=\"7, 2, 0, 4\" />\r\n        <Setter Property=\"CodeBackground\" Value=\"{ThemeResource MarkdownBackgroundBrush}\" />\r\n        <Setter Property=\"CodeBorderBrush\" Value=\"{ThemeResource MarkdownBorderBrush}\" />\r\n        <Setter Property=\"CodeBorderThickness\" Value=\"0\" />\r\n        <Setter Property=\"InlineCodeBorderThickness\" Value=\"0\" />\r\n        <Setter Property=\"InlineCodePadding\" Value=\"4, 2, 4, 2\" />\r\n        <Setter Property=\"InlineCodeMargin\" Value=\"2,0,2,-4\"/>\r\n        <Setter Property=\"InlineCodeBackground\" Value=\"{ThemeResource MarkdownInlineCodeBackgroundBrush}\" />\r\n        <Setter Property=\"InlineCodeBorderBrush\" Value=\"{ThemeResource MarkdownBorderBrush}\" />\r\n        <Setter Property=\"InlineCodeForeground\" Value=\"{ThemeResource MarkdownInlineCodeForegroundBrush}\" />\r\n        <Setter Property=\"CodeFontFamily\" Value=\"Consolas\" />\r\n        <Setter Property=\"CodeMargin\" Value=\"0, 7, 0, 7\" />\r\n        <Setter Property=\"CodePadding\" Value=\"10, 6, 10, 6\" />\r\n        <Setter Property=\"EmojiFontFamily\" Value=\"Segoe UI Emoji\" />\r\n        <Setter Property=\"Header1FontWeight\" Value=\"Bold\" />\r\n        <Setter Property=\"Header1FontSize\" Value=\"20\" />\r\n        <Setter Property=\"Header1Margin\" Value=\"0, 15, 0, 15\" />\r\n        <Setter Property=\"Header1Foreground\" Value=\"{ThemeResource DefaultTextForegroundThemeBrush}\" />\r\n        <Setter Property=\"Header2FontWeight\" Value=\"Normal\" />\r\n        <Setter Property=\"Header2FontSize\" Value=\"20\" />\r\n        <Setter Property=\"Header2Margin\" Value=\"0, 15, 0, 15\" />\r\n        <Setter Property=\"Header2Foreground\" Value=\"{ThemeResource DefaultTextForegroundThemeBrush}\" />\r\n        <Setter Property=\"Header3FontWeight\" Value=\"Bold\" />\r\n        <Setter Property=\"Header3FontSize\" Value=\"17\" />\r\n        <Setter Property=\"Header3Margin\" Value=\"0, 10, 0, 10\" />\r\n        <Setter Property=\"Header3Foreground\" Value=\"{ThemeResource DefaultTextForegroundThemeBrush}\" />\r\n        <Setter Property=\"Header4FontWeight\" Value=\"Normal\" />\r\n        <Setter Property=\"Header4FontSize\" Value=\"17\" />\r\n        <Setter Property=\"Header4Margin\" Value=\"0, 10, 0, 10\" />\r\n        <Setter Property=\"Header4Foreground\" Value=\"{ThemeResource DefaultTextForegroundThemeBrush}\" />\r\n        <Setter Property=\"Header5FontWeight\" Value=\"Bold\" />\r\n        <Setter Property=\"Header5FontSize\" Value=\"15\" />\r\n        <Setter Property=\"Header5Margin\" Value=\"0, 10, 0, 5\" />\r\n        <Setter Property=\"Header5Foreground\" Value=\"{ThemeResource DefaultTextForegroundThemeBrush}\" />\r\n        <Setter Property=\"Header6FontWeight\" Value=\"Normal\" />\r\n        <Setter Property=\"Header6FontSize\" Value=\"15\" />\r\n        <Setter Property=\"Header6Margin\" Value=\"0, 10, 0, 0\" />\r\n        <Setter Property=\"Header6Foreground\" Value=\"{ThemeResource DefaultTextForegroundThemeBrush}\" />\r\n        <Setter Property=\"HorizontalRuleBrush\" Value=\"{ThemeResource MarkdownBorderBrush}\" />\r\n        <Setter Property=\"HorizontalRuleMargin\" Value=\"0, 7, 0, 7\" />\r\n        <Setter Property=\"HorizontalRuleThickness\" Value=\"2\" />\r\n        <Setter Property=\"ListMargin\" Value=\"0, 5, 0, 5\" />\r\n        <Setter Property=\"ListGutterWidth\" Value=\"32\" />\r\n        <Setter Property=\"ListBulletSpacing\" Value=\"8\" />\r\n        <Setter Property=\"ParagraphMargin\" Value=\"0, 5, 0, 5\" />\r\n        <Setter Property=\"ParagraphLineHeight\" Value=\"20\" />\r\n        <Setter Property=\"TableBorderBrush\" Value=\"{ThemeResource MarkdownBorderBrush}\" />\r\n        <Setter Property=\"TableBorderThickness\" Value=\"1\" />\r\n        <Setter Property=\"TableCellPadding\" Value=\"9, 4, 9, 4\" />\r\n        <Setter Property=\"YamlBorderThickness\" Value=\"1\" />\r\n        <Setter Property=\"YamlBorderBrush\" Value=\"{ThemeResource MarkdownBorderBrush}\" />\r\n        <Setter Property=\"TableMargin\" Value=\"0, 5, 0, 5\" />\r\n        <Setter Property=\"TextWrapping\" Value=\"Wrap\" />\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"local:MarkdownTextBlock\">\r\n                    <Border x:Name=\"RootElement\"\r\n                            Background=\"{TemplateBinding Background}\"\r\n                            BorderBrush=\"{TemplateBinding BorderBrush}\"\r\n                            BorderThickness=\"{TemplateBinding BorderThickness}\" />\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n</ResourceDictionary>"
  },
  {
    "path": "src/Notepads.Controls/Notepads.Controls.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"15.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\n  <Import Project=\"$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props\" Condition=\"Exists('$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props')\" />\r\n  <PropertyGroup>\r\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\r\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\r\n    <ProjectGuid>{7AA5E631-B663-420E-A08F-002CD81DF855}</ProjectGuid>\r\n    <OutputType>Library</OutputType>\r\n    <AppDesignerFolder>Properties</AppDesignerFolder>\r\n    <RootNamespace>Notepads.Controls</RootNamespace>\r\n    <AssemblyName>Notepads.Controls</AssemblyName>\r\n    <DefaultLanguage>en-US</DefaultLanguage>\r\n    <TargetPlatformIdentifier>UAP</TargetPlatformIdentifier>\r\n    <TargetPlatformVersion Condition=\" '$(TargetPlatformVersion)' == '' \">10.0.22621.0</TargetPlatformVersion>\r\n    <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>\r\n    <MinimumVisualStudioVersion>14</MinimumVisualStudioVersion>\r\n    <FileAlignment>512</FileAlignment>\r\n    <ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\r\n    <PlatformTarget>AnyCPU</PlatformTarget>\r\n    <DebugSymbols>true</DebugSymbols>\r\n    <DebugType>full</DebugType>\r\n    <Optimize>false</Optimize>\r\n    <OutputPath>bin\\Debug\\</OutputPath>\r\n    <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>\r\n    <ErrorReport>prompt</ErrorReport>\r\n    <WarningLevel>4</WarningLevel>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\r\n    <PlatformTarget>AnyCPU</PlatformTarget>\r\n    <DebugType>pdbonly</DebugType>\r\n    <Optimize>true</Optimize>\r\n    <OutputPath>bin\\Release\\</OutputPath>\r\n    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>\r\n    <ErrorReport>prompt</ErrorReport>\r\n    <WarningLevel>4</WarningLevel>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Production|AnyCPU'\">\r\n    <PlatformTarget>AnyCPU</PlatformTarget>\r\n    <DebugType>pdbonly</DebugType>\r\n    <Optimize>true</Optimize>\r\n    <OutputPath>bin\\Production\\</OutputPath>\r\n    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>\r\n    <ErrorReport>prompt</ErrorReport>\r\n    <WarningLevel>4</WarningLevel>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Debug|x86'\">\r\n    <PlatformTarget>x86</PlatformTarget>\r\n    <DebugSymbols>true</DebugSymbols>\r\n    <OutputPath>bin\\x86\\Debug\\</OutputPath>\r\n    <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>full</DebugType>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Release|x86'\">\r\n    <PlatformTarget>x86</PlatformTarget>\r\n    <OutputPath>bin\\x86\\Release\\</OutputPath>\r\n    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>\r\n    <Optimize>true</Optimize>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>pdbonly</DebugType>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Production|x86'\">\r\n    <PlatformTarget>x86</PlatformTarget>\r\n    <OutputPath>bin\\x86\\Production\\</OutputPath>\r\n    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>\r\n    <Optimize>true</Optimize>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>pdbonly</DebugType>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Debug|ARM'\">\r\n    <PlatformTarget>ARM</PlatformTarget>\r\n    <DebugSymbols>true</DebugSymbols>\r\n    <OutputPath>bin\\ARM\\Debug\\</OutputPath>\r\n    <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>full</DebugType>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Release|ARM'\">\r\n    <PlatformTarget>ARM</PlatformTarget>\r\n    <OutputPath>bin\\ARM\\Release\\</OutputPath>\r\n    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>\r\n    <Optimize>true</Optimize>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>pdbonly</DebugType>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Production|ARM'\">\r\n    <PlatformTarget>ARM</PlatformTarget>\r\n    <OutputPath>bin\\ARM\\Production\\</OutputPath>\r\n    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>\r\n    <Optimize>true</Optimize>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>pdbonly</DebugType>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Debug|ARM64'\">\r\n    <PlatformTarget>ARM64</PlatformTarget>\r\n    <DebugSymbols>true</DebugSymbols>\r\n    <OutputPath>bin\\ARM64\\Debug\\</OutputPath>\r\n    <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>full</DebugType>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Release|ARM64'\">\r\n    <PlatformTarget>ARM64</PlatformTarget>\r\n    <OutputPath>bin\\ARM64\\Release\\</OutputPath>\r\n    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>\r\n    <Optimize>true</Optimize>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>pdbonly</DebugType>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Production|ARM64'\">\r\n    <PlatformTarget>ARM64</PlatformTarget>\r\n    <OutputPath>bin\\ARM64\\Production\\</OutputPath>\r\n    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>\r\n    <Optimize>true</Optimize>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>pdbonly</DebugType>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Debug|x64'\">\r\n    <PlatformTarget>x64</PlatformTarget>\r\n    <DebugSymbols>true</DebugSymbols>\r\n    <OutputPath>bin\\x64\\Debug\\</OutputPath>\r\n    <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>full</DebugType>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Release|x64'\">\r\n    <PlatformTarget>x64</PlatformTarget>\r\n    <OutputPath>bin\\x64\\Release\\</OutputPath>\r\n    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>\r\n    <Optimize>true</Optimize>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>pdbonly</DebugType>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Production|x64'\">\r\n    <PlatformTarget>x64</PlatformTarget>\r\n    <OutputPath>bin\\x64\\Production\\</OutputPath>\r\n    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>\r\n    <Optimize>true</Optimize>\r\n    <NoWarn>;2008</NoWarn>\r\n    <DebugType>pdbonly</DebugType>\r\n    <UseVSHostingProcess>false</UseVSHostingProcess>\r\n    <ErrorReport>prompt</ErrorReport>\r\n  </PropertyGroup>\r\n  <PropertyGroup>\r\n    <RestoreProjectStyle>PackageReference</RestoreProjectStyle>\r\n  </PropertyGroup>\r\n  <ItemGroup>\r\n    <Compile Include=\"DropShadowPanel\\DropShadowPanel.cs\" />\r\n    <Compile Include=\"DropShadowPanel\\DropShadowPanel.Properties.cs\" />\r\n    <Compile Include=\"GridSplitter\\GridSplitter.cs\" />\r\n    <Compile Include=\"GridSplitter\\GridSplitter.Data.cs\" />\r\n    <Compile Include=\"GridSplitter\\GridSplitter.Events.cs\" />\r\n    <Compile Include=\"GridSplitter\\GridSplitter.Helper.cs\" />\r\n    <Compile Include=\"GridSplitter\\GridSplitter.Options.cs\" />\r\n    <Compile Include=\"GridSplitter\\GripperHoverWrapper.cs\" />\r\n    <Compile Include=\"Helpers\\DispatcherQueueHelper.cs\" />\r\n    <Compile Include=\"Helpers\\ThemeListener.cs\" />\r\n    <Compile Include=\"InAppNotification\\InAppNotification.AttachedProperties.cs\" />\r\n    <Compile Include=\"InAppNotification\\InAppNotification.Constants.cs\" />\r\n    <Compile Include=\"InAppNotification\\InAppNotification.cs\" />\r\n    <Compile Include=\"InAppNotification\\InAppNotification.Events.cs\" />\r\n    <Compile Include=\"InAppNotification\\InAppNotification.Properties.cs\" />\r\n    <Compile Include=\"InAppNotification\\InAppNotificationClosedEventArgs.cs\" />\r\n    <Compile Include=\"InAppNotification\\InAppNotificationClosingEventArgs.cs\" />\r\n    <Compile Include=\"InAppNotification\\InAppNotificationDismissKind.cs\" />\r\n    <Compile Include=\"InAppNotification\\InAppNotificationOpeningEventArgs.cs\" />\r\n    <Compile Include=\"InAppNotification\\NotificationOptions.cs\" />\r\n    <Compile Include=\"InAppNotification\\StackMode.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\CodeBlockResolvingEventArgs.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\ImageResolvingEventArgs.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\LinkClickedEventArgs.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\MarkdownRenderedEventArgs.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\MarkdownTextBlock.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\MarkdownTextBlock.Dimensions.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\MarkdownTextBlock.Events.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\MarkdownTextBlock.Methods.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\MarkdownTextBlock.Properties.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Blocks\\CodeBlock.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Blocks\\HeaderBlock.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Blocks\\HorizontalRuleBlock.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Blocks\\LinkReferenceBlock.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Blocks\\ListBlock.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Blocks\\List\\ListItemBlock.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Blocks\\List\\ListItemBuilder.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Blocks\\List\\ListItemPreamble.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Blocks\\List\\NestedListInfo.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Blocks\\ParagraphBlock.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Blocks\\QuoteBlock.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Blocks\\TableBlock.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Blocks\\YamlHeaderBlock.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Core\\IParser.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Core\\ParseHelpers.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Core\\SchemaBase.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Core\\StringValueAttribute.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Enums\\ColumnAlignment.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Enums\\HyperlinkType.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Enums\\InlineParseMethod.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Enums\\ListStyle.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Enums\\MarkdownBlockType.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Enums\\MarkdownInlineType.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Helpers\\Common.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Helpers\\DebuggingReporter.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Helpers\\InlineParseResult.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Helpers\\InlineTripCharHelper.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Helpers\\LineInfo.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Inlines\\BoldItalicTextInline.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Inlines\\BoldTextInline.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Inlines\\CodeInline.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Inlines\\CommentInline.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Inlines\\EmojiInline.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Inlines\\EmojiInline.EmojiCodes.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Inlines\\HyperlinkInline.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Inlines\\IInlineContainer.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Inlines\\IInlineLeaf.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Inlines\\ILinkElement.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Inlines\\ImageInline.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Inlines\\ItalicTextInline.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Inlines\\LinkAnchorInline.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Inlines\\MarkdownLinkInline.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Inlines\\StrikethroughTextInline.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Inlines\\SubscriptTextInline.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Inlines\\SuperscriptTextInline.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Inlines\\TextRunInline.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\MarkdownBlock.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\MarkdownDocument.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\MarkdownElement.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\MarkdownInline.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Render\\ICodeBlockResolver.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Render\\IImageResolver.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Render\\ILinkRegister.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Render\\InlineRenderContext.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Render\\IRenderContext.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Render\\MarkdownRenderer.Blocks.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Render\\MarkdownRenderer.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Render\\MarkdownRenderer.Dimensions.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Render\\MarkdownRenderer.Inlines.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Render\\MarkdownRenderer.Properties.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Render\\MarkdownRendererBase.Blocks.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Render\\MarkdownRendererBase.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Render\\MarkdownRendererBase.Inlines.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Render\\MarkdownTable.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Render\\RenderContext.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Render\\RenderContextIncorrectException.cs\" />\r\n    <Compile Include=\"MarkdownTextBlock\\Markdown\\Render\\UIElementCollectionRenderContext.cs\" />\r\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\r\n    <Compile Include=\"SetsView\\SetSelectedEventArgs.cs\" />\r\n    <Compile Include=\"SetsView\\SetClosingEventArgs.cs\" />\r\n    <Compile Include=\"SetsView\\SetDraggedOutsideEventArgs.cs\" />\r\n    <Compile Include=\"SetsView\\SetsView.cs\" />\r\n    <Compile Include=\"SetsView\\SetsView.HeaderLayout.cs\" />\r\n    <Compile Include=\"SetsView\\SetsView.ItemSources.cs\" />\r\n    <Compile Include=\"SetsView\\SetsView.Properties.cs\" />\r\n    <Compile Include=\"SetsView\\SetsViewItem.cs\" />\r\n    <Compile Include=\"SetsView\\SetsViewItem.Properties.cs\" />\r\n    <Compile Include=\"SetsView\\SetsWidthMode.cs\" />\r\n    <EmbeddedResource Include=\"Properties\\Notepads.Controls.rd.xml\" />\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <PackageReference Include=\"ColorCode.UWP\">\r\n      <Version>2.0.15</Version>\r\n    </PackageReference>\r\n    <PackageReference Include=\"Microsoft.NETCore.UniversalWindowsPlatform\">\r\n      <Version>6.2.14</Version>\r\n    </PackageReference>\r\n    <PackageReference Include=\"Microsoft.Toolkit.Uwp.UI\">\r\n      <Version>7.1.3</Version>\r\n    </PackageReference>\r\n    <PackageReference Include=\"Win2D.uwp\">\r\n      <Version>1.28.2</Version>\r\n    </PackageReference>\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <Page Include=\"DropShadowPanel\\DropShadowPanel.xaml\">\r\n      <Generator>MSBuild:Compile</Generator>\r\n      <SubType>Designer</SubType>\r\n    </Page>\r\n    <Page Include=\"GridSplitter\\GridSplitter.xaml\">\r\n      <Generator>MSBuild:Compile</Generator>\r\n      <SubType>Designer</SubType>\r\n    </Page>\r\n    <Page Include=\"InAppNotification\\InAppNotification.xaml\">\r\n      <Generator>MSBuild:Compile</Generator>\r\n      <SubType>Designer</SubType>\r\n    </Page>\r\n    <Page Include=\"InAppNotification\\Styles\\MSEdgeNotificationStyle.xaml\">\r\n      <Generator>MSBuild:Compile</Generator>\r\n      <SubType>Designer</SubType>\r\n    </Page>\r\n    <Page Include=\"MarkdownTextBlock\\MarkdownTextBlock.xaml\">\r\n      <Generator>MSBuild:Compile</Generator>\r\n      <SubType>Designer</SubType>\r\n    </Page>\r\n    <Page Include=\"SetsView\\SetsView.xaml\">\r\n      <Generator>MSBuild:Compile</Generator>\r\n      <SubType>Designer</SubType>\r\n    </Page>\r\n    <Page Include=\"Themes\\Generic.xaml\">\r\n      <SubType>Designer</SubType>\r\n      <Generator>MSBuild:Compile</Generator>\r\n    </Page>\r\n  </ItemGroup>\r\n  <ItemGroup />\r\n  <PropertyGroup Condition=\" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '14.0' \">\r\n    <VisualStudioVersion>14.0</VisualStudioVersion>\r\n  </PropertyGroup>\r\n  <Import Project=\"$(MSBuildExtensionsPath)\\Microsoft\\WindowsXaml\\v$(VisualStudioVersion)\\Microsoft.Windows.UI.Xaml.CSharp.targets\" />\r\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r\n       Other similar extension points exist, see Microsoft.Common.targets.\r\n  <Target Name=\"BeforeBuild\">\r\n  </Target>\r\n  <Target Name=\"AfterBuild\">\r\n  </Target>\r\n  -->\r\n</Project>"
  },
  {
    "path": "src/Notepads.Controls/Properties/AssemblyInfo.cs",
    "content": "﻿using System.Reflection;\r\nusing System.Runtime.InteropServices;\r\n\r\n// General Information about an assembly is controlled through the following \r\n// set of attributes. Change these attribute values to modify the information\r\n// associated with an assembly.\r\n[assembly: AssemblyTitle(\"Notepads.Controls\")]\r\n[assembly: AssemblyDescription(\"\")]\r\n[assembly: AssemblyConfiguration(\"\")]\r\n[assembly: AssemblyCompany(\"\")]\r\n[assembly: AssemblyProduct(\"Notepads.Controls\")]\r\n[assembly: AssemblyCopyright(\"Copyright © 2019-2024 Jackie (Jiaqi) Liu\")]\r\n[assembly: AssemblyTrademark(\"\")]\r\n[assembly: AssemblyCulture(\"\")]\r\n\r\n// Version information for an assembly consists of the following four values:\r\n//\r\n//      Major Version\r\n//      Minor Version \r\n//      Build Number\r\n//      Revision\r\n//\r\n// You can specify all the values or you can default the Build and Revision Numbers \r\n// by using the '*' as shown below:\r\n// [assembly: AssemblyVersion(\"1.0.*\")]\r\n[assembly: AssemblyVersion(\"1.0.0.0\")]\r\n[assembly: AssemblyFileVersion(\"1.0.0.0\")]\r\n[assembly: ComVisible(false)]"
  },
  {
    "path": "src/Notepads.Controls/Properties/Notepads.Controls.rd.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n    This file contains Runtime Directives, specifications about types your application accesses\n    through reflection and other dynamic code patterns. Runtime Directives are used to control the\n    .NET Native optimizer and ensure that it does not remove code accessed by your library. If your\n    library does not do any reflection, then you generally do not need to edit this file. However,\n    if your library reflects over types, especially types passed to it or derived from its types,\n    then you should write Runtime Directives.\n\n    The most common use of reflection in libraries is to discover information about types passed\n    to the library. Runtime Directives have three ways to express requirements on types passed to\n    your library.\n\n    1.  Parameter, GenericParameter, TypeParameter, TypeEnumerableParameter\n        Use these directives to reflect over types passed as a parameter.\n\n    2.  SubTypes\n        Use a SubTypes directive to reflect over types derived from another type.\n\n    3.  AttributeImplies\n        Use an AttributeImplies directive to indicate that your library needs to reflect over\n        types or methods decorated with an attribute.\n\n    For more information on writing Runtime Directives for libraries, please visit\n    https://go.microsoft.com/fwlink/?LinkID=391919\n-->\n<Directives xmlns=\"http://schemas.microsoft.com/netfx/2013/01/metadata\">\n  <Library Name=\"Notepads.Controls\">\n\n  \t<!-- add directives for your library here -->\n\n  </Library>\n</Directives>\n"
  },
  {
    "path": "src/Notepads.Controls/SetsView/SetClosingEventArgs.cs",
    "content": "﻿// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n\r\n    /// <summary>\r\n    /// Event arguments for <see cref=\"SetsView.SetClosing\"/> event.\r\n    /// </summary>\r\n    public class SetClosingEventArgs : EventArgs\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"SetClosingEventArgs\"/> class.\r\n        /// </summary>\r\n        /// <param name=\"item\">Item being closed.</param>\r\n        /// <param name=\"set\"><see cref=\"SetsViewItem\"/> container being closed.</param>\r\n        public SetClosingEventArgs(object item, SetsViewItem set)\r\n        {\r\n            Item = item;\r\n            Set = set;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets the Item being closed.\r\n        /// </summary>\r\n        public object Item { get; }\r\n\r\n        /// <summary>\r\n        /// Gets the Set being closed.\r\n        /// </summary>\r\n        public SetsViewItem Set { get; }\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether the notification should be closed.\r\n        /// </summary>\r\n        public bool Cancel { get; set; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/SetsView/SetDraggedOutsideEventArgs.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n\r\n    /// <summary>\r\n    /// A class used by the <see cref=\"SetsView\"/> TabDraggedOutside Event\r\n    /// </summary>\r\n    public class SetDraggedOutsideEventArgs : EventArgs\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"SetDraggedOutsideEventArgs\"/> class.\r\n        /// </summary>\r\n        /// <param name=\"item\">data context of element dragged</param>\r\n        /// <param name=\"set\"><see cref=\"SetsViewItem\"/> container being dragged.</param>\r\n        public SetDraggedOutsideEventArgs(object item, SetsViewItem set)\r\n        {\r\n            Item = item;\r\n            Set = set;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets or sets the Item/Data Context of the item being dragged outside of the <see cref=\"SetsView\"/>.\r\n        /// </summary>\r\n        public object Item { get; set; }\r\n\r\n        /// <summary>\r\n        /// Gets the Set being dragged outside of the <see cref=\"SetsView\"/>.\r\n        /// </summary>\r\n        public SetsViewItem Set { get; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/SetsView/SetSelectedEventArgs.cs",
    "content": "﻿// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n\r\n    /// <summary>\r\n    /// Event arguments for <see cref=\"SetsView.SetSelected\"/> event.\r\n    /// </summary>\r\n    public class SetSelectedEventArgs : EventArgs\r\n    {\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"SetSelectedEventArgs\"/> class.\r\n        /// </summary>\r\n        /// <param name=\"item\">Selected item.</param>\r\n        /// <param name=\"set\"><see cref=\"SetsViewItem\"/> Selected set.</param>\r\n        public SetSelectedEventArgs(object item, SetsViewItem set)\r\n        {\r\n            Item = item;\r\n            Set = set;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Gets the Selected Item.\r\n        /// </summary>\r\n        public object Item { get; }\r\n\r\n        /// <summary>\r\n        /// Gets the Selected Set.\r\n        /// </summary>\r\n        public SetsViewItem Set { get; }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/SetsView/SetsView.HeaderLayout.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n    using System.Linq;\r\n    using Windows.UI.Xaml;\r\n\r\n    /// <summary>\r\n    /// SetsView methods related to calculating the width of the <see cref=\"SetsViewItem\"/> Headers.\r\n    /// </summary>\r\n    public partial class SetsView\r\n    {\r\n        // Attached property for storing widths of sets if set by other means during layout.\r\n        private static double GetOriginalWidth(SetsViewItem obj)\r\n        {\r\n            return (double)obj.GetValue(OriginalWidthProperty);\r\n        }\r\n\r\n        private static void SetOriginalWidth(SetsViewItem obj, double value)\r\n        {\r\n            obj.SetValue(OriginalWidthProperty, value);\r\n        }\r\n\r\n        // Using a DependencyProperty as the backing store for MyProperty.  This enables animation, styling, binding, etc...\r\n        private static readonly DependencyProperty OriginalWidthProperty =\r\n            DependencyProperty.RegisterAttached(\"OriginalWidth\", typeof(double), typeof(SetsView), new PropertyMetadata(null));\r\n\r\n        private static void OnLayoutEffectingPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)\r\n        {\r\n            if (sender is SetsView setsView && setsView._hasLoaded)\r\n            {\r\n                setsView.SetsView_SizeChanged(setsView, null);\r\n            }\r\n        }\r\n\r\n        private void SetsView_SizeChanged(object sender, SizeChangedEventArgs e)\r\n        {\r\n            // We need to do this calculation here in Size Changed as the\r\n            // Columns don't have their Actual Size calculated in Measure or Arrange.\r\n            if (_hasLoaded && _setsViewContainer != null)\r\n            {\r\n                // Look for our special columns to calculate size of other 'stuff'\r\n                var taken = _setsViewContainer.ColumnDefinitions.Sum(cd => GetIgnoreColumn(cd) ? 0 : cd.ActualWidth);\r\n\r\n                // Get the column we want to work on for available space\r\n                var setc = _setsViewContainer.ColumnDefinitions.FirstOrDefault(cd => GetConstrainColumn(cd));\r\n                if (setc != null)\r\n                {\r\n                    var available = ActualWidth - taken;\r\n                    var required = 0.0;\r\n                    var minsetwidth = double.MaxValue;\r\n\r\n                    if (SetsWidthBehavior == SetsWidthMode.Actual)\r\n                    {\r\n                        if (_setsScroller != null)\r\n                        {\r\n                            // If we have a scroll container, get its size.\r\n                            required = _setsScroller.ExtentWidth;\r\n                        }\r\n\r\n                        // Restore original widths\r\n                        foreach (var item in Items)\r\n                        {\r\n                            if (!(ContainerFromItem(item) is SetsViewItem set))\r\n                            {\r\n                                continue; // container not generated yet\r\n                            }\r\n\r\n                            if (set.ReadLocalValue(OriginalWidthProperty) != DependencyProperty.UnsetValue)\r\n                            {\r\n                                set.Width = GetOriginalWidth(set);\r\n                            }\r\n                        }\r\n                    }\r\n                    else if (available > 0)\r\n                    {\r\n                        // Calculate the width for each set from the provider and determine how much space they take.\r\n                        foreach (var item in Items)\r\n                        {\r\n                            if (!(ContainerFromItem(item) is SetsViewItem set))\r\n                            {\r\n                                continue; // container not generated yet\r\n                            }\r\n\r\n                            minsetwidth = Math.Min(minsetwidth, set.MinWidth);\r\n\r\n                            double width = double.NaN;\r\n\r\n                            switch (SetsWidthBehavior)\r\n                            {\r\n                                case SetsWidthMode.Equal:\r\n                                    width = ProvideEqualWidth(set, available);\r\n                                    break;\r\n                                case SetsWidthMode.Compact:\r\n                                    width = ProvideCompactWidth(set);\r\n                                    break;\r\n                            }\r\n\r\n                            if (set.ReadLocalValue(OriginalWidthProperty) == DependencyProperty.UnsetValue)\r\n                            {\r\n                                SetOriginalWidth(set, set.Width);\r\n                            }\r\n\r\n                            if (width > double.Epsilon)\r\n                            {\r\n                                set.Width = width;\r\n                                required += Math.Max(Math.Min(width, set.MaxWidth), set.MinWidth);\r\n                            }\r\n                            else\r\n                            {\r\n                                set.Width = GetOriginalWidth(set);\r\n                                required += set.ActualWidth;\r\n                            }\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        // Fix negative bounds.\r\n                        available = 0.0;\r\n\r\n                        // Still need to determine a 'minimum' width (if available)\r\n                        // TODO: Consolidate this logic with above better?\r\n                        foreach (var item in Items)\r\n                        {\r\n                            if (!(ContainerFromItem(item) is SetsViewItem set))\r\n                            {\r\n                                continue; // container not generated yet\r\n                            }\r\n\r\n                            minsetwidth = Math.Min(minsetwidth, set.MinWidth);\r\n                        }\r\n                    }\r\n\r\n                    if (!(minsetwidth < double.MaxValue))\r\n                    {\r\n                        minsetwidth = 0.0; // No Containers, no visual, 0 size.\r\n                    }\r\n\r\n                    if (available > minsetwidth)\r\n                    {\r\n                        // Constrain the column based on our required and available space\r\n                        setc.MaxWidth = available;\r\n                    }\r\n\r\n                    //// TODO: If it's less, should we move the selected set to only be the one shown by default?\r\n\r\n                    if (available <= minsetwidth || Math.Abs(available - minsetwidth) < double.Epsilon)\r\n                    {\r\n                        setc.Width = new GridLength(minsetwidth);\r\n                    }\r\n                    else if (required >= available)\r\n                    {\r\n                        // Fix size as we don't have enough space for all the sets.\r\n                        setc.Width = new GridLength(available);\r\n                    }\r\n                    else\r\n                    {\r\n                        // We haven't filled up our space, so we want to expand to take as much as needed.\r\n                        setc.Width = GridLength.Auto;\r\n                    }\r\n                }\r\n                UpdateScrollViewerShadows();\r\n                UpdateScrollViewerNavigateButtons();\r\n                UpdateSetSeparators();\r\n            }\r\n        }\r\n\r\n        private double ProvideEqualWidth(SetsViewItem set, double availableWidth)\r\n        {\r\n            if (double.IsNaN(SelectedSetWidth))\r\n            {\r\n                if (Items.Count <= 1)\r\n                {\r\n                    return availableWidth;\r\n                }\r\n\r\n                return Math.Max(set.MinWidth, availableWidth / Items.Count);\r\n            }\r\n            else if (Items.Count() <= 1)\r\n            {\r\n                // Default case of a single set, make it full size.\r\n                return Math.Min(SelectedSetWidth, availableWidth);\r\n            }\r\n            else\r\n            {\r\n                var width = (availableWidth - SelectedSetWidth) / (Items.Count - 1);\r\n\r\n                // Constrain between Min and Selected (Max)\r\n                if (width < set.MinWidth)\r\n                {\r\n                    width = set.MinWidth;\r\n                }\r\n                else if (width > SelectedSetWidth)\r\n                {\r\n                    width = SelectedSetWidth;\r\n                }\r\n\r\n                // If it's selected make it full size, otherwise whatever the size should be.\r\n                return set.IsSelected\r\n                    ? Math.Min(SelectedSetWidth, availableWidth)\r\n                    : width;\r\n            }\r\n        }\r\n\r\n        private double ProvideCompactWidth(SetsViewItem set)\r\n        {\r\n            // If we're selected and have a value for that, then just return that.\r\n            if (set.IsSelected && !double.IsNaN(SelectedSetWidth))\r\n            {\r\n                return SelectedSetWidth;\r\n            }\r\n\r\n            // Otherwise use min size.\r\n            return set.MinWidth;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/SetsView/SetsView.ItemSources.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System.Reflection;\r\n    using Windows.Foundation.Collections;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls.Primitives;\r\n\r\n    /// <summary>\r\n    /// SetsView methods related to tracking Items and ItemsSource changes.\r\n    /// </summary>\r\n    public partial class SetsView\r\n    {\r\n        // Temporary tracking of previous collections for removing events.\r\n        private MethodInfo _removeItemsSourceMethod;\r\n\r\n        /// <inheritdoc/>\r\n        protected override void OnItemsChanged(object e)\r\n        {\r\n            IVectorChangedEventArgs args = (IVectorChangedEventArgs)e;\r\n\r\n            base.OnItemsChanged(e);\r\n\r\n            if (args?.CollectionChange == CollectionChange.ItemRemoved && SelectedIndex == -1)\r\n            {\r\n                // If we remove the selected item we should select the previous item\r\n                int startIndex = (int)args.Index + 1;\r\n                if (startIndex > Items?.Count)\r\n                {\r\n                    startIndex = 0;\r\n                }\r\n\r\n                SelectedIndex = FindNextSetIndex(startIndex, -1);\r\n            }\r\n\r\n            // Update Sizing (in case there are less items now)\r\n            SetsView_SizeChanged(this, null);\r\n        }\r\n\r\n        private void ItemContainerGenerator_ItemsChanged(object sender, ItemsChangedEventArgs e)\r\n        {\r\n            var action = (CollectionChange)e.Action;\r\n            if (action == CollectionChange.Reset)\r\n            {\r\n                // Reset collection to reload later.\r\n                _hasLoaded = false;\r\n            }\r\n        }\r\n\r\n        private void SetInitialSelection()\r\n        {\r\n            if (SelectedItem == null)\r\n            {\r\n                // If we have an index, but didn't get the selection, make the selection\r\n                if (SelectedIndex >= 0 && SelectedIndex < Items.Count)\r\n                {\r\n                    SelectedItem = Items[SelectedIndex];\r\n                }\r\n\r\n                // Otherwise, select the first item by default\r\n                else if (Items.Count >= 1)\r\n                {\r\n                    SelectedItem = Items[0];\r\n                }\r\n            }\r\n        }\r\n\r\n        // Finds the next visible & enabled set index.\r\n        private int FindNextSetIndex(int startIndex, int direction)\r\n        {\r\n            int index = startIndex;\r\n            if (direction != 0)\r\n            {\r\n                for (int i = 0; i < Items.Count; i++)\r\n                {\r\n                    index += direction;\r\n\r\n                    if (index >= Items.Count)\r\n                    {\r\n                        index = 0;\r\n                    }\r\n                    else if (index < 0)\r\n                    {\r\n                        index = Items.Count - 1;\r\n                    }\r\n\r\n                    if (ContainerFromIndex(index) is SetsViewItem setItem && setItem.IsEnabled && setItem.Visibility == Visibility.Visible)\r\n                    {\r\n                        break;\r\n                    }\r\n                }\r\n            }\r\n\r\n            return index;\r\n        }\r\n\r\n        private void ItemsSource_PropertyChanged(DependencyObject sender, DependencyProperty dp)\r\n        {\r\n            // Use reflection to store a 'Remove' method of any possible collection in ItemsSource\r\n            // Cache for efficiency later.\r\n            if (ItemsSource != null)\r\n            {\r\n                _removeItemsSourceMethod = ItemsSource.GetType().GetMethod(\"Remove\");\r\n            }\r\n            else\r\n            {\r\n                _removeItemsSourceMethod = null;\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/SetsView/SetsView.Properties.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n\r\n    /// <summary>\r\n    /// SetsView properties.\r\n    /// </summary>\r\n    public partial class SetsView\r\n    {\r\n        /// <summary>\r\n        /// Gets or sets the content to appear to the left or above the set strip.\r\n        /// </summary>\r\n        public object SetsStartHeader\r\n        {\r\n            get => GetValue(SetsStartHeaderProperty);\r\n            set => SetValue(SetsStartHeaderProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"SetsStartHeader\"/> dependency property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the <see cref=\"SetsStartHeader\"/> dependency property.</returns>\r\n        public static readonly DependencyProperty SetsStartHeaderProperty =\r\n            DependencyProperty.Register(nameof(SetsStartHeader), typeof(object), typeof(SetsView), new PropertyMetadata(null, OnLayoutEffectingPropertyChanged));\r\n\r\n        /// <summary>\r\n        /// Gets or sets the <see cref=\"DataTemplate\"/> for the <see cref=\"SetsStartHeader\"/>.\r\n        /// </summary>\r\n        public DataTemplate SetsStartHeaderTemplate\r\n        {\r\n            get => (DataTemplate)GetValue(SetsStartHeaderTemplateProperty);\r\n            set => SetValue(SetsStartHeaderTemplateProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"SetsStartHeaderTemplate\"/> dependency property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the <see cref=\"SetsStartHeaderTemplate\"/> dependency property.</returns>\r\n        public static readonly DependencyProperty SetsStartHeaderTemplateProperty =\r\n            DependencyProperty.Register(nameof(SetsStartHeaderTemplate), typeof(DataTemplate), typeof(SetsView), new PropertyMetadata(null, OnLayoutEffectingPropertyChanged));\r\n\r\n        /// <summary>\r\n        /// Gets or sets the content to appear next to the set strip.\r\n        /// </summary>\r\n        public object SetsActionHeader\r\n        {\r\n            get => GetValue(SetsActionHeaderProperty);\r\n            set => SetValue(SetsActionHeaderProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"SetsActionHeader\"/> dependency property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the <see cref=\"SetsActionHeader\"/> dependency property.</returns>\r\n        public static readonly DependencyProperty SetsActionHeaderProperty =\r\n            DependencyProperty.Register(nameof(SetsActionHeader), typeof(object), typeof(SetsView), new PropertyMetadata(null, OnLayoutEffectingPropertyChanged));\r\n\r\n        /// <summary>\r\n        /// Gets or sets the <see cref=\"DataTemplate\"/> for the <see cref=\"SetsActionHeader\"/>.\r\n        /// </summary>\r\n        public DataTemplate SetsActionHeaderTemplate\r\n        {\r\n            get => (DataTemplate)GetValue(SetsActionHeaderTemplateProperty);\r\n            set => SetValue(SetsActionHeaderTemplateProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"SetsActionHeaderTemplate\"/> dependency property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the <see cref=\"SetsActionHeaderTemplate\"/> dependency property.</returns>\r\n        public static readonly DependencyProperty SetsActionHeaderTemplateProperty =\r\n            DependencyProperty.Register(nameof(SetsActionHeaderTemplate), typeof(DataTemplate), typeof(SetsView), new PropertyMetadata(null, OnLayoutEffectingPropertyChanged));\r\n\r\n        /// <summary>\r\n        /// Gets or sets the content to appear to the right or below the action header.\r\n        /// </summary>\r\n        public object SetsPaddingHeader\r\n        {\r\n            get => GetValue(SetsPaddingHeaderProperty);\r\n            set => SetValue(SetsPaddingHeaderProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"SetsPaddingHeader\"/> dependency property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the <see cref=\"SetsPaddingHeader\"/> dependency property.</returns>\r\n        public static readonly DependencyProperty SetsPaddingHeaderProperty =\r\n            DependencyProperty.Register(nameof(SetsPaddingHeader), typeof(object), typeof(SetsView), new PropertyMetadata(null, OnLayoutEffectingPropertyChanged));\r\n\r\n        /// <summary>\r\n        /// Gets or sets the <see cref=\"DataTemplate\"/> for the <see cref=\"SetsPaddingHeader\"/>.\r\n        /// </summary>\r\n        public DataTemplate SetsPaddingHeaderTemplate\r\n        {\r\n            get => (DataTemplate)GetValue(SetsPaddingHeaderTemplateProperty);\r\n            set => SetValue(SetsPaddingHeaderTemplateProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"SetsPaddingHeaderTemplate\"/> dependency property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the <see cref=\"SetsPaddingHeaderTemplate\"/> dependency property.</returns>\r\n        public static readonly DependencyProperty SetsPaddingHeaderTemplateProperty =\r\n            DependencyProperty.Register(nameof(SetsPaddingHeaderTemplate), typeof(DataTemplate), typeof(SetsView), new PropertyMetadata(null, OnLayoutEffectingPropertyChanged));\r\n\r\n        /// <summary>\r\n        /// Gets or sets the content to appear to the right or below the set strip.\r\n        /// </summary>\r\n        public object SetsEndHeader\r\n        {\r\n            get => GetValue(SetsEndHeaderProperty);\r\n            set => SetValue(SetsEndHeaderProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"SetsEndHeader\"/> dependency property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the <see cref=\"SetsEndHeader\"/> dependency property.</returns>\r\n        public static readonly DependencyProperty SetsEndHeaderProperty =\r\n            DependencyProperty.Register(nameof(SetsEndHeader), typeof(object), typeof(SetsView), new PropertyMetadata(null, OnLayoutEffectingPropertyChanged));\r\n\r\n        /// <summary>\r\n        /// Gets or sets the <see cref=\"DataTemplate\"/> for the <see cref=\"SetsEndHeader\"/>.\r\n        /// </summary>\r\n        public DataTemplate SetsEndHeaderTemplate\r\n        {\r\n            get => (DataTemplate)GetValue(SetsEndHeaderTemplateProperty);\r\n            set => SetValue(SetsEndHeaderTemplateProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"SetsEndHeaderTemplate\"/> dependency property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the <see cref=\"SetsEndHeaderTemplate\"/> dependency property.</returns>\r\n        public static readonly DependencyProperty SetsEndHeaderTemplateProperty =\r\n            DependencyProperty.Register(nameof(SetsEndHeaderTemplate), typeof(DataTemplate), typeof(SetsView), new PropertyMetadata(null, OnLayoutEffectingPropertyChanged));\r\n\r\n        /// <summary>\r\n        /// Gets or sets the default <see cref=\"DataTemplate\"/> for the <see cref=\"SetsViewItem.HeaderTemplate\"/>.\r\n        /// </summary>\r\n        public DataTemplate ItemHeaderTemplate\r\n        {\r\n            get => (DataTemplate)GetValue(ItemHeaderTemplateTemplateProperty);\r\n            set => SetValue(ItemHeaderTemplateTemplateProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"ItemHeaderTemplate\"/> dependency property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the <see cref=\"ItemHeaderTemplate\"/> dependency property.</returns>\r\n        public static readonly DependencyProperty ItemHeaderTemplateTemplateProperty =\r\n            DependencyProperty.Register(nameof(ItemHeaderTemplate), typeof(DataTemplate), typeof(SetsView), new PropertyMetadata(null, OnLayoutEffectingPropertyChanged));\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether by default a Set can be closed or not if no value to <see cref=\"SetsViewItem.IsClosable\"/> is provided.\r\n        /// </summary>\r\n        public bool CanCloseSets\r\n        {\r\n            get => (bool)GetValue(CanCloseSetsProperty);\r\n            set => SetValue(CanCloseSetsProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"CanCloseSets\"/> dependency property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the <see cref=\"CanCloseSets\"/> dependency property.</returns>\r\n        public static readonly DependencyProperty CanCloseSetsProperty =\r\n            DependencyProperty.Register(nameof(CanCloseSets), typeof(bool), typeof(SetsView), new PropertyMetadata(false, OnLayoutEffectingPropertyChanged));\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether a <see cref=\"SetsViewItem\"/> Close Button should be included in layout calculations.\r\n        /// </summary>\r\n        public bool IsCloseButtonOverlay\r\n        {\r\n            get => (bool)GetValue(IsCloseButtonOverlayProperty);\r\n            set => SetValue(IsCloseButtonOverlayProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"IsCloseButtonOverlay\"/> dependency property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the <see cref=\"IsCloseButtonOverlay\"/> dependency property.</returns>\r\n        public static readonly DependencyProperty IsCloseButtonOverlayProperty =\r\n            DependencyProperty.Register(nameof(IsCloseButtonOverlay), typeof(bool), typeof(SetsView), new PropertyMetadata(false, OnLayoutEffectingPropertyChanged));\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating the size of the selected set.  By default this is set to Auto and the selected set size doesn't change.\r\n        /// </summary>\r\n        public double SelectedSetWidth\r\n        {\r\n            get => (double)GetValue(SelectedSetWidthProperty);\r\n            set => SetValue(SelectedSetWidthProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"SelectedSetWidth\"/> dependency property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the <see cref=\"SelectedSetWidth\"/> dependency property.</returns>\r\n        public static readonly DependencyProperty SelectedSetWidthProperty =\r\n            DependencyProperty.Register(nameof(SelectedSetWidth), typeof(double), typeof(SetsView), new PropertyMetadata(double.NaN, OnLayoutEffectingPropertyChanged));\r\n\r\n        /// <summary>\r\n        /// Gets or sets the current <see cref=\"SetsWidthMode\"/> which determins how set headers' width behave.\r\n        /// </summary>\r\n        public SetsWidthMode SetsWidthBehavior\r\n        {\r\n            get => (SetsWidthMode)GetValue(SetsWidthBehaviorProperty);\r\n            set => SetValue(SetsWidthBehaviorProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"SetsWidthBehavior\"/> dependency property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the <see cref=\"SetsWidthBehavior\"/> dependency property.</returns>\r\n        public static readonly DependencyProperty SetsWidthBehaviorProperty =\r\n            DependencyProperty.Register(nameof(SetsWidthBehavior), typeof(SetsWidthMode), typeof(SetsView), new PropertyMetadata(SetsWidthMode.Actual, OnLayoutEffectingPropertyChanged));\r\n\r\n        /// <summary>\r\n        /// Gets the attached property value to indicate if this grid column should be ignored when calculating header sizes.\r\n        /// </summary>\r\n        /// <param name=\"obj\">Grid Column.</param>\r\n        /// <returns>Boolean indicating if this column is ignored by SetsViewHeader logic.</returns>\r\n        public static bool GetIgnoreColumn(ColumnDefinition obj)\r\n        {\r\n            return (bool)obj.GetValue(IgnoreColumnProperty);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Sets the attached property value for <see cref=\"IgnoreColumnProperty\"/>\r\n        /// </summary>\r\n        /// <param name=\"obj\">Grid Column.</param>\r\n        /// <param name=\"value\">Boolean value</param>\r\n        public static void SetIgnoreColumn(ColumnDefinition obj, bool value)\r\n        {\r\n            obj?.SetValue(IgnoreColumnProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"IgnoreColumnProperty\"/> attached property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the IgnoreColumn attached property.</returns>\r\n        public static readonly DependencyProperty IgnoreColumnProperty =\r\n            DependencyProperty.RegisterAttached(\"IgnoreColumn\", typeof(bool), typeof(SetsView), new PropertyMetadata(false));\r\n\r\n        /// <summary>\r\n        /// Gets the attached value indicating this column should be restricted for the <see cref=\"SetsViewItem\"/> headers.\r\n        /// </summary>\r\n        /// <param name=\"obj\">Grid Column.</param>\r\n        /// <returns>True if this column should be constrained.</returns>\r\n        public static bool GetConstrainColumn(ColumnDefinition obj)\r\n        {\r\n            return (bool)obj.GetValue(ConstrainColumnProperty);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Sets the attached property value for the <see cref=\"ConstrainColumnProperty\"/>\r\n        /// </summary>\r\n        /// <param name=\"obj\">Grid Column.</param>\r\n        /// <param name=\"value\">Boolean value.</param>\r\n        public static void SetConstrainColumn(ColumnDefinition obj, bool value)\r\n        {\r\n            obj?.SetValue(ConstrainColumnProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"ConstrainColumnProperty\"/> attached property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the ConstrainColumn attached property.</returns>\r\n        public static readonly DependencyProperty ConstrainColumnProperty =\r\n            DependencyProperty.RegisterAttached(\"ConstrainColumn\", typeof(bool), typeof(SetsView), new PropertyMetadata(false));\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/SetsView/SetsView.cs",
    "content": "﻿// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using Microsoft.Toolkit.Uwp.UI;\r\n    using System;\r\n    using System.Linq;\r\n    using Windows.ApplicationModel.DataTransfer;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Controls.Primitives;\r\n    using Windows.UI.Xaml.Data;\r\n    using Windows.UI.Xaml.Input;\r\n\r\n    /// <summary>\r\n    /// SetsView is a control for displaying a set of sets and their content.\r\n    /// </summary>\r\n    [TemplatePart(Name = SetsContentPresenterName, Type = typeof(ContentPresenter))]\r\n    [TemplatePart(Name = SetsViewContainerName, Type = typeof(Grid))]\r\n    [TemplatePart(Name = SetsItemsPresenterName, Type = typeof(ItemsPresenter))]\r\n    [TemplatePart(Name = SetsScrollViewerName, Type = typeof(ScrollViewer))]\r\n    [TemplatePart(Name = SetsScrollBackButtonName, Type = typeof(ButtonBase))]\r\n    [TemplatePart(Name = SetsScrollForwardButtonName, Type = typeof(ButtonBase))]\r\n    [TemplatePart(Name = SetsItemsScrollViewerLeftSideShadowName, Type = typeof(DropShadowPanel))]\r\n    [TemplatePart(Name = SetsItemsScrollViewerRightSideShadowName, Type = typeof(DropShadowPanel))]\r\n    public partial class SetsView : ListViewBase\r\n    {\r\n        private const int ScrollAmount = 50; // TODO: Should this be based on SetsWidthMode\r\n\r\n        private const string SetsContentPresenterName = \"SetsContentPresenter\";\r\n        private const string SetsViewContainerName = \"SetsViewContainer\";\r\n        private const string SetsItemsPresenterName = \"SetsItemsPresenter\";\r\n        private const string SetsScrollViewerName = \"ScrollViewer\";\r\n        private const string SetsItemsScrollViewerLeftSideShadowName = \"SetsItemsScrollViewerLeftSideShadow\";\r\n        private const string SetsItemsScrollViewerRightSideShadowName = \"SetsItemsScrollViewerRightSideShadow\";\r\n        private const string SetsScrollBackButtonName = \"SetsScrollBackButton\";\r\n        private const string SetsScrollForwardButtonName = \"SetsScrollForwardButton\";\r\n\r\n        private ContentPresenter _setsContentPresenter;\r\n        private Grid _setsViewContainer;\r\n        private ItemsPresenter _setItemsPresenter;\r\n        private ScrollViewer _setsScroller;\r\n        private DropShadowPanel _setsItemsScrollViewerLeftSideShadow;\r\n        private DropShadowPanel _setsItemsScrollViewerRightSideShadow;\r\n        private ButtonBase _setsScrollBackButton;\r\n        private ButtonBase _setsScrollForwardButton;\r\n\r\n        private bool _hasLoaded;\r\n        private bool _isDragging;\r\n\r\n        private double _scrollViewerHorizontalOffset = .0f;\r\n        public double ScrollViewerHorizontalOffset => _scrollViewerHorizontalOffset;\r\n\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"SetsView\"/> class.\r\n        /// </summary>\r\n        public SetsView()\r\n        {\r\n            DefaultStyleKey = typeof(SetsView);\r\n\r\n            // Container Generation Hooks\r\n            RegisterPropertyChangedCallback(ItemsSourceProperty, ItemsSource_PropertyChanged);\r\n            ItemContainerGenerator.ItemsChanged += ItemContainerGenerator_ItemsChanged;\r\n\r\n            // Drag and Layout Hooks\r\n            DragItemsStarting += SetsView_DragItemsStarting;\r\n            DragItemsCompleted += SetsView_DragItemsCompleted;\r\n            SizeChanged += SetsView_SizeChanged;\r\n\r\n            // Selection Hook\r\n            SelectionChanged += SetsView_SelectionChanged;\r\n        }\r\n\r\n        /// <summary>\r\n        /// Occurs when a set is dragged by the user outside of the <see cref=\"SetsView\"/>.  Generally, this paradigm is used to create a new-window with the torn-off set.\r\n        /// The creation and handling of the new-window is left to the app's developer.\r\n        /// </summary>\r\n        public event EventHandler<SetDraggedOutsideEventArgs> SetDraggedOutside;\r\n\r\n        /// <summary>\r\n        /// Occurs when a set's Close button is clicked.  Set <see cref=\"SetClosingEventArgs.Cancel\"/> to true to prevent automatic Set Closure.\r\n        /// </summary>\r\n        public event EventHandler<SetClosingEventArgs> SetClosing;\r\n\r\n        /// <summary>\r\n        /// Occurs when a set is selected in <see cref=\"SetsView\"/>.\r\n        /// </summary>\r\n        public event EventHandler<SetSelectedEventArgs> SetSelected;\r\n\r\n        /// <summary>\r\n        /// Occurs when a set is tapped in <see cref=\"SetsView\"/>.\r\n        /// </summary>\r\n        public event EventHandler<SetSelectedEventArgs> SetTapped;\r\n\r\n        /// <summary>\r\n        /// Occurs when a set is double tapped in <see cref=\"SetsView\"/>.\r\n        /// </summary>\r\n        public event EventHandler<SetSelectedEventArgs> SetDoubleTapped;\r\n\r\n        /// <inheritdoc/>\r\n        protected override DependencyObject GetContainerForItemOverride()\r\n        {\r\n            return new SetsViewItem();\r\n        }\r\n\r\n        /// <inheritdoc/>\r\n        protected override bool IsItemItsOwnContainerOverride(object item)\r\n        {\r\n            return item is SetsViewItem;\r\n        }\r\n\r\n        /// <inheritdoc/>\r\n        protected override void OnApplyTemplate()\r\n        {\r\n            base.OnApplyTemplate();\r\n\r\n            if (_setItemsPresenter != null)\r\n            {\r\n                _setItemsPresenter.SizeChanged -= SetsView_SizeChanged;\r\n            }\r\n\r\n            if (_setsScroller != null)\r\n            {\r\n                _setsScroller.Loaded -= SetsScrollViewer_Loaded;\r\n                _setsScroller.ViewChanged -= SetsScrollViewer_ViewChanged;\r\n            }\r\n\r\n            _setsContentPresenter = GetTemplateChild(SetsContentPresenterName) as ContentPresenter;\r\n            _setsViewContainer = GetTemplateChild(SetsViewContainerName) as Grid;\r\n            _setItemsPresenter = GetTemplateChild(SetsItemsPresenterName) as ItemsPresenter;\r\n            _setsScroller = GetTemplateChild(SetsScrollViewerName) as ScrollViewer;\r\n\r\n            if (_setItemsPresenter != null)\r\n            {\r\n                _setItemsPresenter.SizeChanged += SetsView_SizeChanged;\r\n            }\r\n\r\n            if (_setsScroller != null)\r\n            {\r\n                _setsScroller.Loaded += SetsScrollViewer_Loaded;\r\n                _setsScroller.ViewChanged += SetsScrollViewer_ViewChanged;\r\n            }\r\n        }\r\n\r\n        private void SetsScrollViewer_Loaded(object sender, RoutedEventArgs e)\r\n        {\r\n            _setsScroller.Loaded -= SetsScrollViewer_Loaded;\r\n\r\n            if (_setsScrollBackButton != null)\r\n            {\r\n                _setsScrollBackButton.Click -= ScrollSetBackButton_Click;\r\n            }\r\n\r\n            if (_setsScrollForwardButton != null)\r\n            {\r\n                _setsScrollForwardButton.Click -= ScrollSetForwardButton_Click;\r\n            }\r\n\r\n            _setsScrollBackButton = _setsScroller.FindDescendant(SetsScrollBackButtonName) as ButtonBase;\r\n            _setsScrollForwardButton = _setsScroller.FindDescendant(SetsScrollForwardButtonName) as ButtonBase;\r\n            _setsItemsScrollViewerLeftSideShadow = _setsScroller.FindDescendant(SetsItemsScrollViewerLeftSideShadowName) as DropShadowPanel;\r\n            _setsItemsScrollViewerRightSideShadow = _setsScroller.FindDescendant(SetsItemsScrollViewerRightSideShadowName) as DropShadowPanel;\r\n\r\n            if (_setsScrollBackButton != null)\r\n            {\r\n                _setsScrollBackButton.Click += ScrollSetBackButton_Click;\r\n            }\r\n\r\n            if (_setsScrollForwardButton != null)\r\n            {\r\n                _setsScrollForwardButton.Click += ScrollSetForwardButton_Click;\r\n            }\r\n        }\r\n\r\n        private void ScrollSetBackButton_Click(object sender, RoutedEventArgs e)\r\n        {\r\n            _setsScroller.ChangeView(Math.Max(0, _setsScroller.HorizontalOffset - ScrollAmount), null, null);\r\n        }\r\n\r\n        private void ScrollSetForwardButton_Click(object sender, RoutedEventArgs e)\r\n        {\r\n            _setsScroller.ChangeView(Math.Min(_setsScroller.ScrollableWidth, _setsScroller.HorizontalOffset + ScrollAmount), null, null);\r\n        }\r\n\r\n        private void SetsView_SelectionChanged(object sender, SelectionChangedEventArgs e)\r\n        {\r\n            if (_isDragging)\r\n            {\r\n                // Skip if we're dragging, we'll reset when we're done.\r\n                return;\r\n            }\r\n\r\n            if (_setsContentPresenter != null)\r\n            {\r\n                if (SelectedItem == null)\r\n                {\r\n                    _setsContentPresenter.Content = null;\r\n                    _setsContentPresenter.ContentTemplate = null;\r\n                }\r\n                else\r\n                {\r\n                    if (ContainerFromItem(SelectedItem) is SetsViewItem container)\r\n                    {\r\n                        _setsContentPresenter.Content = container.Content;\r\n                        _setsContentPresenter.ContentTemplate = container.ContentTemplate;\r\n\r\n                        if (e != null) _setsContentPresenter.Loaded += SetsContentPresenter_Loaded;\r\n                    }\r\n                }\r\n\r\n                UpdateScrollViewerShadows();\r\n                UpdateSetSeparators();\r\n            }\r\n\r\n            // If our width can be effected by the selection, need to run algorithm.\r\n            if (!double.IsNaN(SelectedSetWidth))\r\n            {\r\n                SetsView_SizeChanged(sender, null);\r\n            }\r\n        }\r\n\r\n        private void UpdateSetSeparators()\r\n        {\r\n            if (SelectedIndex > 0)\r\n            {\r\n                (ContainerFromIndex(0) as SetsViewItem)?.ShowLeftSideSeparator();\r\n            }\r\n            else\r\n            {\r\n                (ContainerFromIndex(0) as SetsViewItem)?.HideLeftSideSeparator();\r\n            }\r\n\r\n            for (int i = 0; i < Items?.Count; i++)\r\n            {\r\n                if (i != SelectedIndex && i != SelectedIndex - 1)\r\n                {\r\n                    (ContainerFromIndex(i) as SetsViewItem)?.ShowRightSideSeparator();\r\n                }\r\n                else\r\n                {\r\n                    (ContainerFromIndex(i) as SetsViewItem)?.HideRightSideSeparator();\r\n                }\r\n            }\r\n        }\r\n\r\n        private void SetsContentPresenter_Loaded(object sender, RoutedEventArgs e)\r\n        {\r\n            _setsContentPresenter.Loaded -= SetsContentPresenter_Loaded;\r\n            var args = new SetSelectedEventArgs(((SetsViewItem)ContainerFromItem(SelectedItem))?.Content, (SetsViewItem)ContainerFromItem(SelectedItem));\r\n            SetSelected?.Invoke(this, args);\r\n        }\r\n\r\n        /// <inheritdoc/>\r\n        protected override void PrepareContainerForItemOverride(DependencyObject element, object item)\r\n        {\r\n            base.PrepareContainerForItemOverride(element, item);\r\n\r\n            if (!(element is SetsViewItem setItem)) return;\r\n\r\n            setItem.Loaded -= SetsViewItem_Loaded;\r\n            setItem.Closing -= SetsViewItem_Closing;\r\n            setItem.Tapped -= SetsViewItem_Tapped;\r\n            setItem.DoubleTapped -= SetsViewItem_DoubleTapped;\r\n            setItem.PointerEntered -= SetItem_PointerEntered;\r\n            setItem.PointerExited -= SetItem_PointerExited;\r\n            setItem.Loaded += SetsViewItem_Loaded;\r\n            setItem.Closing += SetsViewItem_Closing;\r\n            setItem.Tapped += SetsViewItem_Tapped;\r\n            setItem.DoubleTapped += SetsViewItem_DoubleTapped;\r\n            setItem.PointerEntered += SetItem_PointerEntered;\r\n            setItem.PointerExited += SetItem_PointerExited;\r\n\r\n            if (setItem.Header == null)\r\n            {\r\n                setItem.Header = item;\r\n            }\r\n\r\n            if (setItem.HeaderTemplate == null)\r\n            {\r\n                var headertemplatebinding = new Binding()\r\n                {\r\n                    Source = this,\r\n                    Path = new PropertyPath(nameof(ItemHeaderTemplate)),\r\n                    Mode = BindingMode.OneWay\r\n                };\r\n                setItem.SetBinding(SetsViewItem.HeaderTemplateProperty, headertemplatebinding);\r\n            }\r\n\r\n            if (setItem.IsClosable != true && setItem.ReadLocalValue(SetsViewItem.IsClosableProperty) ==\r\n                DependencyProperty.UnsetValue)\r\n            {\r\n                var iscloseablebinding = new Binding()\r\n                {\r\n                    Source = this,\r\n                    Path = new PropertyPath(nameof(CanCloseSets)),\r\n                    Mode = BindingMode.OneWay,\r\n                };\r\n                setItem.SetBinding(SetsViewItem.IsClosableProperty, iscloseablebinding);\r\n            }\r\n        }\r\n\r\n        private void SetItem_PointerEntered(object sender, PointerRoutedEventArgs e)\r\n        {\r\n            if (sender is SetsViewItem set)\r\n            {\r\n                set.HideRightSideSeparator();\r\n                var index = IndexFromContainer(set);\r\n                if (index > 0)\r\n                {\r\n                    (ContainerFromIndex(index - 1) as SetsViewItem)?.HideRightSideSeparator();\r\n                }\r\n\r\n                set.HideLeftSideSeparator();\r\n            }\r\n        }\r\n\r\n        private void SetItem_PointerExited(object sender, PointerRoutedEventArgs e)\r\n        {\r\n            if (sender is SetsViewItem set)\r\n            {\r\n                var index = IndexFromContainer(set);\r\n\r\n                if (index == 0 && SelectedIndex != index)\r\n                {\r\n                    set.ShowLeftSideSeparator();\r\n                }\r\n\r\n                if (SelectedIndex == index - 1)\r\n                {\r\n                    set.ShowRightSideSeparator();\r\n                }\r\n                else if (SelectedIndex == index + 1)\r\n                {\r\n                    if (index > 0)\r\n                    {\r\n                        (ContainerFromIndex(index - 1) as SetsViewItem)?.ShowRightSideSeparator();\r\n                    }\r\n                }\r\n                else if (SelectedIndex != index)\r\n                {\r\n                    set.ShowRightSideSeparator();\r\n                    if (index > 0)\r\n                    {\r\n                        (ContainerFromIndex(index - 1) as SetsViewItem)?.ShowRightSideSeparator();\r\n                    }\r\n                }\r\n            }\r\n        }\r\n\r\n        private void SetsViewItem_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e)\r\n        {\r\n            var args = new SetSelectedEventArgs(((SetsViewItem)ContainerFromItem(SelectedItem))?.Content, (SetsViewItem)ContainerFromItem(SelectedItem));\r\n            SetDoubleTapped?.Invoke(sender, args);\r\n        }\r\n\r\n        private void SetsViewItem_Tapped(object sender, TappedRoutedEventArgs e)\r\n        {\r\n            var args = new SetSelectedEventArgs(((SetsViewItem)ContainerFromItem(SelectedItem))?.Content, (SetsViewItem)ContainerFromItem(SelectedItem));\r\n            SetTapped?.Invoke(sender, args);\r\n        }\r\n\r\n        private void SetsViewItem_Loaded(object sender, RoutedEventArgs e)\r\n        {\r\n            var setItem = sender as SetsViewItem;\r\n\r\n            setItem.Loaded -= SetsViewItem_Loaded;\r\n\r\n            // Only need to do this once.\r\n            if (!_hasLoaded)\r\n            {\r\n                _hasLoaded = true;\r\n\r\n                // Need to set a set's selection on load, otherwise ListView resets to null.\r\n                SetInitialSelection();\r\n\r\n                // Need to make sure ContentPresenter is set to content based on selection.\r\n                SetsView_SelectionChanged(this, null);\r\n\r\n                // Need to make sure we've registered our removal method.\r\n                ItemsSource_PropertyChanged(this, null);\r\n\r\n                // Make sure we complete layout now.\r\n                SetsView_SizeChanged(this, null);\r\n            }\r\n        }\r\n\r\n        private void SetsViewItem_Closing(object sender, SetClosingEventArgs e)\r\n        {\r\n            var item = ItemFromContainer(e.Set);\r\n\r\n            var args = new SetClosingEventArgs(item, e.Set);\r\n            SetClosing?.Invoke(this, args);\r\n\r\n            if (!args.Cancel)\r\n            {\r\n                e.Set.PrepareForClosing();\r\n                if (ItemsSource != null)\r\n                {\r\n                    _removeItemsSourceMethod?.Invoke(ItemsSource, new object[] { item });\r\n                }\r\n                else\r\n                {\r\n                    Items?.Remove(item);\r\n                }\r\n            }\r\n        }\r\n\r\n        private void SetsView_DragItemsStarting(object sender, DragItemsStartingEventArgs e)\r\n        {\r\n            // Keep track of drag so we don't modify content until done.\r\n            _isDragging = true;\r\n\r\n            _setsItemsScrollViewerLeftSideShadow.Visibility = Visibility.Collapsed;\r\n            _setsItemsScrollViewerRightSideShadow.Visibility = Visibility.Collapsed;\r\n        }\r\n\r\n        private void SetsView_DragItemsCompleted(ListViewBase sender, DragItemsCompletedEventArgs args)\r\n        {\r\n            _isDragging = false;\r\n\r\n            // args.DropResult == None when outside of area (e.g. create new window)\r\n            if (args.DropResult == DataPackageOperation.None)\r\n            {\r\n                var item = args.Items.FirstOrDefault();\r\n                var set = ContainerFromItem(item) as SetsViewItem;\r\n\r\n                if (set == null && item is FrameworkElement fe)\r\n                {\r\n                    set = fe.FindParent<SetsViewItem>();\r\n                }\r\n\r\n                if (set == null)\r\n                {\r\n                    // We still don't have a SetsViewItem, most likely is a static SetsViewItem in the template being dragged and not selected.\r\n                    // This is a fallback scenario for static sets.\r\n                    // Note: This can be wrong if two SetsViewItems share the exact same Content (i.e. a string), this should be unlikely in any practical scenario.\r\n                    for (int i = 0; i < Items.Count; i++)\r\n                    {\r\n                        var setItem = ContainerFromIndex(i) as SetsViewItem;\r\n                        if (ReferenceEquals(setItem.Content, item))\r\n                        {\r\n                            set = setItem;\r\n                            break;\r\n                        }\r\n                    }\r\n                }\r\n\r\n                SetDraggedOutside?.Invoke(this, new SetDraggedOutsideEventArgs(item, set));\r\n\r\n                UpdateScrollViewerShadows();\r\n            }\r\n            else\r\n            {\r\n                // If dragging the active set, there's an issue with the CP blanking.\r\n                SetsView_SelectionChanged(this, null);\r\n            }\r\n        }\r\n\r\n        private void SetsScrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)\r\n        {\r\n            _scrollViewerHorizontalOffset = _setsScroller.HorizontalOffset;\r\n            UpdateScrollViewerShadows();\r\n            UpdateScrollViewerNavigateButtons();\r\n        }\r\n\r\n        public void ScrollToLastSet()\r\n        {\r\n            ScrollTo(double.MaxValue);\r\n        }\r\n\r\n        public void ScrollTo(double offset)\r\n        {\r\n            try\r\n            {\r\n                _setsScroller?.UpdateLayout();\r\n                _setsScroller?.ChangeView(offset, 0.0f, 1.0f);\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                throw new Exception($\"SetsView failed to scroll to offset: {(long)offset}, Exception: {ex}\");\r\n            }\r\n        }\r\n\r\n        // HACK: Simulate left most and right most (tab) edge shadow\r\n        // since I am too lazy to figure out the \"right way\" to make shadow visible on scroll viewer edges\r\n        /// TODO This method should be removed when better solution is available in the future \r\n        private void UpdateScrollViewerShadows()\r\n        {\r\n            if (_setsItemsScrollViewerLeftSideShadow == null ||\r\n                _setsItemsScrollViewerRightSideShadow == null)\r\n            {\r\n                return;\r\n            }\r\n\r\n            if (Items?.Count == 1)\r\n            {\r\n                _setsItemsScrollViewerLeftSideShadow.Visibility = Visibility.Visible;\r\n                _setsItemsScrollViewerRightSideShadow.Visibility = Visibility.Visible;\r\n                return;\r\n            }\r\n\r\n            if (SelectedIndex == 0)\r\n            {\r\n                if (Math.Abs(_scrollViewerHorizontalOffset) < 3)\r\n                {\r\n                    _setsItemsScrollViewerLeftSideShadow.Visibility = Visibility.Visible;\r\n                    _setsItemsScrollViewerRightSideShadow.Visibility = Visibility.Collapsed;\r\n                    return;\r\n                }\r\n            }\r\n            else if (SelectedIndex == Items?.Count - 1)\r\n            {\r\n                var offset = _setsScroller.ExtentWidth - _setsScroller.ViewportWidth - _scrollViewerHorizontalOffset;\r\n                if (Math.Abs(offset) < 3)\r\n                {\r\n                    _setsItemsScrollViewerLeftSideShadow.Visibility = Visibility.Collapsed;\r\n                    _setsItemsScrollViewerRightSideShadow.Visibility = Visibility.Visible;\r\n                    return;\r\n                }\r\n            }\r\n\r\n            _setsItemsScrollViewerLeftSideShadow.Visibility = Visibility.Collapsed;\r\n            _setsItemsScrollViewerRightSideShadow.Visibility = Visibility.Collapsed;\r\n        }\r\n\r\n        private void UpdateScrollViewerNavigateButtons()\r\n        {\r\n            if (Math.Abs(_setsScroller.HorizontalOffset - _setsScroller.ScrollableWidth) < 0.1)\r\n            {\r\n                _setsScrollBackButton.IsEnabled = true;\r\n                _setsScrollForwardButton.IsEnabled = false;\r\n            }\r\n            else if (Math.Abs(_setsScroller.HorizontalOffset) < 0.1)\r\n            {\r\n                _setsScrollBackButton.IsEnabled = false;\r\n                _setsScrollForwardButton.IsEnabled = true;\r\n            }\r\n            else\r\n            {\r\n                _setsScrollBackButton.IsEnabled = true;\r\n                _setsScrollForwardButton.IsEnabled = true;\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/SetsView/SetsView.xaml",
    "content": "﻿<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\r\n                    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\r\n                    xmlns:converters=\"using:Microsoft.Toolkit.Uwp.UI.Converters\"\r\n                    xmlns:ui=\"using:Microsoft.Toolkit.Uwp.UI\"\r\n                    xmlns:controls=\"using:Notepads.Controls\">\r\n\r\n    <ResourceDictionary.ThemeDictionaries>\r\n        <ResourceDictionary x:Key=\"Light\">\r\n            <SolidColorBrush x:Key=\"SetsViewBackground\" Color=\"Transparent\"/>\r\n            <SolidColorBrush x:Key=\"SetsViewItemHeaderBackgroundSelected\"\r\n                         Opacity=\"0.25\"\r\n                         Color=\"White\"/>\r\n            <SolidColorBrush x:Key=\"SetsViewItemHeaderBackgroundPointerOver\"\r\n                         Opacity=\"0.15\"\r\n                         Color=\"White\"/>\r\n            <SolidColorBrush x:Key=\"SetsViewItemHeaderBackgroundPressed\"\r\n                         Opacity=\"0.25\"\r\n                         Color=\"White\"/>\r\n            <StaticResource x:Key=\"SetsViewItemHeaderBackground\"\r\n                            ResourceKey=\"SystemControlTransparentBrush\" />\r\n            <StaticResource x:Key=\"SetsViewSelectionIndicatorForeground\"\r\n                            ResourceKey=\"SystemControlForegroundAccentBrush\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderForeground\"\r\n                            ResourceKey=\"SystemControlForegroundBaseMediumBrush\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderForegroundPressed\"\r\n                            ResourceKey=\"SystemControlForegroundBaseMediumHighBrush\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderForegroundSelected\"\r\n                            ResourceKey=\"SystemControlForegroundBaseHighBrush\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderForegroundPointerOver\"\r\n                            ResourceKey=\"SystemControlForegroundBaseMediumHighBrush\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderForegroundDisabled\"\r\n                            ResourceKey=\"SystemControlDisabledBaseMediumLowBrush\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderRevealBorderBrush\"\r\n                            ResourceKey=\"SystemControlBackgroundTransparentRevealBorderBrush\" />\r\n            <x:Double x:Key=\"SetsEdgeShadowOpacity\">0.55</x:Double>\r\n            <RevealBackgroundBrush x:Key=\"SetsViewItemRevealBackgroundBrush\"\r\n                                   Color=\"Gray\"\r\n                                   Opacity=\"0.3\"\r\n                                   FallbackColor=\"Gray\" />\r\n        </ResourceDictionary>\r\n\r\n        <ResourceDictionary x:Key=\"Dark\">\r\n            <SolidColorBrush x:Key=\"SetsViewBackground\" Color=\"Transparent\"/>\r\n            <SolidColorBrush x:Key=\"SetsViewItemHeaderBackgroundSelected\"\r\n                         Opacity=\"0.25\"\r\n                         Color=\"Black\"/>\r\n            <SolidColorBrush x:Key=\"SetsViewItemHeaderBackgroundPointerOver\"\r\n                         Opacity=\"0.20\"\r\n                         Color=\"Black\"/>\r\n            <SolidColorBrush x:Key=\"SetsViewItemHeaderBackgroundPressed\"\r\n                         Opacity=\"0.25\"\r\n                         Color=\"Black\"/>\r\n            <StaticResource x:Key=\"SetsViewItemHeaderBackground\"\r\n                            ResourceKey=\"SystemControlTransparentBrush\" />\r\n            <StaticResource x:Key=\"SetsViewSelectionIndicatorForeground\"\r\n                            ResourceKey=\"SystemControlForegroundAccentBrush\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderForeground\"\r\n                            ResourceKey=\"SystemControlForegroundBaseMediumBrush\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderForegroundPressed\"\r\n                            ResourceKey=\"SystemControlForegroundBaseMediumHighBrush\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderForegroundSelected\"\r\n                            ResourceKey=\"SystemControlForegroundBaseHighBrush\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderForegroundPointerOver\"\r\n                            ResourceKey=\"SystemControlForegroundBaseMediumHighBrush\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderForegroundDisabled\"\r\n                            ResourceKey=\"SystemControlDisabledBaseMediumLowBrush\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderRevealBorderBrush\"\r\n                            ResourceKey=\"SystemControlBackgroundTransparentRevealBorderBrush\" />\r\n            <x:Double x:Key=\"SetsEdgeShadowOpacity\">0.7</x:Double>\r\n            <RevealBackgroundBrush x:Key=\"SetsViewItemRevealBackgroundBrush\"\r\n                                   Color=\"Transparent\"\r\n                                   FallbackColor=\"Transparent\" />\r\n        </ResourceDictionary>\r\n\r\n        <ResourceDictionary x:Key=\"HighContrast\">\r\n            <SolidColorBrush x:Key=\"SetsViewBackground\"\r\n                             Color=\"{ThemeResource SystemChromeLowColor}\" />\r\n            <SolidColorBrush x:Key=\"SetsViewItemHeaderBackgroundSelected\"\r\n                             Color=\"{ThemeResource SystemColorHighlightColor}\" />\r\n            <SolidColorBrush x:Key=\"SetsViewItemHeaderBackgroundPointerOver\"\r\n                             Color=\"{ThemeResource SystemColorHighlightColor}\" />\r\n            <SolidColorBrush x:Key=\"SetsViewItemHeaderBackgroundPressed\"\r\n                             Color=\"{ThemeResource SystemColorHighlightColor}\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderBackground\"\r\n                            ResourceKey=\"SystemControlTransparentBrush\" />\r\n            <StaticResource x:Key=\"SetsViewSelectionIndicatorForeground\"\r\n                            ResourceKey=\"SystemControlForegroundAccentBrush\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderForeground\"\r\n                            ResourceKey=\"SystemControlForegroundBaseMediumBrush\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderForegroundPressed\"\r\n                            ResourceKey=\"SystemControlForegroundBaseMediumHighBrush\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderForegroundSelected\"\r\n                            ResourceKey=\"SystemControlForegroundBaseHighBrush\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderForegroundPointerOver\"\r\n                            ResourceKey=\"SystemControlForegroundBaseMediumHighBrush\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderForegroundDisabled\"\r\n                            ResourceKey=\"SystemControlDisabledBaseMediumLowBrush\" />\r\n            <StaticResource x:Key=\"SetsViewItemHeaderRevealBorderBrush\"\r\n                            ResourceKey=\"SystemControlBackgroundTransparentRevealBorderBrush\" />\r\n            <x:Double x:Key=\"SetsEdgeShadowOpacity\">0.0</x:Double>\r\n            <SolidColorBrush x:Key=\"SetsViewItemRevealBackgroundBrush\"\r\n                             Color=\"Transparent\" />\r\n        </ResourceDictionary>\r\n    </ResourceDictionary.ThemeDictionaries>\r\n\r\n    <Thickness x:Key=\"SetsViewItemHeaderMargin\">0</Thickness>\r\n    <Thickness x:Key=\"SetsViewItemHeaderIconMargin\">0,2,6,0</Thickness>\r\n    <Thickness x:Key=\"SetsViewItemHeaderCloseMargin\">0,1,0,0</Thickness>\r\n    <Thickness x:Key=\"SetsViewItemHeaderBorderThickness\">0,1,0,0</Thickness>\r\n    <x:Double x:Key=\"SetsViewItemHeaderIconSize\">10</x:Double>\r\n    <x:Double x:Key=\"SetsViewItemHeaderMinWidth\">48</x:Double>\r\n    <x:Double x:Key=\"SetsViewItemHeaderMinHeight\">40</x:Double>\r\n    <x:Double x:Key=\"SetsViewItemHeaderMaxWidth\">NaN</x:Double>\r\n    <x:Double x:Key=\"SetsViewItemHeaderCloseWidth\">24</x:Double>\r\n\r\n    <converters:EmptyObjectToObjectConverter x:Key=\"NullVisibilityConverter\"\r\n                                             EmptyValue=\"Collapsed\"\r\n                                             NotEmptyValue=\"Visible\" />\r\n    <converters:BoolToVisibilityConverter x:Key=\"BoolToVisibilityConverter\" />\r\n\r\n    <!--  65 is the size of both scroll buttons + 1 for layout rounding.  -->\r\n    <converters:DoubleToVisibilityConverter x:Key=\"GreaterThanToleranceVisibilityConverter\"\r\n                                            GreaterThan=\"65.0\" />\r\n\r\n    <converters:BoolToObjectConverter x:Key=\"CloseCollapsingSizeConverter\"\r\n                                      FalseValue=\"{StaticResource SetsViewItemHeaderCloseWidth}\"\r\n                                      TrueValue=\"NaN\" />\r\n\r\n    <Style x:Key=\"TopEdgeShadowStyle\" TargetType=\"controls:DropShadowPanel\">\r\n        <Setter Property=\"BlurRadius\" Value=\"10\" />\r\n        <Setter Property=\"ShadowOpacity\" Value=\"{ThemeResource SetsEdgeShadowOpacity}\" />\r\n        <Setter Property=\"VerticalAlignment\" Value=\"Top\" />\r\n        <Setter Property=\"HorizontalAlignment\" Value=\"Stretch\" />\r\n        <Setter Property=\"HorizontalContentAlignment\" Value=\"Stretch\" />\r\n    </Style>\r\n\r\n    <Style x:Key=\"BottomEdgeShadowStyle\" TargetType=\"controls:DropShadowPanel\">\r\n        <Setter Property=\"BlurRadius\" Value=\"10\" />\r\n        <Setter Property=\"ShadowOpacity\" Value=\"{ThemeResource SetsEdgeShadowOpacity}\" />\r\n        <Setter Property=\"VerticalAlignment\" Value=\"Bottom\" />\r\n        <Setter Property=\"HorizontalAlignment\" Value=\"Stretch\" />\r\n        <Setter Property=\"HorizontalContentAlignment\" Value=\"Stretch\" />\r\n    </Style>\r\n\r\n    <Style x:Key=\"SideEdgeShadowStyle\" TargetType=\"controls:DropShadowPanel\">\r\n        <Setter Property=\"BlurRadius\" Value=\"8\" />\r\n        <Setter Property=\"ShadowOpacity\" Value=\"{ThemeResource SetsEdgeShadowOpacity}\" />\r\n        <Setter Property=\"Visibility\" Value=\"Collapsed\" />\r\n    </Style>\r\n\r\n    <!--  Default style for compatibility with WPF migrators.  -->\r\n    <Style TargetType=\"controls:SetsView\">\r\n        <Setter Property=\"Background\" Value=\"{ThemeResource SetsViewBackground}\" />\r\n        <Setter Property=\"IsTabStop\" Value=\"False\" />\r\n        <Setter Property=\"TabNavigation\" Value=\"Local\" />\r\n        <Setter Property=\"IsSwipeEnabled\" Value=\"False\" />\r\n        <Setter Property=\"ScrollViewer.HorizontalScrollBarVisibility\" Value=\"Hidden\" />\r\n        <Setter Property=\"ScrollViewer.VerticalScrollBarVisibility\" Value=\"Disabled\" />\r\n        <Setter Property=\"ScrollViewer.HorizontalScrollMode\" Value=\"Enabled\" />\r\n        <Setter Property=\"ScrollViewer.IsHorizontalRailEnabled\" Value=\"False\" />\r\n        <Setter Property=\"ScrollViewer.VerticalScrollMode\" Value=\"Disabled\" />\r\n        <Setter Property=\"ScrollViewer.IsVerticalRailEnabled\" Value=\"False\" />\r\n        <Setter Property=\"ScrollViewer.ZoomMode\" Value=\"Disabled\" />\r\n        <Setter Property=\"ScrollViewer.IsDeferredScrollingEnabled\" Value=\"False\" />\r\n        <Setter Property=\"ScrollViewer.BringIntoViewOnFocusChange\" Value=\"True\" />\r\n        <!--  Need UseLayoutRounding as Width being dynamically changed in same cases to fill up an entire space, otherwise gap.  -->\r\n        <Setter Property=\"UseLayoutRounding\" Value=\"False\" />\r\n        <Setter Property=\"ItemContainerTransitions\">\r\n            <Setter.Value>\r\n                <TransitionCollection>\r\n                    <ContentThemeTransition />\r\n                    <EntranceThemeTransition IsStaggeringEnabled=\"False\" />\r\n                    <EdgeUIThemeTransition Edge=\"Bottom\" />\r\n                </TransitionCollection>\r\n            </Setter.Value>\r\n        </Setter>\r\n        <Setter Property=\"ItemsPanel\">\r\n            <Setter.Value>\r\n                <ItemsPanelTemplate>\r\n                    <!--  Note: We have to use StackPanel here due to other issues using ItemsStackPanel or VirtualizingStackPanel  -->\r\n                    <StackPanel Orientation=\"Horizontal\" />\r\n                </ItemsPanelTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n        <Setter Property=\"Template\" Value=\"{StaticResource SetsViewTemplate}\" />\r\n    </Style>\r\n\r\n    <ControlTemplate x:Key=\"SetsViewTemplate\"\r\n                     TargetType=\"controls:SetsView\">\r\n        <Grid x:Name=\"SetsViewContainer\">\r\n            <Grid.RowDefinitions>\r\n                <!--  0 Header  -->\r\n                <RowDefinition Height=\"Auto\" />\r\n                <!--  1 Sets  -->\r\n                <RowDefinition Height=\"Auto\" />\r\n                <!--  2 Content  -->\r\n                <RowDefinition Height=\"*\" />\r\n                <!--  3 Footer  -->\r\n                <RowDefinition Height=\"Auto\" />\r\n            </Grid.RowDefinitions>\r\n            <Grid.ColumnDefinitions>\r\n                <!--  0 SetsStartHeader  -->\r\n                <ColumnDefinition Width=\"Auto\" />\r\n                <!--  1 Sets  -->\r\n                <ColumnDefinition Width=\"Auto\"\r\n                                  controls:SetsView.ConstrainColumn=\"True\"\r\n                                  controls:SetsView.IgnoreColumn=\"True\" />\r\n                <!--  2 Reserved: Overflow Drop-down  -->\r\n                <ColumnDefinition Width=\"Auto\" />\r\n                <!--  3 Auto Add Button  -->\r\n                <ColumnDefinition Width=\"Auto\" />\r\n                <!--  4 Padding  -->\r\n                <ColumnDefinition Width=\"*\" \r\n                                  controls:SetsView.IgnoreColumn=\"True\" />\r\n                <!--  5 SetsEndHeader  -->\r\n                <ColumnDefinition Width=\"Auto\" />\r\n            </Grid.ColumnDefinitions>\r\n            <ContentPresenter Grid.Row=\"0\"\r\n                              Grid.ColumnSpan=\"6\"\r\n                              Content=\"{TemplateBinding Header}\"\r\n                              ContentTemplate=\"{TemplateBinding HeaderTemplate}\" />\r\n\r\n            <!--  Shadow under Start Header  -->\r\n            <controls:DropShadowPanel\r\n                Style=\"{StaticResource BottomEdgeShadowStyle}\"\r\n                Grid.Row=\"1\"\r\n                Grid.Column=\"0\">\r\n                <Grid Height=\"1\" Margin=\"0,0,0,-1\"/>\r\n                <controls:DropShadowPanel.Clip>\r\n                    <RectangleGeometry Rect=\"0,-12,1024,12\"></RectangleGeometry>\r\n                </controls:DropShadowPanel.Clip>\r\n            </controls:DropShadowPanel>\r\n\r\n            <ContentPresenter Grid.Row=\"1\"\r\n                              Grid.Column=\"0\"\r\n                              Content=\"{TemplateBinding SetsStartHeader}\"\r\n                              ContentTemplate=\"{TemplateBinding SetsStartHeaderTemplate}\" />\r\n\r\n            <ScrollViewer x:Name=\"ScrollViewer\"\r\n                          Grid.Row=\"1\"\r\n                          Grid.Column=\"1\"\r\n                          BorderThickness=\"0\"\r\n                          AutomationProperties.AccessibilityView=\"Raw\"\r\n                          BringIntoViewOnFocusChange=\"{TemplateBinding ScrollViewer.BringIntoViewOnFocusChange}\"\r\n                          HorizontalScrollBarVisibility=\"{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}\"\r\n                          HorizontalScrollMode=\"{TemplateBinding ScrollViewer.HorizontalScrollMode}\"\r\n                          IsDeferredScrollingEnabled=\"{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}\"\r\n                          IsHorizontalRailEnabled=\"{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}\"\r\n                          IsHorizontalScrollChainingEnabled=\"{TemplateBinding ScrollViewer.IsHorizontalScrollChainingEnabled}\"\r\n                          IsVerticalRailEnabled=\"{TemplateBinding ScrollViewer.IsVerticalRailEnabled}\"\r\n                          IsVerticalScrollChainingEnabled=\"{TemplateBinding ScrollViewer.IsVerticalScrollChainingEnabled}\"\r\n                          Style=\"{StaticResource SetsViewScrollViewer}\"\r\n                          TabNavigation=\"{TemplateBinding TabNavigation}\"\r\n                          VerticalScrollBarVisibility=\"{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}\"\r\n                          VerticalScrollMode=\"{TemplateBinding ScrollViewer.VerticalScrollMode}\"\r\n                          ZoomMode=\"{TemplateBinding ScrollViewer.ZoomMode}\">\r\n                <ItemsPresenter x:Name=\"SetsItemsPresenter\"\r\n                                Padding=\"{TemplateBinding Padding}\" />\r\n            </ScrollViewer>\r\n\r\n            <!--  Shadow under Add Button  -->\r\n            <controls:DropShadowPanel    \r\n                Style=\"{StaticResource BottomEdgeShadowStyle}\"\r\n                Grid.Row=\"1\"\r\n                Grid.Column=\"3\">\r\n                <Grid Height=\"1\" Margin=\"-1,0,0,-1\"/>\r\n                <controls:DropShadowPanel.Clip>\r\n                    <RectangleGeometry Rect=\"0,-12,1024,12\"></RectangleGeometry>\r\n                </controls:DropShadowPanel.Clip>\r\n            </controls:DropShadowPanel>\r\n\r\n            <ContentPresenter Grid.Row=\"1\"\r\n                              Grid.Column=\"3\"\r\n                              HorizontalAlignment=\"Left\"\r\n                              Content=\"{TemplateBinding SetsActionHeader}\"\r\n                              ContentTemplate=\"{TemplateBinding SetsActionHeaderTemplate}\" />\r\n\r\n            <!--  Shadow under Padding area (23040 = 3 x 8k resolution in width just in case) -->\r\n            <controls:DropShadowPanel    \r\n                Style=\"{StaticResource BottomEdgeShadowStyle}\"\r\n                Grid.Row=\"1\"\r\n                Grid.Column=\"4\">\r\n                <Grid Height=\"1\" Margin=\"0,0,0,-1\"/>\r\n                <controls:DropShadowPanel.Clip>\r\n                    <RectangleGeometry Rect=\"0,-12,23040,12\"></RectangleGeometry>\r\n                </controls:DropShadowPanel.Clip>\r\n            </controls:DropShadowPanel>\r\n\r\n            <ContentPresenter Grid.Row=\"1\"\r\n                              Grid.Column=\"4\"\r\n                              HorizontalAlignment=\"Stretch\"\r\n                              Content=\"{TemplateBinding SetsPaddingHeader}\"\r\n                              ContentTemplate=\"{TemplateBinding SetsPaddingHeaderTemplate}\" />\r\n\r\n            <!--  Shadow under SetsEndHeader  -->\r\n            <controls:DropShadowPanel\r\n                Style=\"{StaticResource BottomEdgeShadowStyle}\"\r\n                Grid.Row=\"1\"\r\n                Grid.Column=\"5\">\r\n                <Grid Height=\"1\" Margin=\"0,0,0,-1\"/>\r\n                <controls:DropShadowPanel.Clip>\r\n                    <RectangleGeometry Rect=\"0,-12,1024,12\"></RectangleGeometry>\r\n                </controls:DropShadowPanel.Clip>\r\n            </controls:DropShadowPanel>\r\n\r\n            <ContentPresenter Grid.Row=\"1\"\r\n                              Grid.Column=\"5\"\r\n                              Content=\"{TemplateBinding SetsEndHeader}\"\r\n                              ContentTemplate=\"{TemplateBinding SetsEndHeaderTemplate}\" />\r\n\r\n            <ContentPresenter x:Name=\"SetsContentPresenter\"\r\n                              Canvas.ZIndex=\"100\"\r\n                              Grid.Row=\"2\"\r\n                              Grid.ColumnSpan=\"6\" \r\n                              Grid.Column=\"0\"\r\n                              Background=\"{ThemeResource SetsViewItemHeaderBackgroundPressed}\"\r\n                              BorderBrush=\"{TemplateBinding BorderBrush}\"\r\n                              BorderThickness=\"{TemplateBinding BorderThickness}\" />\r\n\r\n            <!--  Shadow above Footer  -->\r\n            <controls:DropShadowPanel    \r\n                Style=\"{StaticResource TopEdgeShadowStyle}\"\r\n                Canvas.ZIndex=\"50\"\r\n                Grid.Row=\"3\"\r\n                Grid.ColumnSpan=\"6\" \r\n                Grid.Column=\"0\">\r\n                <Grid Height=\"1\"/>\r\n                <controls:DropShadowPanel.Clip>\r\n                    <RectangleGeometry Rect=\"0,0,23040,12\"></RectangleGeometry>\r\n                </controls:DropShadowPanel.Clip>\r\n            </controls:DropShadowPanel>\r\n\r\n            <ContentPresenter Grid.Row=\"3\"\r\n                              Canvas.ZIndex=\"50\"\r\n                              Grid.ColumnSpan=\"6\" Grid.Column=\"0\"\r\n                              Content=\"{TemplateBinding Footer}\"\r\n                              ContentTemplate=\"{TemplateBinding FooterTemplate}\" />\r\n        </Grid>\r\n    </ControlTemplate>\r\n\r\n    <!--  Based on Style for ListViewItemExpanded Template - https://msdn.microsoft.com/en-us/library/windows/apps/mt299136.aspx  -->\r\n    <ControlTemplate x:Key=\"SetsViewItemHeaderTemplate\"\r\n                     TargetType=\"controls:SetsViewItem\">\r\n        <Grid x:Name=\"LayoutRoot\"\r\n              ui:FrameworkElementExtensions.AncestorType=\"controls:SetsView\"\r\n              Background=\"{TemplateBinding Background}\"\r\n              BorderBrush=\"{TemplateBinding BorderBrush}\"\r\n              BorderThickness=\"{TemplateBinding BorderThickness}\"\r\n              Control.IsTemplateFocusTarget=\"True\"\r\n              FocusVisualMargin=\"{TemplateBinding FocusVisualMargin}\"\r\n              RenderTransformOrigin=\"0.5,0.5\">\r\n            <Grid.BackgroundTransition>\r\n                <BrushTransition />\r\n            </Grid.BackgroundTransition>\r\n            <Grid.RenderTransform>\r\n                <ScaleTransform x:Name=\"LayoutRootScale\" />\r\n            </Grid.RenderTransform>\r\n\r\n            <controls:DropShadowPanel \r\n                x:Name=\"ItemLeftSideShadow\"\r\n                Style=\"{StaticResource SideEdgeShadowStyle}\"\r\n                HorizontalAlignment=\"Left\">\r\n\r\n                <controls:DropShadowPanel.Clip>\r\n                    <RectangleGeometry Rect=\"-8,0,8,32\"></RectangleGeometry>\r\n                </controls:DropShadowPanel.Clip>\r\n\r\n                <Grid Width=\"1\"/>\r\n\r\n            </controls:DropShadowPanel>\r\n\r\n            <controls:DropShadowPanel \r\n                x:Name=\"ItemRightSideShadow\"\r\n                Style=\"{StaticResource SideEdgeShadowStyle}\"\r\n                HorizontalAlignment=\"Right\">\r\n\r\n                <controls:DropShadowPanel.Clip>\r\n                    <RectangleGeometry Rect=\"1,0,8,32\"></RectangleGeometry>\r\n                </controls:DropShadowPanel.Clip>\r\n\r\n                <Grid Width=\"1\"/>\r\n\r\n            </controls:DropShadowPanel>\r\n\r\n            <controls:DropShadowPanel\r\n                x:Name=\"ItemBottomSideShadow\"\r\n                Style=\"{StaticResource BottomEdgeShadowStyle}\">\r\n                <Grid Height=\"1\"/>\r\n            </controls:DropShadowPanel>\r\n\r\n            <Rectangle x:Name=\"SelectionIndicator\"\r\n                       Height=\"2\"\r\n                       Margin=\"0,-1\"\r\n                       VerticalAlignment=\"Top\"\r\n                       Fill=\"{TemplateBinding SelectionIndicatorForeground}\"\r\n                       Opacity=\"0\">\r\n            </Rectangle>\r\n\r\n            <Border x:Name=\"LeftSideSeparator\"\r\n                    Grid.Column=\"0\"\r\n                    HorizontalAlignment=\"Left\"\r\n                    Visibility=\"Collapsed\"\r\n                    Width=\"1\"\r\n                    BorderBrush=\"{ThemeResource SystemControlBackgroundBaseLowRevealBorderBrush}\"\r\n                    BorderThickness=\"1\"\r\n                    Margin=\"0,6,0,6\"/>\r\n\r\n            <Border x:Name=\"RightSideSeparator\"\r\n                    HorizontalAlignment=\"Right\"\r\n                    Visibility=\"Collapsed\"\r\n                    Width=\"1\"\r\n                    BorderBrush=\"{ThemeResource SystemControlBackgroundBaseLowRevealBorderBrush}\"\r\n                    BorderThickness=\"1\"\r\n                    Margin=\"0,6,0,6\"/>\r\n\r\n            <Grid Padding=\"{TemplateBinding Padding}\">\r\n                <Grid x:Name=\"ContentPresenterGrid\">\r\n                    <Grid.RenderTransform>\r\n                        <TranslateTransform x:Name=\"ContentPresenterTranslateTransform\" />\r\n                    </Grid.RenderTransform>\r\n                    <Grid.ColumnDefinitions>\r\n                        <ColumnDefinition Width=\"Auto\" />\r\n                        <ColumnDefinition Width=\"*\" />\r\n                        <ColumnDefinition Width=\"Auto\" />\r\n                    </Grid.ColumnDefinitions>\r\n                    <!--  Modifications of default ListViewItem Template for our Set Here  -->\r\n                    <Viewbox x:Name=\"IconBox\"\r\n                             MaxWidth=\"{ThemeResource SetsViewItemHeaderIconSize}\"\r\n                             MaxHeight=\"{ThemeResource SetsViewItemHeaderIconSize}\"\r\n                             Margin=\"{ThemeResource SetsViewItemHeaderIconMargin}\"\r\n                             Visibility=\"{Binding Icon, Converter={StaticResource NullVisibilityConverter}, RelativeSource={RelativeSource TemplatedParent}}\">\r\n                        <ContentPresenter x:Name=\"Icon\"\r\n                                          Content=\"{TemplateBinding Icon}\"\r\n                                          Foreground=\"{TemplateBinding Foreground}\" />\r\n                    </Viewbox>\r\n                    <ContentPresenter x:Name=\"ContentPresenter\"\r\n                                      Grid.Column=\"1\"\r\n                                      HorizontalAlignment=\"{TemplateBinding HorizontalContentAlignment}\"\r\n                                      VerticalAlignment=\"{TemplateBinding VerticalContentAlignment}\"\r\n                                      Content=\"{TemplateBinding Header}\"\r\n                                      ContentTemplate=\"{TemplateBinding HeaderTemplate}\"\r\n                                      ContentTransitions=\"{TemplateBinding ContentTransitions}\"\r\n                                      FontWeight=\"{TemplateBinding FontWeight}\"\r\n                                      OpticalMarginAlignment=\"TrimSideBearings\" />\r\n                    <!--  Use grid to toggle visibility based on IsClosable property and inner border for hover animations.  -->\r\n                    <Border x:Name=\"CloseButtonContainer\"\r\n                            Grid.Column=\"2\"\r\n                            Width=\"{Binding (ui:FrameworkElementExtensions.Ancestor).IsCloseButtonOverlay, Converter={StaticResource CloseCollapsingSizeConverter}, ElementName=LayoutRoot}\"\r\n                            HorizontalAlignment=\"Center\"\r\n                            Visibility=\"{Binding IsClosable, Converter={StaticResource BoolToVisibilityConverter}, RelativeSource={RelativeSource TemplatedParent}}\">\r\n                        <Border x:Name=\"CloseButtonBorder\"\r\n                                Width=\"{StaticResource SetsViewItemHeaderCloseWidth}\"\r\n                                Margin=\"{ThemeResource SetsViewItemHeaderCloseMargin}\"\r\n                                Background=\"{TemplateBinding Background}\"\r\n                                Visibility=\"Collapsed\">\r\n                            <Button x:Name=\"CloseButton\"\r\n                                    x:Uid=\"/SetsView/Resources/SetsView_CloseButton\"\r\n                                    Style=\"{StaticResource SetsViewItemCloseButtonStyle}\">\r\n                                &#xE711;\r\n                            </Button>\r\n                        </Border>\r\n                    </Border>\r\n                </Grid>\r\n            </Grid>\r\n\r\n            <VisualStateManager.VisualStateGroups>\r\n                <VisualStateGroup x:Name=\"CommonStates\">\r\n                    <VisualState x:Name=\"Normal\" />\r\n\r\n                    <VisualState x:Name=\"PointerOver\">\r\n                        <VisualState.Setters>\r\n                            <Setter Target=\"LayoutRoot.(RevealBrush.State)\" Value=\"PointerOver\" />\r\n                            <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource SetsViewItemRevealBackgroundBrush}\" />\r\n                            <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource SetsViewItemHeaderForegroundPointerOver}\" />\r\n                            <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource SetsViewItemHeaderForegroundPointerOver}\" />\r\n                        </VisualState.Setters>\r\n\r\n                        <Storyboard>\r\n                            <!--  Close Button  -->\r\n                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CloseButtonBorder\"\r\n                                                           Storyboard.TargetProperty=\"Background\">\r\n                                <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                        Value=\"{ThemeResource SystemControlHighlightTransparentBrush}\" />\r\n                            </ObjectAnimationUsingKeyFrames>\r\n                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CloseButtonBorder\"\r\n                                                           Storyboard.TargetProperty=\"Visibility\">\r\n                                <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                        Value=\"Visible\" />\r\n                            </ObjectAnimationUsingKeyFrames>\r\n                        </Storyboard>\r\n                    </VisualState>\r\n\r\n                    <VisualState x:Name=\"Pressed\">\r\n                        <VisualState.Setters>\r\n                            <Setter Target=\"LayoutRoot.(RevealBrush.State)\" Value=\"Pressed\" />\r\n                            <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource SetsViewItemRevealBackgroundBrush}\" />\r\n                            <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource SetsViewItemHeaderForegroundPressed}\" />\r\n                            <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource SetsViewItemHeaderForegroundPressed}\" />\r\n                            <Setter Target=\"SelectionIndicator.Opacity\" Value=\"0.4\" />\r\n                        </VisualState.Setters>\r\n                    </VisualState>\r\n\r\n                    <VisualState x:Name=\"Selected\">\r\n                        <VisualState.Setters>\r\n                            <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource SetsViewItemHeaderBackgroundSelected}\" />\r\n                            <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource SetsViewItemHeaderForegroundSelected}\" />\r\n                            <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource SetsViewItemHeaderForegroundSelected}\" />\r\n                        </VisualState.Setters>\r\n\r\n                        <Storyboard>\r\n                            <!--  Selected Bar  -->\r\n                            <DoubleAnimation Storyboard.TargetName=\"SelectionIndicator\"\r\n                                             Storyboard.TargetProperty=\"Opacity\"\r\n                                             To=\"1\"\r\n                                             Duration=\"0\" />\r\n\r\n                            <!--  Close Button  -->\r\n                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CloseButtonBorder\"\r\n                                                           Storyboard.TargetProperty=\"Background\">\r\n                                <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                        Value=\"{ThemeResource SystemControlHighlightTransparentBrush}\" />\r\n                            </ObjectAnimationUsingKeyFrames>\r\n                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CloseButtonBorder\"\r\n                                                           Storyboard.TargetProperty=\"Visibility\">\r\n                                <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                        Value=\"Visible\" />\r\n                            </ObjectAnimationUsingKeyFrames>\r\n\r\n                            <!--  Left, right and bottom shadows  -->\r\n                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ItemLeftSideShadow\"\r\n                                                           Storyboard.TargetProperty=\"Visibility\">\r\n                                <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                        Value=\"Visible\" />\r\n                            </ObjectAnimationUsingKeyFrames>\r\n                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ItemRightSideShadow\"\r\n                                                           Storyboard.TargetProperty=\"Visibility\">\r\n                                <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                        Value=\"Visible\" />\r\n                            </ObjectAnimationUsingKeyFrames>\r\n                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ItemBottomSideShadow\"\r\n                                                           Storyboard.TargetProperty=\"Visibility\">\r\n                                <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                        Value=\"Collapsed\" />\r\n                            </ObjectAnimationUsingKeyFrames>\r\n                        </Storyboard>\r\n                    </VisualState>\r\n\r\n                    <VisualState x:Name=\"PointerOverSelected\">\r\n                        <VisualState.Setters>\r\n                            <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource SetsViewItemHeaderBackgroundPointerOver}\" />\r\n                            <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource SetsViewItemHeaderForegroundPointerOver}\" />\r\n                            <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource SetsViewItemHeaderForegroundPointerOver}\" />\r\n                        </VisualState.Setters>\r\n\r\n                        <Storyboard>\r\n                            <!--  Selected Bar  -->\r\n                            <DoubleAnimation Storyboard.TargetName=\"SelectionIndicator\"\r\n                                             Storyboard.TargetProperty=\"Opacity\"\r\n                                             To=\"1\"\r\n                                             Duration=\"0\" />\r\n\r\n                            <!--  Close Button  -->\r\n                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CloseButtonBorder\"\r\n                                                           Storyboard.TargetProperty=\"Background\">\r\n                                <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                        Value=\"{ThemeResource SystemControlHighlightTransparentBrush}\" />\r\n                            </ObjectAnimationUsingKeyFrames>\r\n                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CloseButtonBorder\"\r\n                                                           Storyboard.TargetProperty=\"Visibility\">\r\n                                <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                        Value=\"Visible\" />\r\n                            </ObjectAnimationUsingKeyFrames>\r\n\r\n                            <!--  Left, right and bottom shadows  -->\r\n                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ItemLeftSideShadow\"\r\n                                                           Storyboard.TargetProperty=\"Visibility\">\r\n                                <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                        Value=\"Visible\" />\r\n                            </ObjectAnimationUsingKeyFrames>\r\n                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ItemRightSideShadow\"\r\n                                                           Storyboard.TargetProperty=\"Visibility\">\r\n                                <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                        Value=\"Visible\" />\r\n                            </ObjectAnimationUsingKeyFrames>\r\n                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ItemBottomSideShadow\"\r\n                                                           Storyboard.TargetProperty=\"Visibility\">\r\n                                <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                        Value=\"Collapsed\" />\r\n                            </ObjectAnimationUsingKeyFrames>\r\n                        </Storyboard>\r\n                    </VisualState>\r\n\r\n                    <VisualState x:Name=\"PressedSelected\">\r\n                        <VisualState.Setters>\r\n                            <Setter Target=\"LayoutRoot.Background\" Value=\"{ThemeResource SetsViewItemHeaderBackgroundSelected}\" />\r\n                            <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource SetsViewItemHeaderForegroundPressed}\" />\r\n                            <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource SetsViewItemHeaderForegroundPressed}\" />\r\n                        </VisualState.Setters>\r\n\r\n                        <Storyboard>\r\n                            <!--  Selected Bar  -->\r\n                            <DoubleAnimation Storyboard.TargetName=\"SelectionIndicator\"\r\n                                             Storyboard.TargetProperty=\"Opacity\"\r\n                                             To=\"1\"\r\n                                             Duration=\"0\" />\r\n\r\n                            <!--  Close Button  -->\r\n                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CloseButtonBorder\"\r\n                                                           Storyboard.TargetProperty=\"Background\">\r\n                                <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                        Value=\"{ThemeResource SystemControlHighlightTransparentBrush}\" />\r\n                            </ObjectAnimationUsingKeyFrames>\r\n                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"CloseButtonBorder\"\r\n                                                           Storyboard.TargetProperty=\"Visibility\">\r\n                                <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                        Value=\"Visible\" />\r\n                            </ObjectAnimationUsingKeyFrames>\r\n\r\n                            <!--  Left, right and bottom shadows  -->\r\n                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ItemLeftSideShadow\"\r\n                                                           Storyboard.TargetProperty=\"Visibility\">\r\n                                <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                        Value=\"Visible\" />\r\n                            </ObjectAnimationUsingKeyFrames>\r\n                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ItemRightSideShadow\"\r\n                                                           Storyboard.TargetProperty=\"Visibility\">\r\n                                <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                        Value=\"Visible\" />\r\n                            </ObjectAnimationUsingKeyFrames>\r\n                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ItemBottomSideShadow\"\r\n                                                           Storyboard.TargetProperty=\"Visibility\">\r\n                                <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                        Value=\"Collapsed\" />\r\n                            </ObjectAnimationUsingKeyFrames>\r\n                        </Storyboard>\r\n                    </VisualState>\r\n                </VisualStateGroup>\r\n\r\n                <VisualStateGroup x:Name=\"DisabledStates\">\r\n                    <VisualState x:Name=\"Enabled\" />\r\n\r\n                    <VisualState x:Name=\"Disabled\">\r\n                        <VisualState.Setters>\r\n                            <Setter Target=\"Icon.Foreground\" Value=\"{ThemeResource SetsViewItemHeaderForegroundDisabled}\" />\r\n                            <Setter Target=\"ContentPresenter.Foreground\" Value=\"{ThemeResource SetsViewItemHeaderForegroundDisabled}\" />\r\n                        </VisualState.Setters>\r\n                    </VisualState>\r\n                </VisualStateGroup>\r\n\r\n                <VisualStateGroup x:Name=\"DataVirtualizationStates\">\r\n                    <VisualState x:Name=\"DataAvailable\" />\r\n\r\n                    <VisualState x:Name=\"DataPlaceholder\" />\r\n                </VisualStateGroup>\r\n\r\n                <VisualStateGroup x:Name=\"ReorderHintStates\">\r\n                    <VisualState x:Name=\"NoReorderHint\" />\r\n\r\n                    <VisualState x:Name=\"BottomReorderHint\">\r\n                        <Storyboard>\r\n                            <DragOverThemeAnimation Direction=\"Bottom\"\r\n                                                    ToOffset=\"{ThemeResource ListViewItemReorderHintThemeOffset}\"\r\n                                                    TargetName=\"LayoutRoot\" />\r\n                        </Storyboard>\r\n                    </VisualState>\r\n\r\n                    <VisualState x:Name=\"TopReorderHint\">\r\n                        <Storyboard>\r\n                            <DragOverThemeAnimation Direction=\"Top\"\r\n                                                    ToOffset=\"{ThemeResource ListViewItemReorderHintThemeOffset}\"\r\n                                                    TargetName=\"LayoutRoot\" />\r\n                        </Storyboard>\r\n                    </VisualState>\r\n\r\n                    <VisualState x:Name=\"RightReorderHint\">\r\n                        <Storyboard>\r\n                            <DragOverThemeAnimation Direction=\"Right\"\r\n                                                    ToOffset=\"{ThemeResource ListViewItemReorderHintThemeOffset}\"\r\n                                                    TargetName=\"LayoutRoot\" />\r\n                        </Storyboard>\r\n                    </VisualState>\r\n\r\n                    <VisualState x:Name=\"LeftReorderHint\">\r\n                        <Storyboard>\r\n                            <DragOverThemeAnimation Direction=\"Left\"\r\n                                                    ToOffset=\"{ThemeResource ListViewItemReorderHintThemeOffset}\"\r\n                                                    TargetName=\"LayoutRoot\" />\r\n                        </Storyboard>\r\n                    </VisualState>\r\n\r\n                    <VisualStateGroup.Transitions>\r\n                        <VisualTransition GeneratedDuration=\"0:0:0.2\"\r\n                                          To=\"NoReorderHint\" />\r\n                    </VisualStateGroup.Transitions>\r\n                </VisualStateGroup>\r\n\r\n                <VisualStateGroup x:Name=\"DragStates\">\r\n                    <VisualState x:Name=\"NotDragging\" />\r\n\r\n                    <VisualState x:Name=\"Dragging\">\r\n                        <Storyboard>\r\n                            <DoubleAnimation Storyboard.TargetName=\"LayoutRoot\"\r\n                                             Storyboard.TargetProperty=\"Opacity\"\r\n                                             To=\"{ThemeResource ListViewItemDragThemeOpacity}\"\r\n                                             Duration=\"0\" />\r\n                            <DragItemThemeAnimation TargetName=\"LayoutRoot\" />\r\n                        </Storyboard>\r\n                    </VisualState>\r\n\r\n                    <VisualState x:Name=\"DraggingTarget\" />\r\n\r\n                    <VisualState x:Name=\"MultipleDraggingPrimary\" />\r\n\r\n                    <VisualState x:Name=\"MultipleDraggingSecondary\" />\r\n\r\n                    <VisualState x:Name=\"DraggedPlaceholder\" />\r\n\r\n                    <VisualState x:Name=\"Reordering\">\r\n                        <Storyboard>\r\n                            <DoubleAnimation Storyboard.TargetName=\"LayoutRoot\"\r\n                                             Storyboard.TargetProperty=\"Opacity\"\r\n                                             To=\"{ThemeResource ListViewItemReorderThemeOpacity}\"\r\n                                             Duration=\"0:0:0.240\" />\r\n                        </Storyboard>\r\n                    </VisualState>\r\n\r\n                    <VisualState x:Name=\"ReorderingTarget\">\r\n                        <Storyboard>\r\n                            <DoubleAnimation Storyboard.TargetName=\"LayoutRoot\"\r\n                                             Storyboard.TargetProperty=\"Opacity\"\r\n                                             To=\"{ThemeResource ListViewItemReorderTargetThemeOpacity}\"\r\n                                             Duration=\"0:0:0.240\" />\r\n                            <DoubleAnimation Storyboard.TargetName=\"LayoutRootScale\"\r\n                                             Storyboard.TargetProperty=\"ScaleX\"\r\n                                             To=\"{ThemeResource ListViewItemReorderTargetThemeScale}\"\r\n                                             Duration=\"0:0:0.240\" />\r\n                            <DoubleAnimation Storyboard.TargetName=\"LayoutRootScale\"\r\n                                             Storyboard.TargetProperty=\"ScaleY\"\r\n                                             To=\"{ThemeResource ListViewItemReorderTargetThemeScale}\"\r\n                                             Duration=\"0:0:0.240\" />\r\n                        </Storyboard>\r\n                    </VisualState>\r\n\r\n                    <VisualState x:Name=\"MultipleReorderingPrimary\" />\r\n\r\n                    <VisualState x:Name=\"ReorderedPlaceholder\">\r\n                        <Storyboard>\r\n                            <FadeOutThemeAnimation TargetName=\"LayoutRoot\" />\r\n                        </Storyboard>\r\n                    </VisualState>\r\n\r\n                    <VisualState x:Name=\"DragOver\">\r\n                        <Storyboard>\r\n                            <DropTargetItemThemeAnimation TargetName=\"LayoutRoot\" />\r\n                        </Storyboard>\r\n                    </VisualState>\r\n\r\n                    <VisualStateGroup.Transitions>\r\n                        <VisualTransition GeneratedDuration=\"0:0:0.2\"\r\n                                          To=\"NotDragging\" />\r\n                    </VisualStateGroup.Transitions>\r\n                </VisualStateGroup>\r\n            </VisualStateManager.VisualStateGroups>\r\n        </Grid>\r\n    </ControlTemplate>\r\n\r\n    <!--  Based on Style for Windows.UI.Xaml.Controls.ListViewItem  -->\r\n    <Style TargetType=\"controls:SetsViewItem\">\r\n        <Setter Property=\"FontFamily\" Value=\"{ThemeResource ContentControlThemeFontFamily}\" />\r\n        <Setter Property=\"FontSize\" Value=\"{ThemeResource ControlContentThemeFontSize}\" />\r\n        <Setter Property=\"FontWeight\" Value=\"Normal\" />\r\n        <Setter Property=\"BorderBrush\" Value=\"{ThemeResource SetsViewItemHeaderRevealBorderBrush}\" />\r\n        <Setter Property=\"BorderThickness\" Value=\"{ThemeResource SetsViewItemHeaderBorderThickness}\" />\r\n        <Setter Property=\"Background\" Value=\"{ThemeResource SetsViewItemHeaderBackground}\" />\r\n        <Setter Property=\"Foreground\" Value=\"{ThemeResource SetsViewItemHeaderForeground}\" />\r\n        <Setter Property=\"Margin\" Value=\"{ThemeResource SetsViewItemHeaderMargin}\" />\r\n        <Setter Property=\"TabNavigation\" Value=\"Local\" />\r\n        <Setter Property=\"IsHoldingEnabled\" Value=\"True\" />\r\n        <Setter Property=\"Padding\" Value=\"8,0,4,0\" />\r\n        <Setter Property=\"HorizontalContentAlignment\" Value=\"Left\" />\r\n        <Setter Property=\"VerticalContentAlignment\" Value=\"Center\" />\r\n        <Setter Property=\"MinWidth\" Value=\"{ThemeResource SetsViewItemHeaderMinWidth}\" />\r\n        <Setter Property=\"MinHeight\" Value=\"{ThemeResource SetsViewItemHeaderMinHeight}\" />\r\n        <Setter Property=\"MaxWidth\" Value=\"{ThemeResource SetsViewItemHeaderMaxWidth}\" />\r\n        <Setter Property=\"UseSystemFocusVisuals\" Value=\"True\" />\r\n        <Setter Property=\"FocusVisualMargin\" Value=\"0\" />\r\n        <Setter Property=\"IsClosable\" Value=\"False\" />\r\n        <Setter Property=\"SelectionIndicatorForeground\" Value=\"{ThemeResource SetsViewSelectionIndicatorForeground}\"/>\r\n        <Setter Property=\"Template\" Value=\"{StaticResource SetsViewItemHeaderTemplate}\" />\r\n    </Style>\r\n\r\n    <Style x:Key=\"SetsViewItemCloseButtonStyle\"\r\n           TargetType=\"Button\">\r\n        <Setter Property=\"Background\" Value=\"Transparent\" />\r\n        <Setter Property=\"BorderThickness\" Value=\"0\" />\r\n        <Setter Property=\"Foreground\" Value=\"{ThemeResource SystemControlForegroundBaseMediumHighBrush}\" />\r\n        <Setter Property=\"Padding\" Value=\"0\" />\r\n        <Setter Property=\"Margin\" Value=\"2,0,2,0\" />\r\n        <Setter Property=\"HorizontalAlignment\" Value=\"Center\" />\r\n        <Setter Property=\"VerticalAlignment\" Value=\"Center\" />\r\n        <Setter Property=\"FontFamily\" Value=\"Segoe MDL2 Assets\" />\r\n        <Setter Property=\"FontWeight\" Value=\"Normal\" />\r\n        <Setter Property=\"FontSize\" Value=\"14\" />\r\n        <Setter Property=\"UseSystemFocusVisuals\" Value=\"True\" />\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"Button\">\r\n                    <Grid x:Name=\"RootGrid\"\r\n                          Background=\"{TemplateBinding Background}\">\r\n                        <ContentPresenter x:Name=\"ContentPresenter\"\r\n                                          Padding=\"{TemplateBinding Padding}\"\r\n                                          HorizontalContentAlignment=\"{TemplateBinding HorizontalContentAlignment}\"\r\n                                          VerticalContentAlignment=\"{TemplateBinding VerticalContentAlignment}\"\r\n                                          AutomationProperties.AccessibilityView=\"Raw\"\r\n                                          BorderBrush=\"{TemplateBinding BorderBrush}\"\r\n                                          BorderThickness=\"{TemplateBinding BorderThickness}\"\r\n                                          Content=\"{TemplateBinding Content}\"\r\n                                          ContentTemplate=\"{TemplateBinding ContentTemplate}\"\r\n                                          ContentTransitions=\"{TemplateBinding ContentTransitions}\" />\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"CommonStates\">\r\n                                <VisualState x:Name=\"Normal\">\r\n                                    <Storyboard>\r\n                                        <PointerUpThemeAnimation Storyboard.TargetName=\"RootGrid\" />\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"PointerOver\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\"\r\n                                                                       Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                                    Value=\"{ThemeResource ButtonPointerOverForegroundThemeBrush}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <PointerUpThemeAnimation Storyboard.TargetName=\"RootGrid\" />\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Pressed\">\r\n                                    <Storyboard>\r\n                                        <!--<ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\"\r\n                                                   Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource SystemControlBackgroundBaseMediumLowBrush}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>-->\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\"\r\n                                                                       Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                                    Value=\"{ThemeResource SystemControlHighlightTransparentBrush}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\"\r\n                                                                       Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                                    Value=\"{ThemeResource SystemControlHighlightBaseHighBrush}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <PointerDownThemeAnimation Storyboard.TargetName=\"RootGrid\" />\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Disabled\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"RootGrid\"\r\n                                                                       Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                                    Value=\"{ThemeResource SystemControlBackgroundBaseLowBrush}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\"\r\n                                                                       Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                                    Value=\"{ThemeResource SystemControlDisabledBaseMediumLowBrush}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\"\r\n                                                                       Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\"\r\n                                                                    Value=\"{ThemeResource SystemControlDisabledTransparentBrush}\" />\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n                    </Grid>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n\r\n    <Style x:Key=\"SetsViewRepeatButtonStyle\" TargetType=\"RepeatButton\">\r\n        <Setter Property=\"Background\" Value=\"{ThemeResource RepeatButtonRevealBackground}\"/>\r\n        <Setter Property=\"BackgroundSizing\" Value=\"OuterBorderEdge\"/>\r\n        <Setter Property=\"Foreground\" Value=\"{ThemeResource RepeatButtonForeground}\"/>\r\n        <Setter Property=\"BorderBrush\" Value=\"{ThemeResource RepeatButtonRevealBorderBrush}\"/>\r\n        <Setter Property=\"BorderThickness\" Value=\"{ThemeResource ButtonBorderThemeThickness}\"/>\r\n        <Setter Property=\"Padding\" Value=\"{StaticResource ButtonPadding}\"/>\r\n        <Setter Property=\"HorizontalAlignment\" Value=\"Left\"/>\r\n        <Setter Property=\"VerticalAlignment\" Value=\"Center\"/>\r\n        <Setter Property=\"FontFamily\" Value=\"{ThemeResource ContentControlThemeFontFamily}\"/>\r\n        <Setter Property=\"FontWeight\" Value=\"Normal\"/>\r\n        <Setter Property=\"FontSize\" Value=\"{ThemeResource ControlContentThemeFontSize}\"/>\r\n        <Setter Property=\"UseSystemFocusVisuals\" Value=\"{StaticResource UseSystemFocusVisuals}\"/>\r\n        <Setter Property=\"FocusVisualMargin\" Value=\"-3\"/>\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"RepeatButton\">\r\n                    <ContentPresenter x:Name=\"ContentPresenter\" AutomationProperties.AccessibilityView=\"Raw\" BackgroundSizing=\"{TemplateBinding BackgroundSizing}\" Background=\"{TemplateBinding Background}\" BorderThickness=\"{TemplateBinding BorderThickness}\" BorderBrush=\"{TemplateBinding BorderBrush}\" ContentTemplate=\"{TemplateBinding ContentTemplate}\" Content=\"{TemplateBinding Content}\" CornerRadius=\"{TemplateBinding CornerRadius}\" ContentTransitions=\"{TemplateBinding ContentTransitions}\" HorizontalContentAlignment=\"{TemplateBinding HorizontalContentAlignment}\" Padding=\"{TemplateBinding Padding}\" VerticalContentAlignment=\"{TemplateBinding VerticalContentAlignment}\">\r\n                        <VisualStateManager.VisualStateGroups>\r\n                            <VisualStateGroup x:Name=\"CommonStates\">\r\n                                <VisualState x:Name=\"Normal\"/>\r\n                                <VisualState x:Name=\"PointerOver\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RepeatButtonBackgroundPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RepeatButtonBorderBrushPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RepeatButtonForegroundPointerOver}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Pressed\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RepeatButtonBackgroundPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RepeatButtonBorderBrushPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RepeatButtonForegroundPressed}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                                <VisualState x:Name=\"Disabled\">\r\n                                    <Storyboard>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Background\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource HyperlinkButtonBackgroundDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"BorderBrush\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RepeatButtonBorderBrushDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName=\"ContentPresenter\" Storyboard.TargetProperty=\"Foreground\">\r\n                                            <DiscreteObjectKeyFrame KeyTime=\"0\" Value=\"{ThemeResource RepeatButtonForegroundDisabled}\"/>\r\n                                        </ObjectAnimationUsingKeyFrames>\r\n                                    </Storyboard>\r\n                                </VisualState>\r\n                            </VisualStateGroup>\r\n                        </VisualStateManager.VisualStateGroups>\r\n                    </ContentPresenter>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n\r\n    <Style x:Key=\"SetsViewScrollViewer\"\r\n           TargetType=\"ScrollViewer\">\r\n        <Setter Property=\"HorizontalScrollMode\" Value=\"Auto\" />\r\n        <Setter Property=\"VerticalScrollMode\" Value=\"Auto\" />\r\n        <Setter Property=\"IsHorizontalRailEnabled\" Value=\"True\" />\r\n        <Setter Property=\"IsVerticalRailEnabled\" Value=\"True\" />\r\n        <Setter Property=\"IsTabStop\" Value=\"False\" />\r\n        <Setter Property=\"ZoomMode\" Value=\"Disabled\" />\r\n        <Setter Property=\"HorizontalContentAlignment\" Value=\"Left\" />\r\n        <Setter Property=\"VerticalContentAlignment\" Value=\"Top\" />\r\n        <Setter Property=\"VerticalScrollBarVisibility\" Value=\"Visible\" />\r\n        <Setter Property=\"Padding\" Value=\"0\" />\r\n        <Setter Property=\"BorderThickness\" Value=\"1,0,0,0\" />\r\n        <Setter Property=\"BorderBrush\" Value=\"{ThemeResource SetsViewItemHeaderRevealBorderBrush}\" />\r\n        <Setter Property=\"Background\" Value=\"Transparent\" />\r\n        <Setter Property=\"UseSystemFocusVisuals\" Value=\"True\" />\r\n        <Setter Property=\"Template\">\r\n            <Setter.Value>\r\n                <ControlTemplate TargetType=\"ScrollViewer\">\r\n                    <Border x:Name=\"Root\"\r\n                            Background=\"{TemplateBinding Background}\"\r\n                            BorderBrush=\"{TemplateBinding BorderBrush}\"\r\n                            BorderThickness=\"{TemplateBinding BorderThickness}\">\r\n                        <Grid Background=\"{TemplateBinding Background}\">\r\n                            <Grid.ColumnDefinitions>\r\n                                <ColumnDefinition Width=\"Auto\" />\r\n                                <ColumnDefinition Width=\"*\" />\r\n                                <ColumnDefinition Width=\"Auto\" />\r\n                            </Grid.ColumnDefinitions>\r\n\r\n                            <!--  Scroll to the left button bottom shadow  -->\r\n                            <controls:DropShadowPanel\r\n                                Style=\"{StaticResource BottomEdgeShadowStyle}\"\r\n                                Grid.Column=\"0\">\r\n                                <Grid Height=\"1\" Margin=\"-1,0,0,-1\"/>\r\n                                <controls:DropShadowPanel.Clip>\r\n                                    <RectangleGeometry Rect=\"-1,-12,1024,12\"></RectangleGeometry>\r\n                                </controls:DropShadowPanel.Clip>\r\n                            </controls:DropShadowPanel>\r\n\r\n                            <RepeatButton x:Name=\"SetsScrollBackButton\"\r\n                                          Grid.Column=\"0\"\r\n                                          VerticalAlignment=\"Stretch\"\r\n                                          Background=\"Transparent\"\r\n                                          BorderThickness=\"1\"\r\n                                          BorderBrush =\"{ThemeResource SystemControlBackgroundTransparentRevealBorderBrush}\"\r\n                                          Delay=\"50\"\r\n                                          FontFamily=\"Segoe MDL2 Assets\"\r\n                                          Interval=\"100\"\r\n                                          Style=\"{ThemeResource SetsViewRepeatButtonStyle}\"\r\n                                          Visibility=\"{Binding ScrollableWidth, Converter={StaticResource GreaterThanToleranceVisibilityConverter}, RelativeSource={RelativeSource TemplatedParent}, FallbackValue=Collapsed, TargetNullValue=Collapsed}\">\r\n                                &#xE76B;\r\n                            </RepeatButton>\r\n\r\n                            <!--  SetsItemsScrollViewer left side shadow  -->\r\n                            <controls:DropShadowPanel \r\n                                x:Name=\"SetsItemsScrollViewerLeftSideShadow\"\r\n                                Style=\"{StaticResource SideEdgeShadowStyle}\"\r\n                                Grid.Column=\"1\" \r\n                                HorizontalAlignment=\"Left\">\r\n                                <Grid Width=\"1\"/>\r\n                                <controls:DropShadowPanel.Clip>\r\n                                    <RectangleGeometry Rect=\"-10,0,10,32\"></RectangleGeometry>\r\n                                </controls:DropShadowPanel.Clip>\r\n                            </controls:DropShadowPanel>\r\n\r\n                            <!--  SetsItemsScrollViewer right side shadow  -->\r\n                            <controls:DropShadowPanel \r\n                                x:Name=\"SetsItemsScrollViewerRightSideShadow\"\r\n                                Style=\"{StaticResource SideEdgeShadowStyle}\"\r\n                                Grid.Column=\"1\" \r\n                                HorizontalAlignment=\"Right\">\r\n                                <Grid Width=\"1\"/>\r\n                                <controls:DropShadowPanel.Clip>\r\n                                    <RectangleGeometry Rect=\"1,0,10,32\"></RectangleGeometry>\r\n                                </controls:DropShadowPanel.Clip>\r\n                            </controls:DropShadowPanel>\r\n\r\n                            <ScrollContentPresenter x:Name=\"ScrollContentPresenter\"\r\n                                                    Grid.Column=\"1\"\r\n                                                    TabFocusNavigation=\"Once\"\r\n                                                    Margin=\"{TemplateBinding Padding}\"/>\r\n\r\n                            <!--  Scroll to the right button bottom shadow  -->\r\n                            <controls:DropShadowPanel\r\n                                Style=\"{StaticResource BottomEdgeShadowStyle}\"\r\n                                Grid.Column=\"2\">\r\n                                <Grid Height=\"1\" Margin=\"0,0,0,-1\"/>\r\n                                <controls:DropShadowPanel.Clip>\r\n                                    <RectangleGeometry Rect=\"0,-12,1024,12\"></RectangleGeometry>\r\n                                </controls:DropShadowPanel.Clip>\r\n                            </controls:DropShadowPanel>\r\n\r\n                            <RepeatButton x:Name=\"SetsScrollForwardButton\"\r\n                                          Grid.Column=\"2\"\r\n                                          VerticalAlignment=\"Stretch\"\r\n                                          Background=\"Transparent\"\r\n                                          BorderThickness=\"1\"\r\n                                          BorderBrush =\"{ThemeResource SystemControlBackgroundTransparentRevealBorderBrush}\"\r\n                                          Delay=\"50\"\r\n                                          FontFamily=\"Segoe MDL2 Assets\"\r\n                                          Interval=\"100\"\r\n                                          Style=\"{ThemeResource SetsViewRepeatButtonStyle}\"\r\n                                          Visibility=\"{Binding ScrollableWidth, Converter={StaticResource GreaterThanToleranceVisibilityConverter}, RelativeSource={RelativeSource TemplatedParent}, FallbackValue=Collapsed, TargetNullValue=Collapsed}\">\r\n                                &#xE76C;\r\n                            </RepeatButton>\r\n                        </Grid>\r\n                    </Border>\r\n                </ControlTemplate>\r\n            </Setter.Value>\r\n        </Setter>\r\n    </Style>\r\n</ResourceDictionary>\r\n"
  },
  {
    "path": "src/Notepads.Controls/SetsView/SetsViewItem.Properties.cs",
    "content": "﻿// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Media;\r\n\r\n    /// <summary>\r\n    /// Item Container for a <see cref=\"SetsView\"/>.\r\n    /// </summary>\r\n    public partial class SetsViewItem\r\n    {\r\n        /// <summary>\r\n        /// Gets or sets the header content for the set.\r\n        /// </summary>\r\n        public object Header\r\n        {\r\n            get => GetValue(HeaderProperty);\r\n            set => SetValue(HeaderProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"Header\"/> dependency property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the <see cref=\"Header\"/> dependency property.</returns>\r\n        public static readonly DependencyProperty HeaderProperty =\r\n            DependencyProperty.Register(nameof(Header), typeof(object), typeof(SetsViewItem), new PropertyMetadata(null));\r\n\r\n        /// <summary>\r\n        /// Gets or sets the icon to appear in the set header.\r\n        /// </summary>\r\n        public IconElement Icon\r\n        {\r\n            get => (IconElement)GetValue(IconProperty);\r\n            set => SetValue(IconProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"Icon\"/> dependency property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the <see cref=\"Icon\"/> dependency property.</returns>\r\n        public static readonly DependencyProperty IconProperty =\r\n            DependencyProperty.Register(nameof(Icon), typeof(IconElement), typeof(SetsViewItem), new PropertyMetadata(null));\r\n\r\n        /// <summary>\r\n        /// Gets or sets the template to override for the set header.\r\n        /// </summary>\r\n        public DataTemplate HeaderTemplate\r\n        {\r\n            get => (DataTemplate)GetValue(HeaderTemplateProperty);\r\n            set => SetValue(HeaderTemplateProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"HeaderTemplate\"/> dependency property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the <see cref=\"HeaderTemplate\"/> dependency property.</returns>\r\n        public static readonly DependencyProperty HeaderTemplateProperty =\r\n            DependencyProperty.Register(nameof(HeaderTemplate), typeof(DataTemplate), typeof(SetsViewItem), new PropertyMetadata(null));\r\n\r\n        /// <summary>\r\n        /// Gets or sets a value indicating whether the set can be closed by the user with the close button.\r\n        /// </summary>\r\n        public bool IsClosable\r\n        {\r\n            get => (bool)GetValue(IsClosableProperty);\r\n            set => SetValue(IsClosableProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"IsClosable\"/> dependency property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the <see cref=\"IsClosable\"/> dependency property.</returns>\r\n        public static readonly DependencyProperty IsClosableProperty =\r\n            DependencyProperty.Register(nameof(IsClosable), typeof(bool), typeof(SetsViewItem), new PropertyMetadata(null));\r\n\r\n        /// <summary>\r\n        /// Gets or sets the selection indicator brush\r\n        /// </summary>\r\n        public Brush SelectionIndicatorForeground\r\n        {\r\n            get => (Brush)GetValue(SelectionIndicatorForegroundProperty);\r\n            set => SetValue(SelectionIndicatorForegroundProperty, value);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Identifies the <see cref=\"SelectionIndicatorForeground\"/> dependency property.\r\n        /// </summary>\r\n        /// <returns>The identifier for the <see cref=\"SelectionIndicatorForeground\"/> dependency property.</returns>\r\n        public static readonly DependencyProperty SelectionIndicatorForegroundProperty =\r\n            DependencyProperty.Register(nameof(SelectionIndicatorForeground), typeof(Brush), typeof(SetsViewItem), new PropertyMetadata(null));\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/SetsView/SetsViewItem.cs",
    "content": "﻿// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using System;\r\n    using Windows.Devices.Input;\r\n    using Windows.System;\r\n    using Windows.UI;\r\n    using Windows.UI.Core;\r\n    using Windows.UI.Input;\r\n    using Windows.UI.Xaml;\r\n    using Windows.UI.Xaml.Controls;\r\n    using Windows.UI.Xaml.Controls.Primitives;\r\n    using Windows.UI.Xaml.Input;\r\n    using Windows.UI.Xaml.Media;\r\n    using Windows.UI.Xaml.Shapes;\r\n\r\n    /// <summary>\r\n    /// Item Container for a <see cref=\"SetsView\"/>.\r\n    /// </summary>\r\n    [TemplatePart(Name = SetCloseButtonName, Type = typeof(ButtonBase))]\r\n    [TemplatePart(Name = SetLeftSideSeparatorName, Type = typeof(Border))]\r\n    [TemplatePart(Name = SetRightSideSeparatorName, Type = typeof(Border))]\r\n    [TemplatePart(Name = SetSelectionIndicatorName, Type = typeof(Rectangle))]\r\n    public partial class SetsViewItem : ListViewItem\r\n    {\r\n        private const string SetCloseButtonName = \"CloseButton\";\r\n\r\n        private const string SetLeftSideSeparatorName = \"LeftSideSeparator\";\r\n\r\n        private const string SetRightSideSeparatorName = \"RightSideSeparator\";\r\n\r\n        private const string SetSelectionIndicatorName = \"SelectionIndicator\";\r\n\r\n        private ButtonBase _setCloseButton;\r\n\r\n        private Border _setLeftSideSeparator;\r\n\r\n        private Border _setRightSideSeparator;\r\n\r\n        private Rectangle _setSelectionIndicator;\r\n\r\n        private bool _isMiddleClick;\r\n\r\n        /// <summary>\r\n        /// Initializes a new instance of the <see cref=\"SetsViewItem\"/> class.\r\n        /// </summary>\r\n        public SetsViewItem()\r\n        {\r\n            DefaultStyleKey = typeof(SetsViewItem);\r\n        }\r\n\r\n        /// <summary>\r\n        /// Fired when the Set's close button is clicked.\r\n        /// </summary>\r\n        public event EventHandler<SetClosingEventArgs> Closing;\r\n\r\n        public void ShowLeftSideSeparator()\r\n        {\r\n            if (_setLeftSideSeparator != null)\r\n            {\r\n                _setLeftSideSeparator.Visibility = Visibility.Visible;\r\n            }\r\n        }\r\n\r\n        public void HideLeftSideSeparator()\r\n        {\r\n            if (_setLeftSideSeparator != null)\r\n            {\r\n                _setLeftSideSeparator.Visibility = Visibility.Collapsed;\r\n            }\r\n        }\r\n\r\n        public void ShowRightSideSeparator()\r\n        {\r\n            if (_setRightSideSeparator != null)\r\n            {\r\n                _setRightSideSeparator.Visibility = Visibility.Visible;\r\n            }\r\n        }\r\n\r\n        public void HideRightSideSeparator()\r\n        {\r\n            if (_setRightSideSeparator != null)\r\n            {\r\n                _setRightSideSeparator.Visibility = Visibility.Collapsed;\r\n            }\r\n        }\r\n\r\n        /// <inheritdoc/>\r\n        protected override void OnApplyTemplate()\r\n        {\r\n            base.OnApplyTemplate();\r\n\r\n            if (_setCloseButton != null)\r\n            {\r\n                _setCloseButton.Click -= SetCloseButton_Click;\r\n            }\r\n\r\n            _setCloseButton = GetTemplateChild(SetCloseButtonName) as ButtonBase;\r\n\r\n            if (_setCloseButton != null)\r\n            {\r\n                _setCloseButton.Click += SetCloseButton_Click;\r\n            }\r\n\r\n            _setLeftSideSeparator = GetTemplateChild(SetLeftSideSeparatorName) as Border;\r\n            _setRightSideSeparator = GetTemplateChild(SetRightSideSeparatorName) as Border;\r\n            _setSelectionIndicator = GetTemplateChild(SetSelectionIndicatorName) as Rectangle;\r\n        }\r\n\r\n        /// <inheritdoc/>\r\n        protected override void OnPointerPressed(PointerRoutedEventArgs e)\r\n        {\r\n            _isMiddleClick = false;\r\n\r\n            if (e?.Pointer.PointerDeviceType == PointerDeviceType.Mouse)\r\n            {\r\n                PointerPoint pointerPoint = e.GetCurrentPoint(this);\r\n\r\n                // Record if middle button is pressed\r\n                if (pointerPoint.Properties.IsMiddleButtonPressed)\r\n                {\r\n                    _isMiddleClick = true;\r\n                }\r\n\r\n                // Disable unwanted behaviour inherited by ListViewItem:\r\n                // Disable \"Ctrl + Left click\" to deselect tab\r\n                // Or variant like \"Ctrl + Shift + Left click\"\r\n                // Or \"Ctrl + Alt + Left click\"\r\n                if (pointerPoint.Properties.IsLeftButtonPressed)\r\n                {\r\n                    var ctrl = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control);\r\n                    if (ctrl.HasFlag(CoreVirtualKeyStates.Down))\r\n                    {\r\n                        // return here so the event won't be picked up by the base class\r\n                        // but keep this event unhandled so it can be picked up further\r\n                        return;\r\n                    }\r\n                }\r\n            }\r\n\r\n            base.OnPointerPressed(e);\r\n        }\r\n\r\n        /// <inheritdoc/>\r\n        protected override void OnPointerReleased(PointerRoutedEventArgs e)\r\n        {\r\n            base.OnPointerReleased(e);\r\n\r\n            // Close on Middle-Click\r\n            if (_isMiddleClick)\r\n            {\r\n                SetCloseButton_Click(this, null);\r\n            }\r\n\r\n            _isMiddleClick = false;\r\n        }\r\n\r\n        public void PrepareForClosing()\r\n        {\r\n            _setSelectionIndicator.Fill = new SolidColorBrush(Colors.Transparent);\r\n        }\r\n\r\n        public void Close()\r\n        {\r\n            if (IsClosable)\r\n            {\r\n                Closing?.Invoke(this, new SetClosingEventArgs(Content, this));\r\n            }\r\n        }\r\n\r\n        private void SetCloseButton_Click(object sender, RoutedEventArgs e)\r\n        {\r\n            if (IsClosable)\r\n            {\r\n                Closing?.Invoke(this, new SetClosingEventArgs(Content, this));\r\n            }\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/SetsView/SetsWidthMode.cs",
    "content": "// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// See the LICENSE file in the project root for more information.\r\n\r\nnamespace Notepads.Controls\r\n{\r\n    using Windows.UI.Xaml;\r\n\r\n    /// <summary>\r\n    /// Possible modes for how to layout a <see cref=\"SetsViewItem\"/> Header's Width in the <see cref=\"SetsView\"/>.\r\n    /// </summary>\r\n    public enum SetsWidthMode\r\n    {\r\n        /// <summary>\r\n        /// Each set header takes up as much space as it needs.  This is similar to how WPF and Visual Studio Code behave.\r\n        /// Suggest to keep <see cref=\"SetsView.IsCloseButtonOverlay\"/> set to false.\r\n        /// <see cref=\"SetsView.SelectedSetWidth\"/> is ignored.\r\n        /// In this scenario, set width behavior is effectively turned off.  This can be useful when using custom styling or a custom panel for layout of <see cref=\"SetsViewItem\"/> as well.\r\n        /// </summary>\r\n        Actual,\r\n\r\n        /// <summary>\r\n        /// Each set header will use the minimal space set by <see cref=\"FrameworkElement.MinWidth\"/> on the <see cref=\"SetsViewItem\"/>.\r\n        /// Suggest to set the <see cref=\"SetsView.SelectedSetWidth\"/> to show more content for the selected item.\r\n        /// </summary>\r\n        Compact,\r\n\r\n        /// <summary>\r\n        /// Each set header will fill to fit the available space.  If <see cref=\"SetsView.SelectedSetWidth\"/> is set, that will be used as a Maximum Width.\r\n        /// This is similar to how Microsoft Edge behaves when used with the <see cref=\"SetsView.SelectedSetWidth\"/>.\r\n        /// Suggest to set <see cref=\"SetsView.IsCloseButtonOverlay\"/> to true.\r\n        /// Suggest to set <see cref=\"SetsView.SelectedSetWidth\"/> to 200 and the SetsViewItemHeaderMinWidth Resource to 90.\r\n        /// </summary>\r\n        Equal,\r\n    }\r\n}"
  },
  {
    "path": "src/Notepads.Controls/Themes/Generic.xaml",
    "content": "﻿<ResourceDictionary\r\n    xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" \r\n    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\">\r\n    <ResourceDictionary.MergedDictionaries>\r\n        <ResourceDictionary Source=\"ms-appx:///Notepads.Controls/DropShadowPanel/DropShadowPanel.xaml\" />\r\n        <ResourceDictionary Source=\"ms-appx:///Notepads.Controls/GridSplitter/GridSplitter.xaml\" />\r\n        <ResourceDictionary Source=\"ms-appx:///Notepads.Controls/InAppNotification/InAppNotification.xaml\" />\r\n        <ResourceDictionary Source=\"ms-appx:///Notepads.Controls/SetsView/SetsView.xaml\" />\r\n        <ResourceDictionary Source=\"ms-appx:///Notepads.Controls/MarkdownTextBlock/MarkdownTextBlock.xaml\" />\r\n    </ResourceDictionary.MergedDictionaries>\r\n</ResourceDictionary>\r\n"
  },
  {
    "path": "src/Notepads.sln",
    "content": "﻿\r\nMicrosoft Visual Studio Solution File, Format Version 12.00\r\n# Visual Studio Version 16\r\nVisualStudioVersion = 16.0.28803.352\r\nMinimumVisualStudioVersion = 10.0.40219.1\r\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Notepads\", \"Notepads\\Notepads.csproj\", \"{99274932-9E86-480C-8142-38525F80007D}\"\r\n\tProjectSection(ProjectDependencies) = postProject\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855} = {7AA5E631-B663-420E-A08F-002CD81DF855}\r\n\tEndProjectSection\r\nEndProject\r\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Notepads.Controls\", \"Notepads.Controls\\Notepads.Controls.csproj\", \"{7AA5E631-B663-420E-A08F-002CD81DF855}\"\r\nEndProject\r\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"Solution Items\", \"Solution Items\", \"{FE6A4F54-39DC-40E3-8BFB-5B1962DED402}\"\r\n\tProjectSection(SolutionItems) = preProject\r\n\t\t.editorconfig = .editorconfig\r\n\tEndProjectSection\r\nEndProject\r\nGlobal\r\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\r\n\t\tDebug|ARM64 = Debug|ARM64\r\n\t\tDebug|x64 = Debug|x64\r\n\t\tDebug|x86 = Debug|x86\r\n\t\tRelease|ARM64 = Release|ARM64\r\n\t\tRelease|x64 = Release|x64\r\n\t\tRelease|x86 = Release|x86\r\n\t\tProduction|ARM64 = Production|ARM64\r\n\t\tProduction|x64 = Production|x64\r\n\t\tProduction|x86 = Production|x86\r\n\tEndGlobalSection\r\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Debug|ARM64.ActiveCfg = Debug|ARM64\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Debug|ARM64.Build.0 = Debug|ARM64\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Debug|ARM64.Deploy.0 = Debug|ARM64\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Debug|x64.ActiveCfg = Debug|x64\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Debug|x64.Build.0 = Debug|x64\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Debug|x64.Deploy.0 = Debug|x64\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Debug|x86.ActiveCfg = Debug|x86\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Debug|x86.Build.0 = Debug|x86\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Debug|x86.Deploy.0 = Debug|x86\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Release|ARM64.ActiveCfg = Release|ARM64\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Release|ARM64.Build.0 = Release|ARM64\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Release|ARM64.Deploy.0 = Release|ARM64\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Release|x64.ActiveCfg = Release|x64\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Release|x64.Build.0 = Release|x64\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Release|x64.Deploy.0 = Release|x64\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Release|x86.ActiveCfg = Release|x86\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Release|x86.Build.0 = Release|x86\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Release|x86.Deploy.0 = Release|x86\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Production|ARM64.ActiveCfg = Production|ARM64\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Production|ARM64.Build.0 = Production|ARM64\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Production|ARM64.Deploy.0 = Production|ARM64\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Production|x64.ActiveCfg = Production|x64\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Production|x64.Build.0 = Production|x64\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Production|x64.Deploy.0 = Production|x64\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Production|x86.ActiveCfg = Production|x86\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Production|x86.Build.0 = Production|x86\r\n\t\t{99274932-9E86-480C-8142-38525F80007D}.Production|x86.Deploy.0 = Production|x86\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855}.Debug|ARM64.ActiveCfg = Debug|ARM64\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855}.Debug|ARM64.Build.0 = Debug|ARM64\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855}.Debug|x64.ActiveCfg = Debug|x64\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855}.Debug|x64.Build.0 = Debug|x64\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855}.Debug|x86.ActiveCfg = Debug|x86\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855}.Debug|x86.Build.0 = Debug|x86\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855}.Release|ARM64.ActiveCfg = Release|ARM64\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855}.Release|ARM64.Build.0 = Release|ARM64\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855}.Release|x64.ActiveCfg = Release|x64\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855}.Release|x64.Build.0 = Release|x64\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855}.Release|x86.ActiveCfg = Release|x86\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855}.Release|x86.Build.0 = Release|x86\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855}.Production|ARM64.ActiveCfg = Production|ARM64\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855}.Production|ARM64.Build.0 = Production|ARM64\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855}.Production|x64.ActiveCfg = Production|x64\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855}.Production|x64.Build.0 = Production|x64\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855}.Production|x86.ActiveCfg = Production|x86\r\n\t\t{7AA5E631-B663-420E-A08F-002CD81DF855}.Production|x86.Build.0 = Production|x86\r\n\tEndGlobalSection\r\n\tGlobalSection(SolutionProperties) = preSolution\r\n\t\tHideSolutionNode = FALSE\r\n\tEndGlobalSection\r\n\tGlobalSection(ExtensibilityGlobals) = postSolution\r\n\t\tSolutionGuid = {CFB87BE6-E5E9-49A2-9631-7DC3F44361B4}\r\n\tEndGlobalSection\r\nEndGlobal\r\n"
  }
]