diff --git a/.GitHub/copilot-setup-steps.yml b/.GitHub/copilot-setup-steps.yml new file mode 100644 index 0000000000..263c54186b --- /dev/null +++ b/.GitHub/copilot-setup-steps.yml @@ -0,0 +1,78 @@ +# Reusable workflow to run msbuild tasks on Windows +# Call with: uses: ./.github/workflows/copilot-setup-steps.yml +name: "Copilot: Windows setup steps" +on: + workflow_call: + inputs: + msbuild_args: + required: false + type: string + description: 'Arguments to pass to msbuild (e.g., "FieldWorks.sln /t:RunTests /p:Configuration=Debug")' + # optional secrets or other inputs may be added + +jobs: + windows-setup: + runs-on: windows-latest + outputs: + msbuild-path: ${{ steps.find-msbuild.outputs.msbuild-path }} + + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Find MSBuild (vswhere) + id: find-msbuild + shell: pwsh + run: | + # Try to find msbuild in Visual Studio using vswhere; fallback to common paths + $vsWhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" + if (Test-Path $vsWhere) { + $ms = & $vsWhere -latest -requires Microsoft.Component.MSBuild -products * -property installationPath + if ($ms) { + $msbuild = Join-Path $ms 'MSBuild\Current\Bin\MSBuild.exe' + if (-not (Test-Path $msbuild)) { + # older path + $msbuild = Join-Path $ms 'MSBuild\15.0\Bin\MSBuild.exe' + } + } + } + if (-not $msbuild) { + # fallback: try common Program Files paths + $candidates = @( + "${env:ProgramFiles(x86)}\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe", + "${env:ProgramFiles(x86)}\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe", + "${env:ProgramFiles}\MSBuild\14.0\Bin\MSBuild.exe" + ) + foreach ($c in $candidates) { + if (Test-Path $c) { $msbuild = $c; break } + } + } + if (-not $msbuild) { + Write-Error "MSBuild not found on runner. Consider installing Visual Studio Build Tools in the runner image or use a self-hosted Windows runner." + exit 1 + } else { + Add-Content -Path $env:GITHUB_OUTPUT -Value "msbuild-path=$msbuild" + Write-Host "Found MSBuild at $msbuild" + } + + - name: Run msbuild (if args provided) + if: inputs.msbuild_args != '' && inputs.msbuild_args != null + shell: pwsh + run: | + $msbuildPath = "${{ steps.find-msbuild.outputs.msbuild-path }}" + if (-not $msbuildPath) { + Write-Error "MSBuild path not found" + exit 2 + } + Write-Host "Running MSBuild: $msbuildPath ${{ inputs.msbuild_args }}" + $args = @() + if ("${{ inputs.msbuild_args }}".Trim() -ne "") { + # Split on spaces, preserving quoted substrings + $args = [System.Management.Automation.PSParser]::Tokenize(${{ toJson(inputs.msbuild_args) }}, [ref]$null) | Where-Object { $_.Type -eq 'String' -or $_.Type -eq 'CommandArgument' } | ForEach-Object { $_.Content } + } + & $msbuildPath @args + if ($LASTEXITCODE -ne 0) { + Write-Error "MSBuild failed with exit code $LASTEXITCODE" + exit $LASTEXITCODE + } + Write-Host "Build completed successfully!" -ForegroundColor Green diff --git a/.gitattributes b/.gitattributes index 1b1f7cad8b..7f04265383 100644 --- a/.gitattributes +++ b/.gitattributes @@ -10,6 +10,7 @@ *.designer.cs -whitespace *.fwdictconfig -whitespace *.ldml -whitespace +*.py -whitespace *.patch -whitespace *.proj -whitespace *.ReSharper -whitespace diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index a05fb273c3..29c4b2aff2 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -1,9 +1,9 @@ name: Flex CI on: push: - branches: ["release/**", "develop", "master", "feature/PubSub"] + branches: ["release/**", "main", "feature/PubSub"] pull_request: - branches: ["release/**", "develop", "master", "feature/PubSub"] + branches: ["release/**", "main", "feature/PubSub"] workflow_dispatch: concurrency: diff --git a/.github/workflows/base-installer-cd.yml b/.github/workflows/base-installer-cd.yml new file mode 100644 index 0000000000..aab44b5abf --- /dev/null +++ b/.github/workflows/base-installer-cd.yml @@ -0,0 +1,302 @@ +name: Base Installer + +# Builds the FieldWorks Base Installers (On- and Offline) (x64). +# If `make_release` is true: +# - Uploads installers to https://flex-updates.s3.amazonaws.com/?prefix=jobs/FieldWorks-Win-all-Release-Base. +# - Tags the repository. +# - Creates a GitHub Release of the artifacts required for creating a patch installer on this base. +# Saves the build log as an artifact of the workflow run. +# Note: FW_BUILD_NUMBER is higher than GITHUB_RUN_NUMBER because it needs to be higher than the build number on artifacts from our previous system. + +on: + schedule: + # Runs every Monday at 02:30 UTC (which is 6:30pm PST / 7:30pm PDT Sunday evening) + - cron: "30 2 * * 1" + workflow_dispatch: + inputs: + fw_ref: + description: 'Commit-ish (branch, tag, SHA) to checkout for the main repository' + required: false + default: '' + helps_ref: + description: 'Commit-ish for helps repository' + required: false + default: 'develop' + installer_ref: + description: 'Commit-ish for PatchableInstaller repository' + required: false + default: 'master' + localizations_ref: + description: 'Commit-ish for localization repository' + required: false + default: 'develop' + lcm_ref: + description: 'Commit-ish for liblcm repository' + required: false + default: 'master' + make_release: + description: 'Should the build archive a release, false by default, should be set to true on a release build.' + required: false + default: 'false' + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + debug_build_and_test: + env: + CROWDIN_API_KEY: ${{ secrets.FLEX_CROWDIN_API }} + LcmRootDir: ${{ github.workspace }}/Localizations/LCM + FILESTOSIGNLATER: ./signExternally + name: Build Debug and run Tests + runs-on: windows-latest + steps: + - name: Compute build number + id: build_number + run: | + $lastJenkins = 1100 # The last base build from jenkins, rounded to the next hundred + $githubRun = $env:GITHUB_RUN_NUMBER + $combined = $lastJenkins + $githubRun + echo "Calculated build number: $combined" + echo "FW_BUILD_NUMBER=$combined" >> $env:GITHUB_ENV + + - name: Checkout Files + uses: actions/checkout@v4 + id: checkout + with: + ref: ${{ github.event.inputs.fw_ref || github.ref }} + fetch-depth: 0 + + - name: Checkout Helps + uses: actions/checkout@v4 + id: helps-checkout + with: + repository: 'sillsdev/FwHelps' + ref: ${{ github.event.inputs.helps_ref || 'develop' }} + fetch-depth: 0 + path: 'DistFiles/Helps' + + - name: Checkout PatchableInstaller + uses: actions/checkout@v4 + id: installer-checkout + with: + repository: 'sillsdev/genericinstaller' + ref: ${{ github.event.inputs.installer_ref || 'master' }} + fetch-depth: 0 + path: 'PatchableInstaller' + + - name: Checkout Localizations + uses: actions/checkout@v4 + id: loc-checkout + with: + repository: 'sillsdev/FwLocalizations' + ref: ${{ github.event.inputs.localizations_ref || 'develop' }} + fetch-depth: 0 + path: 'Localizations' + - name: Checkout liblcm + uses: actions/checkout@v4 + id: liblcm-checkout + with: + repository: 'sillsdev/liblcm' + ref: ${{ github.event.inputs.installer_ref || 'master' }} + fetch-depth: 0 + path: 'Localizations/LCM' + + - name: Download .NET 461 targeting pack + uses: suisei-cn/actions-download-file@818d6b7dc8fe73f2f924b6241f2b1134ca1377d9 # 1.6.0 + id: downloadfile # Remember to give an ID if you need the output filename + with: + url: "https://download.microsoft.com/download/F/1/D/F1DEB8DB-D277-4EF9-9F48-3A65D4D8F965/NDP461-DevPack-KB3105179-ENU.exe" + target: public/ + + - name: Install .NET 461 targeting pack + shell: cmd + working-directory: public + run: NDP461-DevPack-KB3105179-ENU.exe /q + + - name: Setup dotnet + uses: actions/setup-dotnet@v4 + with: + dotnet-version: | + 3.1.x + 5.0.x + + - name: Install Overcrowdin + shell: cmd + run: | + dotnet tool update -g overcrowdin || dotnet tool install -g overcrowdin + + - name: Downgrade Wix Toolset - remove when runner has 3.14.2 + run: | + choco uninstall wixtoolset + choco install wixtoolset --version 3.11.2 --allow-downgrade --force + echo "C:\Program Files (x86)\WiX Toolset v3.11\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + if: github.event_name != 'pull_request' + + - name: Prepare for build + shell: cmd + working-directory: Build + run: build64.bat /t:WriteNonlocalDevelopmentPropertiesFile + + - name: Build and run tests + id: build_installer + shell: powershell + run: | + cd Build + .\build64.bat /t:BuildBaseInstaller "/property:config=release;action=test;desktopNotAvailable=true" /v:d /bl ^| tee-object -FilePath build.log + cd .. + cd BuildDir + md5sum *.exe > md5.txt + + - name: Scan Build Output + shell: powershell + working-directory: Build + run: | + $results = Select-String -Path "build.log" -Pattern "^\s*[1-9][0-9]* Error\(s\)" + if ($results) { + foreach ($result in $results) { + Write-Host "Found errors in build.log $($result.LineNumber): $($result.Line)" -ForegroundColor red + } + exit 1 + } else { + Write-Host "No errors found" -ForegroundColor green + exit 0 + } + + - name: Move installers to staging folder + id: stage_installers + shell: pwsh + run: | + $staging = Join-Path $pwd "Installers" + if (-not (Test-Path $staging)) { New-Item -ItemType Directory -Path $staging | Out-Null } + + $offlineExe = Get-ChildItem -Path BuildDir -Filter "FieldWorks_*_Offline_x64.exe" | Select-Object -First 1 + $onlineExe = Get-ChildItem -Path BuildDir -Filter "FieldWorks_*_Online_x64.exe" | Select-Object -First 1 + + if (-not $offlineExe) { throw "FieldWorks_VERSION_Offline_x64.exe not found in BuildDir" } + if (-not $onlineExe) { throw "FieldWorks_VERSION_Online_x64.exe not found in BuildDir" } + + Move-Item -Path $offlineExe.FullName -Destination $staging + Move-Item -Path $onlineExe.FullName -Destination $staging + + $offlinePath = Join-Path $staging $offlineExe.Name + $onlinePath = Join-Path $staging $onlineExe.Name + + "offline_exe=$offlinePath" >> $env:GITHUB_OUTPUT + "online_exe=$onlinePath" >> $env:GITHUB_OUTPUT + + - name: Extract burn engines from bundles + shell: cmd + working-directory: Installers + run: | + insignia -ib "${{ steps.stage_installers.outputs.offline_exe }}" -o offline-engine.exe + insignia -ib "${{ steps.stage_installers.outputs.online_exe }}" -o online-engine.exe + + - name: Sign Engines + if: github.event_name != 'pull_request' + uses: sillsdev/codesign/trusted-signing-action@v3 + with: + credentials: ${{ secrets.TRUSTED_SIGNING_CREDENTIALS }} + files-folder: Installers + files-folder-filter: '*-engine.exe' + description: 'FieldWorks Installer' + description-url: 'https://software.sil.org/fieldworks/' + + - name: Reattach Engines + if: github.event_name != 'pull_request' + working-directory: Installers + shell: cmd + run: | + insignia -ab offline-engine.exe "${{ steps.stage_installers.outputs.offline_exe }}" -o "${{ steps.stage_installers.outputs.offline_exe }}" + insignia -ab online-engine.exe "${{ steps.stage_installers.outputs.online_exe }}" -o "${{ steps.stage_installers.outputs.online_exe }}" + + - name: Sign Bundles + if: github.event_name != 'pull_request' + uses: sillsdev/codesign/trusted-signing-action@v3 + with: + credentials: ${{ secrets.TRUSTED_SIGNING_CREDENTIALS }} + files-folder: Installers + files-folder-filter: FieldWorks_*.exe + description: 'FieldWorks Installer' + description-url: 'https://software.sil.org/fieldworks/' + + - name: Configure AWS credentials + if: ${{ inputs.make_release == 'true' }} + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + + - name: Upload Installers to S3 + if: ${{ inputs.make_release == 'true' }} + shell: pwsh + run: | + $offlineExe = "${{ steps.stage_installers.outputs.offline_exe }}" + $onlineExe = "${{ steps.stage_installers.outputs.online_exe }}" + + if (-not (Test-Path $offlineExe)) { + throw "Offline installer not found at $offlineExe" + } + if (-not (Test-Path $onlineExe)) { + throw "Online installer not found at $onlineExe" + } + + $offlineFile = Split-Path $offlineExe -Leaf + $onlineFile = Split-Path $onlineExe -Leaf + + $s3BasePath = "jobs/FieldWorks-Win-all-Release-Base/$($env:FW_BUILD_NUMBER)" + $offlineS3Key = "$s3BasePath/$offlineFile" + $onlineS3Key = "$s3BasePath/$onlineFile" + + aws s3 cp $offlineExe "s3://flex-updates/$offlineS3Key" + Write-Host "Uploaded offline installer to s3://flex-updates/$offlineS3Key" + + aws s3 cp $onlineExe "s3://flex-updates/$onlineS3Key" + Write-Host "Uploaded online installer to s3://flex-updates/$onlineS3Key" + + - name: Compress Build Artifacts + id: compress_artifacts + if: ${{ inputs.make_release == 'true' }} + run: | + [System.IO.Compression.ZipFile]::CreateFromDirectory( + "${{ github.workspace }}\BuildDir", + "${{ github.workspace }}\BuildDir.zip", + [System.IO.Compression.CompressionLevel]::Optimal, + $false + ) + [System.IO.Compression.ZipFile]::CreateFromDirectory( + "${{ github.workspace }}\PatchableInstaller\ProcRunner\ProcRunner\bin\Release\net48", + "${{ github.workspace }}\ProcRunner.zip", + [System.IO.Compression.CompressionLevel]::Optimal, + $false + ) + Get-ChildItem "${{ github.workspace }}" -Filter "*.zip" | Select-Object Name, Length + "build_dir_zip=$(("${{ github.workspace }}/BuildDir.zip") -replace '\\','/')" >> $env:GITHUB_OUTPUT + "proc_runner_zip=$(("${{ github.workspace }}/ProcRunner.zip") -replace '\\','/')" >> $env:GITHUB_OUTPUT + + + - name: Tag, Create Release, and Upload artifacts + if: ${{ inputs.make_release == 'true' }} + uses: softprops/action-gh-release@6cbd405e2c4e67a21c47fa9e383d020e4e28b836 + with: + target_commitish: ${{ github.event.inputs.fw_ref || github.ref }} + tag_name: build-${{ env.FW_BUILD_NUMBER }} + name: "FieldWorks Base Build #${{ env.FW_BUILD_NUMBER }}" + draft: false + prerelease: true + fail_on_unmatched_files: true + files: | + ${{ steps.compress_artifacts.outputs.build_dir_zip }} + ${{ steps.compress_artifacts.outputs.proc_runner_zip }} + + - name: Upload Build Logs + uses: actions/upload-artifact@v4 + if: always() + with: + if-no-files-found: warn + name: build-logs + path: | + Build/*.log + Build/*.binlog diff --git a/.github/workflows/patch-installer-cd.yml b/.github/workflows/patch-installer-cd.yml new file mode 100644 index 0000000000..72f952bcf9 --- /dev/null +++ b/.github/workflows/patch-installer-cd.yml @@ -0,0 +1,285 @@ +name: Patch Installer + +# Builds the FieldWorks Patch Installer on the specified `base_release` +# If `make_release` is true, uploads installers to https://flex-updates.s3.amazonaws.com/?prefix=jobs/FieldWorks-Win-all-Release-Patch. +# Saves the build log as an artifact of the workflow run. +# Note: FW_BUILD_NUMBER is higher than GITHUB_RUN_NUMBER because it needs to be higher than the build number on artifacts from our previous system. +# Note: FW_BUILD_NUMBER must be higher for patches than their base so that the patch is considered an upgrade. + +on: + push: + branches: ["release/9.3"] + schedule: + # Runs every Monday at 03:30 UTC (which is 8:30pm MST/PDT Sunday evening) + - cron: "30 3 * * 1" + workflow_dispatch: + inputs: + fw_ref: + description: 'Commit-ish (branch, tag, SHA) to checkout for the main repository' + required: false + default: '' + helps_ref: + description: 'Commit-ish for helps repository' + required: false + default: 'develop' + installer_ref: + description: 'Commit-ish for PatchableInstaller repository' + required: false + default: 'master' + localizations_ref: + description: 'Commit-ish for localization repository' + required: false + default: 'develop' + lcm_ref: + description: 'Commit-ish for liblcm repository' + required: false + default: 'master' +# default should be changed to the most recent base release for the release cycle. +# After 9.3 is stable, base_release can be computed from base_build_number, but they need to be independent for bootstrapping patches +# on Jenkins-built bases. + base_release: + description: 'The github release for the base build artifacts (separate only for bootstrapping; should be removed after 9.3 is the stable)' + default: 'build-1379' # When updating this, update base_build_number and their fallbacks below, too. + base_build_number: + description: 'The base build number' + required: false + default: '1379' + make_release: + description: 'Should the release be pushed to s3 - use false for test builds' + required: false + default: 'true' + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + debug_build_and_test: + permissions: + contents: read + env: + CROWDIN_API_KEY: ${{ secrets.FLEX_CROWDIN_API }} + LcmRootDir: ${{ github.workspace }}/Localizations/LCM + FILESTOSIGNLATER: ./signExternally + GH_TOKEN: ${{ github.token }} + BASE_BUILD_NUMBER: ${{ inputs.base_build_number || '1379' }} + name: Build Debug and run Tests + runs-on: windows-latest + steps: + - name: Compute build number for archival + id: build_number + run: | + $lastJenkins = 2000 # The last patch build from jenkins, rounded to the next hundred + $githubRun = $env:GITHUB_RUN_NUMBER + $combined = $lastJenkins + $githubRun + echo "Calculated build number: $combined" + echo "FW_BUILD_NUMBER=$combined" >> $env:GITHUB_ENV + echo "BuildVersionSegment=$combined" >> $env:GITHUB_ENV + + - name: Checkout Files + uses: actions/checkout@v4 + id: checkout + with: + ref: ${{ github.event.inputs.fw_ref || github.ref }} + fetch-depth: 0 + + - name: Checkout Helps + uses: actions/checkout@v4 + id: helps-checkout + with: + repository: 'sillsdev/FwHelps' + ref: ${{ github.event.inputs.helps_ref || 'develop' }} + fetch-depth: 0 + path: 'DistFiles/Helps' + + - name: Checkout PatchableInstaller + uses: actions/checkout@v4 + id: installer-checkout + with: + repository: 'sillsdev/genericinstaller' + ref: ${{ github.event.inputs.installer_ref || 'master' }} + fetch-depth: 0 + path: 'PatchableInstaller' + + - name: Checkout Localizations + uses: actions/checkout@v4 + id: loc-checkout + with: + repository: 'sillsdev/FwLocalizations' + ref: ${{ github.event.inputs.localizations_ref || 'develop' }} + fetch-depth: 0 + path: 'Localizations' + - name: Checkout liblcm + uses: actions/checkout@v4 + id: liblcm-checkout + with: + repository: 'sillsdev/liblcm' + ref: ${{ github.event.inputs.lcm_ref || 'master' }} + fetch-depth: 0 + path: 'Localizations/LCM' + + - name: Download .NET 461 targeting pack + uses: suisei-cn/actions-download-file@818d6b7dc8fe73f2f924b6241f2b1134ca1377d9 # 1.6.0 + id: downloadfile # Remember to give an ID if you need the output filename + with: + url: "https://download.microsoft.com/download/F/1/D/F1DEB8DB-D277-4EF9-9F48-3A65D4D8F965/NDP461-DevPack-KB3105179-ENU.exe" + target: public/ + + - name: Install .NET 461 targeting pack + shell: cmd + working-directory: public + run: NDP461-DevPack-KB3105179-ENU.exe /q + + - name: Setup dotnet + uses: actions/setup-dotnet@v4 + with: + dotnet-version: | + 3.1.x + 5.0.x + + - name: Install Overcrowdin + shell: cmd + run: | + dotnet tool update -g overcrowdin || dotnet tool install -g overcrowdin + + - name: Downgrade Wix Toolset - remove when runner has 3.14.2 + run: | + choco uninstall wixtoolset + choco install wixtoolset --version 3.11.2 --allow-downgrade --force + echo "C:\Program Files (x86)\WiX Toolset v3.11\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + if: github.event_name != 'pull_request' + + - name: Import Base Build Artifacts + shell: pwsh + run: | + $release = "${{ inputs.base_release || 'build-1379' }}" + $repo = "${{ github.repository }}" + + Write-Host "Downloading artifacts for release $release from $repo" + + # Download BuildDir.zip + gh release download $release --repo $repo --pattern "BuildDir.zip" --dir base-artifacts + if (-not (Test-Path "base-artifacts/BuildDir.zip")) { + throw "BuildDir.zip not found in release '$release'." + } + + # Download ProcRunner.zip + gh release download $release --repo $repo --pattern "ProcRunner.zip" --dir base-artifacts + if (-not (Test-Path "base-artifacts/ProcRunner.zip")) { + throw "ProcRunner.zip not found in release '$release'." + } + + # Expand BuildDir.zip into BuildDir + Expand-Archive -Path "base-artifacts/BuildDir.zip" -DestinationPath "BuildDir" -Force + Write-Host "Expanded BuildDir.zip -> ./BuildDir" + + # Ensure ProcRunner target path exists + $procTarget = "PatchableInstaller/ProcRunner/ProcRunner/bin/Release/net48" + if (-not (Test-Path $procTarget)) { + New-Item -ItemType Directory -Path $procTarget -Force | Out-Null + } + + # Expand ProcRunner.zip into the exact net48 folder + Expand-Archive -Path "base-artifacts/ProcRunner.zip" -DestinationPath $procTarget -Force + Write-Host "Expanded ProcRunner.zip -> $procTarget" + + # Write out the properties file (a first build on a system requires a prompt response otherwise) + # and set an OS feature in the registry that will allow Wix v3 to use temporary files without error + - name: Prepare for build + working-directory: Build + run: | + # Define paths and the key/value to set + $regPaths = @( + "HKLM:\SOFTWARE\Microsoft\.NETFramework\AppContext", + "HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\AppContext" + ) + $valueName = "Switch.System.DisableTempFileCollectionDirectoryFeature" + $expectedValue = "true" + + foreach ($path in $regPaths) { + Write-Host "Adding or updating registry value in $path..." + if (-not (Test-Path $path)) { + New-Item -Path $path -Force | Out-Null + } + New-ItemProperty -Path $path -Name $valueName -Value $expectedValue -Type String -Force + } + + .\build64.bat /t:WriteNonlocalDevelopmentPropertiesFile + + - name: Build Debug and run tests + id: build_installer + shell: powershell + run: | + Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\AppContext" + cd Build + .\build64.bat /t:BuildPatchInstaller "/property:config=release;action=test;desktopNotAvailable=true" /v:d /bl ^| tee-object -FilePath build.log + cd .. + cd BuildDir + + - name: Scan Debug Build Output + shell: powershell + working-directory: Build + run: | + $results = Select-String -Path "build.log" -Pattern "^\s*[1-9][0-9]* Error\(s\)" + if ($results) { + foreach ($result in $results) { + Write-Host "Found errors in build.log $($result.LineNumber): $($result.Line)" -ForegroundColor red + } + exit 1 + } else { + Write-Host "No errors found" -ForegroundColor green + exit 0 + } + + - name: Find patch installer + id: find_patch + shell: pwsh + run: | + $patch = Get-ChildItem -Path BuildDir -Filter "FieldWorks_*.msp" | Select-Object -First 1 + if (-not $patch) { throw "Patch (.msp) file not found in BuildDir" } + + $patchPath = $patch.FullName + "patch_file=$patchPath" >> $env:GITHUB_OUTPUT + + - name: Sign Patch + if: github.event_name != 'pull_request' + uses: sillsdev/codesign/trusted-signing-action@v3 + with: + credentials: ${{ secrets.TRUSTED_SIGNING_CREDENTIALS }} + files-folder: BuildDir + files-folder-filter: '*.msp' + description: 'FieldWorks Patch Installer' + description-url: 'https://software.sil.org/fieldworks/' + + - name: Configure AWS credentials + # Use inputs if defined but default to true + if: ${{ (inputs.make_release || 'true') == 'true' }} + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + + - name: Upload Patch to S3 + # Use inputs if defined but default to true + if: ${{ (inputs.make_release || 'true') == 'true' }} + shell: pwsh + run: | + $patchPath = "${{ steps.find_patch.outputs.patch_file }}" + if (-not (Test-Path $patchPath)) { + throw "Patch file not found at $patchPath" + } + $patchFile = Split-Path $patchPath -Leaf + $s3Key = "jobs/FieldWorks-Win-all-Release-Patch/$($env:FW_BUILD_NUMBER)/$patchFile" + aws s3 cp $patchPath "s3://flex-updates/$s3Key" + Write-Host "Uploaded to s3://flex-updates/$s3Key" + + - name: Upload Build Logs + uses: actions/upload-artifact@v4 + if: always() + with: + if-no-files-found: warn + name: build-logs + path: | + Build/*.log + Build/*.binlog diff --git a/.gitignore b/.gitignore index b46402d10f..636707842a 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ Build/LibraryDevelopment.properties Build/NuGet.exe Build/nunit.framework.dll Build/nunit.framework.xml +Build/venv Build/*.config Build/*.dll Build/*.pdb @@ -29,11 +30,16 @@ Bin/_setLatestBuildConfig.bat Bin/_setroot.bat Lib/debug/DebugProcs.lib Lib/debug/Generic.lib +Lib/debug/graphite2.lib +Lib/debug/System.Buffers.dll Lib/debug/System.ValueTuple.dll Lib/debug/unit++.* Lib/release/DebugProcs.lib Lib/release/Generic.lib -Lib/release/unit++.lib +Lib/release/graphite2.lib +Lib/release/System.Buffers.dll +Lib/release/System.ValueTuple.dll +Lib/release/unit++.* DistFiles/Parts/Generated.fwlayout Lib/src/Ethnologue/GeneratedEthnologue.cs Src/FwParatextLexiconPlugin/GeneratedParatextLexiconPluginRegistryHelper.cs @@ -62,6 +68,7 @@ _user.mak.lnx *.log *.vshost.exe* *.sdf +*.tmp *.opensdf *.orig .project @@ -70,8 +77,6 @@ _user.mak.lnx .dotest/ .depend -Lib/linux/Common/*.d -Lib/linux/Common/*.raw [Oo]bj/ Obj_i686/ Obj_x86_64/ @@ -93,6 +98,8 @@ Lib/src/unit++/autom4te.cache/ Lib/src/unit++/configure Lib/src/unit++/VS/*/ Lib/src/Enchant/fieldworks-enchant-1.6.1/ +Src/Kernel/FwKernelTlb.idl +Src/Kernel/*.idh Src/Kernel/libFwKernel Src/views/libViews Src/views/libVwGraphics @@ -123,14 +130,6 @@ DistFiles/ReleaseData/ # Exceptions !Lib/Windows/Debug !Lib/Windows/Release -!Lib/linux/Debug -!Lib/linux/Release - -Lib/debug/graphite2.lib -Lib/release/graphite2.lib -Lib/linux/libfieldworks-fdo.pc -Lib/linux/Debug/libgraphite2.a -Lib/linux/Release/libgraphite2.a Lib/icu*.lib DistFiles/Icu*/data @@ -143,6 +142,3 @@ DistFiles/Templates/GOLDEtic.xml DistFiles/Templates/NewLangProj.fwdata DistFiles/Templates/POS.xml DistFiles/Templates/SemDom.xml - -Src/Kernel/FwKernelTlb.idl -Src/Kernel/*.idh diff --git a/Bin/mkComFWDlgs-tst.bat b/Bin/mkComFWDlgs-tst.bat deleted file mode 100755 index c200de1f76..0000000000 --- a/Bin/mkComFWDlgs-tst.bat +++ /dev/null @@ -1,34 +0,0 @@ -@if "%_echo%"=="" echo off - -rem ***** Set BUILD_ROOT to the root of the FieldWorks project. ***** -call %0\..\_EnsureRoot.bat - -set BUILD_ONLY_NOTEST=%1 -if "%BUILD_ONLY_NOTEST%"=="DONTRUN" shift - -set BUILD_MAKEFILE=%BUILD_ROOT%\src\CommonCOMDlgs\Test\testCmnFWDlgs.mak - -call %BUILD_ROOT%\bld\_mkcore.bat %1 %2 %3 %4 %5 %6 %7 %8 %9 -set BUILD_MAKEFILE= - -if "%FW_BUILD_CORE_ERROR%"=="1" goto done -if "%BUILD_ONLY_NOTEST%"=="DONTRUN" goto done - -call %BUILD_ROOT%\Bin\_setLatestBuildConfig.bat -echo . -%BUILD_ROOT%\Output\%BUILD_CONFIG%\testCmnFWDlgs.exe -echo . -rem NOTE: Windows batch files always implicitly compare errorlevels >=, so the following line -rem will ONLY go to done if errorlevel == 0 (or rather, <= 0). The echo command doesn't set errorlevel. -if NOT ERRORLEVEL 1 goto done -echo ******** testCmnFWDlgs.exe FAILED! ******** -set FW_TEST_ERROR=1 - -:done -set BUILD_CONFIG= -set BUILD_ONLY_NOTEST= - -rem Report a meaningful error level. -if "%FW_BUILD_CORE_ERROR%"=="1" exit /b 1 -if "%FW_TEST_ERROR%"=="1" exit /b 2 -exit /b 0 diff --git a/Bin/mkComFWDlgs.bat b/Bin/mkComFWDlgs.bat deleted file mode 100755 index 57b22bcf0c..0000000000 --- a/Bin/mkComFWDlgs.bat +++ /dev/null @@ -1,12 +0,0 @@ -@if "%_echo%"=="" echo off - -rem ***** Set BUILD_ROOT to the root of the FieldWorks project. ***** -call %0\..\_EnsureRoot.bat - -set BUILD_MAKEFILE=%BUILD_ROOT%\Src\CommonCOMDlgs\CmnFwDlgs.mak - -call %BUILD_ROOT%\bld\_mkcore.bat %1 %2 %3 %4 %5 %6 %7 %8 %9 - -set BUILD_MAKEFILE= - -echo Done building the DLL!? diff --git a/Bin/mkWidgLib.bat b/Bin/mkWidgLib.bat deleted file mode 100755 index da5df444a4..0000000000 --- a/Bin/mkWidgLib.bat +++ /dev/null @@ -1,10 +0,0 @@ -@if "%_echo%"=="" echo off - -rem ***** Set BUILD_ROOT to the root of the FieldWorks project. ***** -call %0\..\_EnsureRoot.bat - -set BUILD_MAKEFILE=%BUILD_ROOT%\src\Widgets\WidgetsLib.mak - -call %BUILD_ROOT%\bld\_mkcore.bat %1 %2 %3 %4 %5 %6 %7 %8 %9 - -set BUILD_MAKEFILE= diff --git a/Bin/mkall-tst.bat b/Bin/mkall-tst.bat index 4c831994c8..a13db1dc53 100755 --- a/Bin/mkall-tst.bat +++ b/Bin/mkall-tst.bat @@ -32,9 +32,6 @@ call %FWROOT%\bin\_setTstBuildError mkvw-tst call %FWROOT%\bin\mkdba-tst.bat %1 %2 %3 %4 %5 %6 %7 %8 %9 call %FWROOT%\bin\_setTstBuildError mkdba-tst -call %FWROOT%\bin\mkComFWDlgs-tst.bat %1 %2 %3 %4 %5 %6 %7 %8 %9 -call %FWROOT%\bin\_setTstBuildError mkComFWDlgs-tst - call %FWROOT%\bin\mkDbSvcs-tst.bat %1 %2 %3 %4 %5 %6 %7 %8 %9 call %FWROOT%\bin\_setTstBuildError mkDbSvcs-tst diff --git a/Bld/_init.mak.lnx b/Bld/_init.mak.lnx deleted file mode 100644 index 21a6ed8edd..0000000000 --- a/Bld/_init.mak.lnx +++ /dev/null @@ -1,91 +0,0 @@ -# need to set BUILD_ROOT before including this file -# to check env var an error if BUILD_ROOT isn't set - -# need to set BUILD_PRODUCT before incuding this file - -# GCC46 is 1 if running GCC >= 4.6, otherwise 0 -GCC46 := $(shell expr `gcc -dumpversion | cut -f1-2 -d.` \>= 4.6) - -ARCH := $(shell uname -m) -SRC = $(BUILD_ROOT)/Src -LIBCOM_DIR = $(BUILD_ROOT)/../libcom - -COM_DIR = $(LIBCOM_DIR)/COM -WIN32BASE_DIR = $(LIBCOM_DIR)/Win32Base -WIN32MORE_DIR = $(LIBCOM_DIR)/Win32More - -WIN32BASE_INC = $(WIN32BASE_DIR)/include -COM_INC = $(COM_DIR)/include -WIN32MORE_INC = $(WIN32MORE_DIR)/include - -WIN32BASE_BUILD = $(WIN32BASE_DIR)/src/build$(ARCH) -COM_BUILD = $(COM_DIR)/build$(ARCH) -WIN32MORE_BUILD = $(WIN32MORE_DIR)/src/build$(ARCH) - -WIN32BASE_LIB = $(WIN32BASE_BUILD) -COM_LIB = $(COM_BUILD)/lib -WIN32MORE_LIB = $(WIN32MORE_BUILD) - -FWINCLUDE = $(BUILD_ROOT)/Include -FWOUTPUT = $(BUILD_ROOT)/Output_$(ARCH) -COM_OUT_DIR = $(FWOUTPUT)/Common - -# defines the root dir for where the object files get built -OBJ_DIR=$(BUILD_ROOT)/Obj_$(ARCH) - -# default BUILD_TYPE is debug -# -# b : Bounds -# d : Debug -# r : Release -# p : Profile -ifndef BUILD_TYPE -BUILD_TYPE=d -endif -ifndef BUILD_CONFIG -BUILD_CONFIG=Debug -endif - -# defines the root dir for where the intermetidate files get built -INT_DIR=$(OBJ_DIR)/$(BUILD_CONFIG)/$(BUILD_PRODUCT) - -OUT_DIR = $(FWOUTPUT)/$(BUILD_CONFIG) - -# todo work out a way of executing these -CREATE_OUT_DIR=$(shell mkdir -p $(OUT_DIR)) -CREATE_INT_DIR=$(shell mkdir -p $(INT_DIR)) - -# includes are the special rules -include $(BUILD_ROOT)/Bld/_rule.mak.lnx - -# list of useful defines. -DEBUGPROCS_OBJ = $(OBJ_DIR)/$(BUILD_CONFIG)/$(DEBUGPROCS_NAME) -GENERIC_OBJ = $(OBJ_DIR)/$(BUILD_CONFIG)/$(GENERIC_NAME) -KERNEL_OBJ = $(OBJ_DIR)/$(BUILD_CONFIG)/$(KERNEL_NAME) -APPCORE_OBJ= $(OBJ_DIR)/$(BUILD_CONFIG)/$(APPCORE_NAME) -TEXT_OBJ= $(OBJ_DIR)/$(BUILD_CONFIG)/$(TEXT_NAME) -CELLAR_OBJ= $(OBJ_DIR)/$(BUILD_CONFIG)/$(CELLAR_NAME) -VIEWS_OBJ= $(OBJ_DIR)/$(BUILD_CONFIG)/$(VIEWS_NAME) - -DEBUGPROCS_SRC = $(SRC)/$(DEBUGPROCS_NAME) -GENERIC_SRC = $(SRC)/$(GENERIC_NAME) -KERNEL_SRC = $(SRC)/$(KERNEL_NAME) -APPCORE_SRC = $(SRC)/$(APPCORE_NAME) -TEXT_SRC = $(SRC)/$(TEXT_NAME) -CELLAR_SRC = $(SRC)/$(CELLAR_NAME) -VIEWS_SRC = $(SRC)/$(VIEWS_NAME) - -# Include user specific settings --include $(BUILD_ROOT)/Bld/_user.mak.lnx - -# fw-icu needs to take precedence in PKG_CONFIG_PATH in order for pkg-config to -# refer to it, for it to be used. For example, -# PKG_CONFIG_PATH=/usr/lib/fieldworks/lib/pkgconfig \ -# pkg-config icu-i18n --variable=prefix -ICU_INSTALL_DIR ?= $(shell pkg-config icu-i18n --variable=prefix) -# ENHANCE: have the icuNN-bin-fw package install in bin instead of icu-bin and use `pkg-config icu-i18n --variable=bindir` -ICU_BIN_DIR = $(ICU_INSTALL_DIR)/icu-bin - -# REVIEW: Is it still needed to append BUILD_ROOT/Bin to PATH? -PATH := $(PATH):$(shell $(BUILD_ROOT)/Bin/abs.py $(BUILD_ROOT)/Bin) -export PATH diff --git a/Bld/_rule.mak.lnx b/Bld/_rule.mak.lnx deleted file mode 100644 index e47bdd3b22..0000000000 --- a/Bld/_rule.mak.lnx +++ /dev/null @@ -1,18 +0,0 @@ -# Build Rules - -# For c programs -$(INT_DIR)/%.o: %.c - @mkdir -p $(@D) - $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) \ - -c $(input) -o {$(INT_DIR)}$(output) - -# For C++ programs: -$(INT_DIR)/%.o: %.cpp - @mkdir -p $(@D) - $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) \ - -c $< -o $@ -MMD -MF $(@:%.o=%.d) - -# precompiled headers -$(INT_DIR)/%.h.gch: %.h - @mkdir -p $(@D) - $(COMPILE.cc) -o $@ $< diff --git a/Bld/_user.mak.lnx.example b/Bld/_user.mak.lnx.example deleted file mode 100644 index b6494608df..0000000000 --- a/Bld/_user.mak.lnx.example +++ /dev/null @@ -1,7 +0,0 @@ -REMOTE_WIN32_DEV_HOST := gonebyebye -REMOTE_WIN32_DEV_PORT := 22 -# Where to find include files on the remote Windows machine. Remember to quote any space -# in the path name! -MIDL_INCLUDE_DIR := "C:\\MicrosoftPlatformSDKforWindowsServer2003R2\\Include" - -ICU_INSTALL_DIR := $(BUILD_ROOT)/Lib/src/icu/install$(ARCH) diff --git a/Build/Agent/dependencies.config b/Build/Agent/dependencies.config deleted file mode 100644 index 884058c79f..0000000000 --- a/Build/Agent/dependencies.config +++ /dev/null @@ -1,41 +0,0 @@ -# This git config file lists the build dependencies for building FieldWorks on Linux. -# -# Possible sections are [common], which applies to all versions of Ubuntu/Debian, -# distribution-specific sections, e.g. [Ubuntu] (generated by running lsb_release -i -s), -# and version-specific sections, e.g. [precise]. Version-specific names are generated by running -# lsb_release -c -s. -# Each section can have up to three variables: -# any - applies to all architectures -# i386 and amd64 - applies only to 32- or 64-bit architecture (output of dpkg --print-architecture) -# -# [common] -# any=build-essential automake uuid-dev -# i386=xvfb -# -# [precise] -# any=xulrunner-1.9.2 -# -# # For quantal use the same packages as for precise -# [quantal] -# any=@precise.any - -[common] -any=build-essential automake uuid-dev libenchant-dev xutils-dev libboost-dev libboost-test-dev \ -graphicsmagick-libmagick-dev-compat libxklavier-dev libgtkmm-2.4-dev cli-common-dev \ -mono5-sil libgdiplus5-sil gtk-sharp5-sil libgtk3.0-cil git-gui unzip gawk tofrodos \ -ttf-mscorefonts-installer fonts-sil-charis xvfb xserver-xephyr metacity ibus bison \ -libgif-dev libjpeg-dev libexif-dev libhunspell-dev libtool wget icu-dev-fw lame \ -mono5-sil-msbuild python3 libgtk3.0-cil-dev dotnet-sdk-3.1 dotnet-sdk-5.0 fieldworks-enc-converters - -[xenial] -any=libtiff5-dev openjdk-8-jre cli-common-dev xchm - -[bionic] -any=@xenial.any - -[focal] -# python-is-python2 is required for Chorus's hg to work (LT-20521) -any=@bionic.any python-is-python2 - -[jessie] -any=libtiff5-dev openjdk-7-jre mono-gmcs diff --git a/Build/FieldWorks.proj b/Build/FieldWorks.proj index 832be1ba67..46731c9446 100644 --- a/Build/FieldWorks.proj +++ b/Build/FieldWorks.proj @@ -21,7 +21,7 @@ - + @@ -30,7 +30,6 @@ - diff --git a/Build/FwBuildTasks.targets b/Build/FwBuildTasks.targets index d240962a36..e727744c72 100644 --- a/Build/FwBuildTasks.targets +++ b/Build/FwBuildTasks.targets @@ -27,9 +27,6 @@ - - - diff --git a/Build/Installer.targets b/Build/Installer.targets index 502b0adf8f..74357e2575 100644 --- a/Build/Installer.targets +++ b/Build/Installer.targets @@ -46,6 +46,8 @@ + 1 $(MajorVersionSegment) @@ -102,12 +104,9 @@ --> - - - - + - + @@ -149,7 +148,8 @@ $(fwrt)\Output\$(Configuration) - + + @@ -434,7 +434,7 @@ x86 x64 - b$(BaseBuildish)_ + b$(BASE_BUILD_NUMBER)_ @@ -475,7 +475,8 @@ "$(ApplicationName)" $(SafeApplicationName) $(BaseVersion) $(BuildVersion) "$(AppBuildMasterDir)/$(BinDirSuffix)" "$(AppBuildDir)/$(BinDirSuffix)" "$(AppBuildMasterDir)/$(DataDirSuffix)" "$(AppBuildDir)/$(DataDirSuffix)" $(ProductIdGuid) $(UpgradeCodeGuid) $(CompGGS) "$(Manufacturer)" $(SafeManufacturer) $(Arch) - + + diff --git a/Build/Linux.targets b/Build/Linux.targets deleted file mode 100644 index 9f4df0ade7..0000000000 --- a/Build/Linux.targets +++ /dev/null @@ -1,289 +0,0 @@ - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Build/NuGet.targets b/Build/NuGet.targets index 237b7468df..2500b864f6 100644 --- a/Build/NuGet.targets +++ b/Build/NuGet.targets @@ -5,16 +5,11 @@ $(MSBuildThisFileDirectory) $(NuGetToolsPath)nuget-windows/packages.config - $(NuGetToolsPath)nuget-linux/packages.config $(NuGetToolsPath)nuget-common/packages.config $(NuGetToolsPath)NuGet.exe "$(NuGetExePath)" - - [ -d $HOME ] || export HOME=`mktemp -d --tmpdir nuget_home.XXXXX`; mono --runtime=v4.0.30319 $(NuGetExePath) $(NuGetCommand) restore "$(CommonPackagesConfig)" -NonInteractive -PackagesDirectory "$(fwrt)/packages" -PackageSaveMode "nuspec;nupkg" @@ -22,19 +17,9 @@ - - + - - - - @@ -53,8 +38,6 @@ - - diff --git a/Build/SetupInclude.targets b/Build/SetupInclude.targets index f11d059ce6..bf0ec751ca 100644 --- a/Build/SetupInclude.targets +++ b/Build/SetupInclude.targets @@ -79,9 +79,6 @@ - - 14.0 - Current @@ -93,16 +90,10 @@ - - - - - - @@ -127,9 +118,6 @@ - - - @@ -183,35 +171,20 @@ - - - - - - - - - - - - - - - @@ -241,20 +214,12 @@ - - - - - - - - @@ -272,20 +237,6 @@ - - - - - - - - @@ -332,7 +283,6 @@ build all - UNIX WIN32 false false diff --git a/Build/Src/FwBuildTasks/Substitute.cs b/Build/Src/FwBuildTasks/Substitute.cs index a13517b32f..b7b404184b 100644 --- a/Build/Src/FwBuildTasks/Substitute.cs +++ b/Build/Src/FwBuildTasks/Substitute.cs @@ -77,11 +77,11 @@ public override bool Execute() var numberOfDays = Convert.ToInt32(Math.Truncate(DateTime.Now.ToOADate())).ToString(); fileContents = regex.Replace(fileContents, numberOfDays); - // GHA builds set the RELEASE_BASE_BUILD_NUMBER in the environment - var buildNumber = Environment.GetEnvironmentVariable("RELEASE_BASE_BUILD_NUMBER"); + // FW's GHA build scripts set FW_BUILD_NUMBER in the environment + var buildNumber = Environment.GetEnvironmentVariable("FW_BUILD_NUMBER"); if (string.IsNullOrEmpty(buildNumber)) { - // fall back to number of days if no RELEASE_BASE_BUILD_NUMBER is in the environment + // fall back to number of days if no FW_BUILD_NUMBER is in the environment buildNumber = numberOfDays; } regex = new Regex("\\$BUILDNUMBER"); diff --git a/Build/buildLocalLibraries.sh b/Build/buildLocalLibraries.sh index dd77514556..7579fd9242 100755 --- a/Build/buildLocalLibraries.sh +++ b/Build/buildLocalLibraries.sh @@ -6,7 +6,7 @@ libpalaso_dir="" liblcm_dir="" chorus_dir="" libpalaso_net_ver="net462" -liblcm_net_ver="net461" +liblcm_net_ver="net462" chorus_net_ver="net462" mkall_targets_file="mkall.targets" packages_dir="../packages" @@ -46,7 +46,7 @@ function delete_and_pack_liblcm { (cd "$liblcm_dir/artifacts" && rm *nupkg) echo "Running 'dotnet pack' in the liblcm directory: $liblcm_dir" - pack_output=$(cd "$liblcm_dir" && dotnet pack -c Debug -p:TargetFrameworks=$liblcm_net_ver) + pack_output=$(cd "$liblcm_dir" && dotnet pack -c Debug) # Extract version number using regex if [[ $pack_output =~ $version_regex ]]; then @@ -91,7 +91,7 @@ function delete_and_pack_chorus { (cd "$chorus_dir/output" && rm *nupkg) echo "Running 'dotnet pack' in the chorus directory: $chorus_dir" - pack_output=$(cd "$chorus_dir" && dotnet pack -c Debug -p:TargetFrameworks=$chorus_net_ver) + pack_output=$(cd "$chorus_dir" && dotnet pack -c Debug) # Extract version number using regex if [[ $pack_output =~ $version_regex ]]; then @@ -136,7 +136,7 @@ function delete_and_pack_libpalaso { (cd "$libpalaso_dir/output" && rm *nupkg) echo "Running 'dotnet pack' in the libpalaso directory: $libpalaso_dir" - pack_output=$(cd "$libpalaso_dir" && dotnet pack -c Debug -p:TargetFrameworks=$libpalaso_net_ver) + pack_output=$(cd "$libpalaso_dir" && dotnet pack -c Debug) # Extract version number using regex if [[ $pack_output =~ $version_regex ]]; then diff --git a/Build/bumpVersion.py b/Build/bumpVersion.py new file mode 100644 index 0000000000..9282a2b738 --- /dev/null +++ b/Build/bumpVersion.py @@ -0,0 +1,124 @@ +import argparse +import subprocess +import re + +# The script is in the 'Build' folder, so the path to the version file is one level up. +VERSION_FILE = '../Src/MasterVersionInfo.txt' + +def run_command(command, check=True): + """Runs a shell command and returns the output.""" + try: + result = subprocess.run(command, shell=True, check=check, capture_output=True, text=True) + return result.stdout.strip() + except subprocess.CalledProcessError as e: + print(f"Error executing command: {command}") + print(e.stderr) + return None + +def read_version_file(): + """Reads the version file and returns a dictionary.""" + versions = {} + try: + with open(VERSION_FILE, 'r') as f: + for line in f: + if '=' in line: + key, value = line.strip().split('=', 1) + versions[key] = value + except FileNotFoundError: + print(f"Error: Version file not found at {VERSION_FILE}") + return None + return versions + +def write_version_file(versions): + """Writes the new version to the file.""" + try: + with open(VERSION_FILE, 'w') as f: + for key, value in versions.items(): + f.write(f"{key}={value}\n") + except Exception as e: + print(f"Error writing to version file: {e}") + return False + return True + +def main(): + parser = argparse.ArgumentParser(description="Bump software version for release.") + group = parser.add_mutually_exclusive_group(required=True) + group.add_argument('-m', '--major', action='store_true', help='Bump the major version.') + group.add_argument('-i', '--minor', action='store_true', help='Bump the minor version.') + group.add_argument('-r', '--revision', action='store_true', help='Bump the revision version.') + parser.add_argument('-s', '--stability', choices=['Alpha', 'Beta', ''], default=None, help='Set the stability level.') + args = parser.parse_args() + + # Read current version + current_versions = read_version_file() + if not current_versions: + return + + fw_major = int(current_versions.get('FWMAJOR', 0)) + fw_minor = int(current_versions.get('FWMINOR', 0)) + fw_revision = int(current_versions.get('FWREVISION', 0)) + fw_beta = current_versions.get('FWBETAVERSION', '') + + # Get current branch + current_branch = run_command("git rev-parse --abbrev-ref HEAD") + if not current_branch: + return + + # Validate branch name + branch_pattern = rf"^(release/{fw_major}\.{fw_minor}|hotfix/{fw_major}\.{fw_minor}\.{fw_revision})$" + if not re.match(branch_pattern, current_branch): + print(f"Error: Current branch '{current_branch}' does not match the expected format.") + return + + # Git stash + print("Stashing any local changes...") + if run_command("git stash") is None: + print("Git stash failed. Aborting.") + return + + # Git pull + print("Performing git pull...") + if run_command("git pull") is None: + print("Git pull failed. Please resolve issues manually and re-run.") + return + + # Calculate new version + new_versions = current_versions.copy() + if args.major: + new_versions['FWMAJOR'] = str(fw_major + 1) + new_versions['FWMINOR'] = '0' + new_versions['FWREVISION'] = '0' + elif args.minor: + new_versions['FWMINOR'] = str(fw_minor + 1) + new_versions['FWREVISION'] = '0' + elif args.revision: + new_versions['FWREVISION'] = str(fw_revision + 1) + + # Handle stability only if the flag was provided + if args.stability is not None: + new_versions['FWBETAVERSION'] = args.stability + + # Display changes + print("--- Version Bump ---") + print(f"Old Version: {fw_major}.{fw_minor}.{fw_revision} {fw_beta}") + print(f"New Version: {new_versions['FWMAJOR']}.{new_versions['FWMINOR']}.{new_versions['FWREVISION']} {new_versions['FWBETAVERSION']}") + + # Write the new version file + if not write_version_file(new_versions): + return + + # Git commit + new_version_string = f"{new_versions['FWMAJOR']}.{new_versions['FWMINOR']}.{new_versions['FWREVISION']}" + if new_versions['FWBETAVERSION']: + new_version_string += f" {new_versions['FWBETAVERSION']}" + + print("Committing version bump...") + run_command(f"git add {VERSION_FILE}") + if run_command(f"git commit -m \"Bump version to {new_version_string}\"") is None: + print("Git commit failed. Aborting.") + return + + print("Version bump successful. Ready to push.") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/Build/mkall.targets b/Build/mkall.targets index 38c0cdf470..d821c2147f 100644 --- a/Build/mkall.targets +++ b/Build/mkall.targets @@ -1,7 +1,7 @@ - + @@ -9,18 +9,8 @@ - - - - - - - - - - - - + + @@ -32,18 +22,13 @@ Fragments="@(Fragments)" Platform="$(Platform)" MSBuildArchitecture="$(Platform)"/> - + - @@ -54,11 +39,6 @@ BuildRoot="$(fwrt)" BuildArch="'$(Platform)'" WorkingDirectory="$(fwrt)\Src\Generic"/> - @@ -69,11 +49,6 @@ BuildRoot="$(fwrt)" BuildArch="'$(Platform)'" WorkingDirectory="$(fwrt)\Bin"/> - @@ -89,7 +64,7 @@ - + - - @@ -123,11 +88,6 @@ BuildRoot="$(fwrt)" BuildArch="'$(Platform)'" WorkingDirectory="$(fwrt)\Src\views"/> - @@ -139,20 +99,11 @@ BuildRoot="$(fwrt)" BuildArch="'$(Platform)'" WorkingDirectory="$(fwrt)\Bin"/> - - - - - - + @@ -254,10 +205,9 @@ - + - @@ -273,7 +223,6 @@ - @@ -282,26 +231,20 @@ https://build.palaso.org/ - 5.2.0-beta0003 - 15.0.0-beta0117 + 6.0.0-beta0063 + 17.0.0-beta0089 9.4.0.1-beta - 11.0.0-beta0121 + 11.0.0-beta0149 70.1.123 - 3.4.2 + 3.7.4 1.1.1-beta0001 bt393 ExCss - - bt395 - ExCSS .lastSuccessful GeckofxHtmlToPdf_GeckofxHtmlToPdfGeckofx60Win32continuous GeckofxHtmlToPdf_Win64_continuous - GeckofxHtmlToPdf_GeckofxHtmlToPdfXenial64Geckofx60continuous .lastSuccessful - - dll.mdb pdb $(fwrt)/Downloads $(fwrt)/packages @@ -312,22 +255,16 @@ - - - - - - @@ -335,15 +272,14 @@ - + - @@ -366,7 +302,6 @@ - @@ -477,19 +412,18 @@ - $(LcmNugetVersion)lib/net461/*.*$(UsingLocalLibraryBuild) + $(LcmNugetVersion)lib/net462/*.*$(UsingLocalLibraryBuild) $(LcmNugetVersion)contentFiles/**/*.*$(UsingLocalLibraryBuild) - $(LcmNugetVersion)tools/net461/*.*$(UsingLocalLibraryBuild) - $(LcmNugetVersion)lib/net461/*.*$(UsingLocalLibraryBuild) + $(LcmNugetVersion)tools/net462/*.*$(UsingLocalLibraryBuild) + $(LcmNugetVersion)lib/net462/*.*$(UsingLocalLibraryBuild) $(LcmNugetVersion)contentFiles/**/*.*$(UsingLocalLibraryBuild) - $(LcmNugetVersion)lib/net461/*.*$(UsingLocalLibraryBuild) - $(LcmNugetVersion)lib/net461/*.*$(UsingLocalLibraryBuild) - $(LcmNugetVersion)lib/net461/*.*$(UsingLocalLibraryBuild) - $(LcmNugetVersion)lib/net461/*.*$(UsingLocalLibraryBuild) - $(LcmNugetVersion)lib/net461/*.*$(UsingLocalLibraryBuild) - $(LcmNugetVersion)lib/net461/*.*$(UsingLocalLibraryBuild) + $(LcmNugetVersion)lib/net462/*.*$(UsingLocalLibraryBuild) + $(LcmNugetVersion)lib/net462/*.*$(UsingLocalLibraryBuild) + $(LcmNugetVersion)lib/net462/*.*$(UsingLocalLibraryBuild) + $(LcmNugetVersion)lib/net462/*.*$(UsingLocalLibraryBuild) + $(LcmNugetVersion)lib/net462/*.*$(UsingLocalLibraryBuild) + $(LcmNugetVersion)lib/net462/*.*$(UsingLocalLibraryBuild) 2.0.7lib/net46/*.*true - 7.1.0-final.1.21458.1lib/net45/*.*true 6.0.0lib/netstandard2.0/*.*true 2.4.6lib/net40/*.*true 1.4.0lib/netstandard2.0/*.*true @@ -519,11 +453,12 @@ $(PalasoNugetVersion)lib/net462/*.*$(UsingLocalLibraryBuild) $(PalasoNugetVersion)lib/net462/*.*$(UsingLocalLibraryBuild) $(PalasoNugetVersion)lib/net462/*.*$(UsingLocalLibraryBuild) + 4.6.0lib/net462/*.*true 9.0.0lib/net462/*.*true - 4.5.1lib/net461/*.*true - 4.5.4lib/net461/*.*true + 4.5.5lib/net461/*.*true 4.6.0lib/netstandard2.0/*.*true - 7.0.0lib/net461/*.* + 9.0.0-beta0001lib/net461/*.* + 9.0.0-beta0001lib/net461/*.* 1.4.3-beta0010lib/net461/*.* 1.4.3-beta0010contentFiles/any/any/*.*true 0.15.0lib/*.*true @@ -531,10 +466,10 @@ 2.2.0lib/net45/*.*true 1.0.0.39lib/net461/*.*true 1.0.0.39lib/net461/*.*true + 1.0.0lib/*.*true - $(ChorusNugetVersion)lib/net461/*.*$(UsingLocalLibraryBuild) - $(ChorusNugetVersion)lib/net461/*.*$(UsingLocalLibraryBuild) - $(ChorusNugetVersion)lib/net461/*.*$(UsingLocalLibraryBuild) + $(ChorusNugetVersion)lib/net462/*.*$(UsingLocalLibraryBuild) + $(ChorusNugetVersion)lib/net462/*.*$(UsingLocalLibraryBuild) 4.9.4lib/net45/*.*true 1.0.16lib/net461/*.* @@ -574,11 +509,6 @@ SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true"/> - - - @@ -622,8 +552,6 @@ - - @@ -642,19 +570,14 @@ 64 32 $(PackagesDir)/Geckofx60.$(Architecture).60.0.50 - $(PackagesDir)/Geckofx60.$(Architecture).Linux.60.0.51 win - linux - - - @@ -667,11 +590,12 @@ - + + @@ -685,6 +609,8 @@ + + @@ -694,7 +620,7 @@ SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true"/> - + @@ -719,14 +645,6 @@ Key="$(BUILDAGENT_HKCU)SOFTWARE/SIL/SilEncConverters40/DeveloperPluginDir" Value="$(dir-outputBase)\EC\Plugins" Condition="'$(OS)'=='Windows_NT'"/> - - - @@ -19,7 +18,9 @@ - + + + @@ -29,62 +30,64 @@ - + + - + - + - - - - + + + - + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - + - + + + diff --git a/Build/nuget-linux/packages.config b/Build/nuget-linux/packages.config deleted file mode 100644 index f544fd9826..0000000000 --- a/Build/nuget-linux/packages.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/Build/releaseTagger.py b/Build/releaseTagger.py new file mode 100644 index 0000000000..1c30801ac4 --- /dev/null +++ b/Build/releaseTagger.py @@ -0,0 +1,274 @@ +# A GUI utility to parse jenkins build results for repositories and commits +# and tag all the different repos with the same tag +# To be used when a release passes regression testing to record our base build +# and patch build contents +# First window takes the tag name and the text expected to be copied from the +# jenkins build results +# Example Expected Input: +# Revision: 65de9bfc2e656ec2b0f775d9385cc4fa04ed35c6 +# Repository: https://github.com/sillsdev/FieldWorks +# refs/remotes/origin/release/9.3 +# Revision: cd67d9d1a43d987229b60c5bb4d218fc4edabc69 +# Repository: https://github.com/sillsdev/FwHelps +# refs/remotes/origin/develop +# Revision: 5b1f23f9654ad4620ec847db86ddb83c4bb4b278 +# ect. +# After pasting it in clicking the button Parse Log and Tag +# will give an opportunity to select the local directories where +# each repository is cloned, this will be saved for future runs +# NOTE: This script was generated with AI assistance +import tkinter as tk +from tkinter import filedialog, messagebox, scrolledtext, ttk +import json +import os +import re +import subprocess + +# Path to config file +CONFIG_FILE = "repo_paths.json" + +# Regex to extract repo info from Jenkins log +REVISION_PATTERN = re.compile( + r"Revision:\s+([a-f0-9]+).*?Repository:\s+(https://[^\s\n]+)", + re.MULTILINE | re.DOTALL, +) + + +def load_repo_paths(): + if os.path.exists(CONFIG_FILE): + with open(CONFIG_FILE, "r", encoding="utf-8") as f: + return json.load(f) + return {} + + +def save_repo_paths(paths): + with open(CONFIG_FILE, "w", encoding="utf-8") as f: + json.dump(paths, f, indent=2) + + +def tag_commit(repo_path, sha, tag_name): + try: + subprocess.run(["git", "fetch"], cwd=repo_path, check=True) + subprocess.run(["git", "tag", tag_name, sha], cwd=repo_path, check=True) + subprocess.run( + ["git", "push", "origin", f"refs/tags/{tag_name}"], + cwd=repo_path, + check=True, + ) + return True + except subprocess.CalledProcessError as e: + messagebox.showerror("Git Error", f"Failed to tag {repo_path}: {e}") + return False + + +def parse_repos_from_log(log_text): + matches = REVISION_PATTERN.findall(log_text) + return [(sha, repo_url.strip()) for sha, repo_url in matches] + + +class GitTaggingApp: + def __init__(self, root): + self.root = root + self.root.title("Git Repository Tagging Tool") + self.root.geometry("800x600") + + # Create main frame + main_frame = ttk.Frame(root, padding="10") + main_frame.grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S)) + + # Configure grid weights + root.columnconfigure(0, weight=1) + root.rowconfigure(0, weight=1) + main_frame.columnconfigure(1, weight=1) + main_frame.rowconfigure(2, weight=1) + + # Tag name input + ttk.Label(main_frame, text="Tag Name:").grid( + row=0, column=0, sticky=tk.W, pady=(0, 5) + ) + self.tag_entry = ttk.Entry(main_frame, width=30) + self.tag_entry.grid(row=0, column=1, sticky=(tk.W, tk.E), pady=(0, 5)) + + # Jenkins log input + ttk.Label(main_frame, text="Jenkins Log Content:").grid( + row=1, column=0, sticky=(tk.W, tk.N), pady=(5, 0) + ) + + # Text area for log content + self.log_text = scrolledtext.ScrolledText(main_frame, height=20, width=80) + self.log_text.grid( + row=2, column=0, columnspan=2, sticky=(tk.W, tk.E, tk.N, tk.S), pady=(5, 10) + ) + + # Button frame + button_frame = ttk.Frame(main_frame) + button_frame.grid(row=3, column=0, columnspan=2, pady=(5, 0)) + + # Process button + self.process_btn = ttk.Button( + button_frame, + text="Process Log & Tag Repositories", + command=self.process_log, + ) + self.process_btn.pack(side=tk.LEFT, padx=(0, 10)) + + # Clear button + self.clear_btn = ttk.Button( + button_frame, text="Clear", command=self.clear_inputs + ) + self.clear_btn.pack(side=tk.LEFT) + + def clear_inputs(self): + self.tag_entry.delete(0, tk.END) + self.log_text.delete(1.0, tk.END) + + def process_log(self): + tag_name = self.tag_entry.get().strip() + log_content = self.log_text.get(1.0, tk.END).strip() + + if not tag_name: + messagebox.showerror("Error", "Please enter a tag name.") + return + + if not log_content: + messagebox.showerror("Error", "Please paste Jenkins log content.") + return + + self.run_tagging(tag_name, log_content) + + def browse_repo(self, repo_url, label, repo_paths): + path = filedialog.askdirectory(title=f"Select local path for {repo_url}") + if path: + repo_paths[repo_url] = path + label.config(text=path) + + def run_tagging(self, tag_name, log_text): + repo_paths = load_repo_paths() + repos = parse_repos_from_log(log_text) + + if not repos: + messagebox.showerror( + "Error", + "No repositories found in Jenkins log. Please check the log format.", + ) + return + + # Create repository selection window + repo_window = tk.Toplevel(self.root) + repo_window.title("Select Local Repository Paths") + repo_window.geometry("800x400") + + # Make window modal + repo_window.transient(self.root) + repo_window.grab_set() + + main_frame = ttk.Frame(repo_window, padding="10") + main_frame.pack(fill=tk.BOTH, expand=True) + + # Create scrollable frame for repositories + canvas = tk.Canvas(main_frame) + scrollbar = ttk.Scrollbar(main_frame, orient="vertical", command=canvas.yview) + scrollable_frame = ttk.Frame(canvas) + + scrollable_frame.bind( + "", lambda e: canvas.configure(scrollregion=canvas.bbox("all")) + ) + + canvas.create_window((0, 0), window=scrollable_frame, anchor="nw") + canvas.configure(yscrollcommand=scrollbar.set) + + # Headers + ttk.Label( + scrollable_frame, text="Repository URL", font=("TkDefaultFont", 9, "bold") + ).grid(row=0, column=0, sticky="w", padx=(0, 10), pady=(0, 10)) + ttk.Label( + scrollable_frame, text="Local Path", font=("TkDefaultFont", 9, "bold") + ).grid(row=0, column=1, sticky="w", padx=(0, 10), pady=(0, 10)) + ttk.Label(scrollable_frame, text="SHA", font=("TkDefaultFont", 9, "bold")).grid( + row=0, column=2, sticky="w", padx=(0, 10), pady=(0, 10) + ) + + labels = {} + for i, (sha, repo_url) in enumerate(repos, 1): + # Repository URL (truncated for display) + display_url = repo_url if len(repo_url) <= 50 else repo_url[:47] + "..." + ttk.Label(scrollable_frame, text=display_url).grid( + row=i, column=0, sticky="w", padx=(0, 10), pady=2 + ) + + # Current path + current_path = repo_paths.get(repo_url, "") + path_text = current_path if current_path else "[Not set]" + if len(path_text) > 40: + path_text = "..." + path_text[-37:] + + label = ttk.Label(scrollable_frame, text=path_text, width=40) + label.grid(row=i, column=1, sticky="w", padx=(0, 10), pady=2) + labels[repo_url] = label + + # SHA (shortened) + ttk.Label(scrollable_frame, text=sha[:8] + "...", font=("Courier", 8)).grid( + row=i, column=2, sticky="w", padx=(0, 10), pady=2 + ) + + # Browse button + btn = ttk.Button( + scrollable_frame, + text="Browse", + command=lambda u=repo_url, l=label: self.browse_repo(u, l, repo_paths), + ) + btn.grid(row=i, column=3, padx=5, pady=2) + + canvas.pack(side="left", fill="both", expand=True) + scrollbar.pack(side="right", fill="y") + + # Button frame + button_frame = ttk.Frame(repo_window) + button_frame.pack(fill=tk.X, padx=10, pady=10) + + def on_submit(): + save_repo_paths(repo_paths) + success_count = 0 + total_count = len(repos) + + for sha, repo_url in repos: + local_path = repo_paths.get(repo_url) + if not local_path or not os.path.isdir(local_path): + messagebox.showerror( + "Missing Path", f"No valid path selected for:\n{repo_url}" + ) + return + + if tag_commit(local_path, sha, tag_name): + success_count += 1 + + if success_count == total_count: + messagebox.showinfo( + "Success", + f"Successfully tagged {success_count} repositories with tag '{tag_name}'.", + ) + else: + messagebox.showwarning( + "Partial Success", + f"Tagged {success_count} out of {total_count} repositories. Check error messages above.", + ) + + repo_window.destroy() + + def on_cancel(): + repo_window.destroy() + + ttk.Button(button_frame, text="Tag All Repositories", command=on_submit).pack( + side=tk.RIGHT, padx=(5, 0) + ) + ttk.Button(button_frame, text="Cancel", command=on_cancel).pack(side=tk.RIGHT) + + +def main(): + root = tk.Tk() + GitTaggingApp(root) + root.mainloop() + + +if __name__ == "__main__": + main() diff --git a/DistFiles/Language Explorer/Configuration/Grammar/DataTreeInclude.xml b/DistFiles/Language Explorer/Configuration/Grammar/DataTreeInclude.xml index 11c1f88825..9a1fbf89bc 100644 --- a/DistFiles/Language Explorer/Configuration/Grammar/DataTreeInclude.xml +++ b/DistFiles/Language Explorer/Configuration/Grammar/DataTreeInclude.xml @@ -76,16 +76,25 @@ - + + + + + + + - - - - + + + + + + + @@ -94,7 +103,7 @@ - + @@ -103,10 +112,10 @@ - + - + @@ -213,8 +222,10 @@ - - + + + + @@ -223,6 +234,7 @@ + @@ -236,7 +248,7 @@ - + diff --git a/DistFiles/Language Explorer/Configuration/Grammar/InflAffixTemplateInclude.xml b/DistFiles/Language Explorer/Configuration/Grammar/InflAffixTemplateInclude.xml index c91b8871df..98b7e25cff 100644 --- a/DistFiles/Language Explorer/Configuration/Grammar/InflAffixTemplateInclude.xml +++ b/DistFiles/Language Explorer/Configuration/Grammar/InflAffixTemplateInclude.xml @@ -38,6 +38,12 @@ + + + + + + @@ -63,6 +69,8 @@ + + diff --git a/DistFiles/Language Explorer/Configuration/Lexicon/Edit/toolConfiguration.xml b/DistFiles/Language Explorer/Configuration/Lexicon/Edit/toolConfiguration.xml index 9cca590fb0..c207f590db 100644 --- a/DistFiles/Language Explorer/Configuration/Lexicon/Edit/toolConfiguration.xml +++ b/DistFiles/Language Explorer/Configuration/Lexicon/Edit/toolConfiguration.xml @@ -54,6 +54,29 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DistFiles/Language Explorer/Configuration/Lexicon/RDE/toolConfiguration.xml b/DistFiles/Language Explorer/Configuration/Lexicon/RDE/toolConfiguration.xml index 5d44a05d58..d42b88fdd3 100644 --- a/DistFiles/Language Explorer/Configuration/Lexicon/RDE/toolConfiguration.xml +++ b/DistFiles/Language Explorer/Configuration/Lexicon/RDE/toolConfiguration.xml @@ -210,7 +210,7 @@ - + diff --git a/DistFiles/Language Explorer/Configuration/Lexicon/areaConfiguration.xml b/DistFiles/Language Explorer/Configuration/Lexicon/areaConfiguration.xml index c780b932a2..cc0dd533b2 100644 --- a/DistFiles/Language Explorer/Configuration/Lexicon/areaConfiguration.xml +++ b/DistFiles/Language Explorer/Configuration/Lexicon/areaConfiguration.xml @@ -388,7 +388,7 @@ - + diff --git a/DistFiles/Language Explorer/Configuration/Lexicon/browseDialogColumns.xml b/DistFiles/Language Explorer/Configuration/Lexicon/browseDialogColumns.xml index 4b350c0836..8ae52e8ded 100644 --- a/DistFiles/Language Explorer/Configuration/Lexicon/browseDialogColumns.xml +++ b/DistFiles/Language Explorer/Configuration/Lexicon/browseDialogColumns.xml @@ -111,6 +111,8 @@ + + @@ -210,8 +212,8 @@ - - + + @@ -654,6 +655,7 @@ + @@ -674,6 +676,7 @@ + diff --git a/DistFiles/Language Explorer/Configuration/Parts/LexEntryParts.xml b/DistFiles/Language Explorer/Configuration/Parts/LexEntryParts.xml index 04d9b4f0c2..2fdd39064d 100644 --- a/DistFiles/Language Explorer/Configuration/Parts/LexEntryParts.xml +++ b/DistFiles/Language Explorer/Configuration/Parts/LexEntryParts.xml @@ -343,35 +343,34 @@ - + - + - + - + - + - - + - + @@ -423,25 +422,25 @@ - + - + - + - + - + - + - + @@ -466,55 +465,55 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -538,13 +537,13 @@ - + - + - + @@ -586,28 +585,28 @@ - + - + - + - + - + - + - + - + @@ -625,7 +624,7 @@ - + @@ -633,7 +632,7 @@ - + @@ -1006,7 +1005,7 @@ - + diff --git a/DistFiles/Language Explorer/Configuration/Parts/LexSenseParts.xml b/DistFiles/Language Explorer/Configuration/Parts/LexSenseParts.xml index 94b079af3a..90756e6b64 100644 --- a/DistFiles/Language Explorer/Configuration/Parts/LexSenseParts.xml +++ b/DistFiles/Language Explorer/Configuration/Parts/LexSenseParts.xml @@ -214,12 +214,12 @@ - + - + @@ -273,6 +273,20 @@ + + + + + + + + + + + + + + @@ -437,7 +451,7 @@ diff --git a/DistFiles/Language Explorer/Configuration/Parts/Morphology.fwlayout b/DistFiles/Language Explorer/Configuration/Parts/Morphology.fwlayout index 2dba760cef..8351f7c0c3 100644 --- a/DistFiles/Language Explorer/Configuration/Parts/Morphology.fwlayout +++ b/DistFiles/Language Explorer/Configuration/Parts/Morphology.fwlayout @@ -43,18 +43,22 @@ + + + + @@ -93,41 +97,49 @@ + + - + - - + + + + - + + + - + + + @@ -171,9 +183,9 @@ - + - + @@ -205,7 +217,7 @@ - + @@ -453,27 +465,31 @@ - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + diff --git a/DistFiles/Language Explorer/Configuration/Parts/MorphologyParts.xml b/DistFiles/Language Explorer/Configuration/Parts/MorphologyParts.xml index f73bf68716..68338f81e1 100644 --- a/DistFiles/Language Explorer/Configuration/Parts/MorphologyParts.xml +++ b/DistFiles/Language Explorer/Configuration/Parts/MorphologyParts.xml @@ -181,10 +181,10 @@ - + - - + + @@ -231,10 +231,17 @@ - + + + + + + + @@ -351,30 +358,54 @@ - - - - + + + + + + + + n/a + + + - + + + n/a + - - - + + + + + + n/a + + + - - - - - + + + + + + + + + + + n/a + + @@ -448,19 +479,19 @@ - - - + + - + - - + + @@ -660,6 +691,11 @@ + + + + + @@ -729,7 +765,16 @@ - + + + + + + + + @@ -2001,6 +2144,14 @@ + + + + + + + + @@ -2551,7 +2702,13 @@ - + + + + + @@ -2788,7 +2945,7 @@ - + diff --git a/DistFiles/Language Explorer/Configuration/Parts/ReversalParts.xml b/DistFiles/Language Explorer/Configuration/Parts/ReversalParts.xml index 80828253a2..776b75f7fb 100644 --- a/DistFiles/Language Explorer/Configuration/Parts/ReversalParts.xml +++ b/DistFiles/Language Explorer/Configuration/Parts/ReversalParts.xml @@ -7,10 +7,7 @@ class="SIL.FieldWorks.XWorks.LexEd.ReversalIndexEntryChangeHandler"/> - + diff --git a/DistFiles/Language Explorer/Configuration/Parts/ViewsLayout.xsd b/DistFiles/Language Explorer/Configuration/Parts/ViewsLayout.xsd index 617f0588dd..a73d2714a3 100644 --- a/DistFiles/Language Explorer/Configuration/Parts/ViewsLayout.xsd +++ b/DistFiles/Language Explorer/Configuration/Parts/ViewsLayout.xsd @@ -1,4 +1,4 @@ - + diff --git a/DistFiles/Language Explorer/Configuration/UtilityCatalogInclude.xml b/DistFiles/Language Explorer/Configuration/UtilityCatalogInclude.xml index d741ba7198..d0284c837f 100644 --- a/DistFiles/Language Explorer/Configuration/UtilityCatalogInclude.xml +++ b/DistFiles/Language Explorer/Configuration/UtilityCatalogInclude.xml @@ -3,6 +3,7 @@ + diff --git a/DistFiles/Language Explorer/Configuration/Words/areaConfiguration.xml b/DistFiles/Language Explorer/Configuration/Words/areaConfiguration.xml index 48287bafa4..25ba7351bb 100644 --- a/DistFiles/Language Explorer/Configuration/Words/areaConfiguration.xml +++ b/DistFiles/Language Explorer/Configuration/Words/areaConfiguration.xml @@ -28,8 +28,14 @@ + + + + + + - + @@ -286,6 +292,10 @@ + + + + diff --git a/DistFiles/Language Explorer/Configuration/strings-en.xml b/DistFiles/Language Explorer/Configuration/strings-en.xml index f7a9ceacc7..d096e91d2a 100644 --- a/DistFiles/Language Explorer/Configuration/strings-en.xml +++ b/DistFiles/Language Explorer/Configuration/strings-en.xml @@ -48,7 +48,7 @@ - + @@ -135,7 +135,7 @@ - + @@ -227,8 +227,8 @@ - - + + @@ -303,6 +303,12 @@ + + + + + + diff --git a/DistFiles/Language Explorer/DefaultConfigurations/Classified Dictionary/SemanticDomainSenses.fwdictconfig b/DistFiles/Language Explorer/DefaultConfigurations/Classified Dictionary/SemanticDomainSenses.fwdictconfig new file mode 100644 index 0000000000..6a79f2438c --- /dev/null +++ b/DistFiles/Language Explorer/DefaultConfigurations/Classified Dictionary/SemanticDomainSenses.fwdictconfig @@ -0,0 +1,965 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MainEntrySubsenses + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MainEntrySubsenses + + + + \ No newline at end of file diff --git a/DistFiles/Language Explorer/DefaultConfigurations/README.txt b/DistFiles/Language Explorer/DefaultConfigurations/README.txt deleted file mode 100644 index 58e91ca831..0000000000 --- a/DistFiles/Language Explorer/DefaultConfigurations/README.txt +++ /dev/null @@ -1 +0,0 @@ -This folder contains the default configurations for Dictionary and ReversalIndexes (February 2014). It may in the future contain default configurations for the Notebook, Classified Dictionary, and possibly others. The format of the configuration is defined by the DictionaryConfiguration.xsd. These files will be distributed with FLEx and used in new projects and in cases where the user has not made any modifications to them. \ No newline at end of file diff --git a/DistFiles/Language Explorer/DefaultConfigurations/Readme.md b/DistFiles/Language Explorer/DefaultConfigurations/Readme.md new file mode 100644 index 0000000000..a979eca507 --- /dev/null +++ b/DistFiles/Language Explorer/DefaultConfigurations/Readme.md @@ -0,0 +1,13 @@ +# Configuration Files Folder Readme + +This folder contains the **default configurations** for **Dictionary** and **ReversalIndexes** (February 2014). + +It may in the future contain default configurations for the Notebook, Classified Dictionary, and possibly others. + +## Configuration Details + +The format of the configuration is defined by the schema file: [DictionaryConfiguration.xsd](../Configuration/DictionaryConfiguration.xsd). + +These files will be distributed with **FLEx** (FieldWorks Language Explorer) and used in: +* New projects. +* Cases where the user has not made any modifications to them. \ No newline at end of file diff --git a/DistFiles/Language Explorer/Export Templates/Filtered-LIFT.xml b/DistFiles/Language Explorer/Export Templates/Filtered-LIFT.xml index 9b4d6943f7..09c2eabfab 100644 --- a/DistFiles/Language Explorer/Export Templates/Filtered-LIFT.xml +++ b/DistFiles/Language Explorer/Export Templates/Filtered-LIFT.xml @@ -1,5 +1,5 @@ -Export the lexicon as files in a folder according to the Lexicon Interchange FormaT (LIFT) version 0.13. See http://code.google.com/p/lift-standard for more information about LIFT. It places in a folder a .lift file and the other files and folders needed to make a complete "LIFT export". Exports only records showing in the current filter. Outputs all fields for each record. +Export the lexicon as files in a folder according to the Lexicon Interchange FormaT (LIFT) version 0.13. See https://github.com/sillsdev/lift-standard/ for more information about LIFT. It places in a folder a .lift file and the other files and folders needed to make a complete "LIFT export". Exports only records showing in the current filter. Outputs all fields for each record. diff --git a/DistFiles/Language Explorer/Export Templates/Interlinear/FlexInterlinear.xsd b/DistFiles/Language Explorer/Export Templates/Interlinear/FlexInterlinear.xsd index 53179901c6..97b6a49572 100644 --- a/DistFiles/Language Explorer/Export Templates/Interlinear/FlexInterlinear.xsd +++ b/DistFiles/Language Explorer/Export Templates/Interlinear/FlexInterlinear.xsd @@ -1,4 +1,4 @@ - + @@ -7,6 +7,21 @@ + + + + + + + + + + + + + + + @@ -122,14 +137,26 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -153,7 +180,16 @@ - + + + + + + + + + + diff --git a/DistFiles/Language Explorer/Export Templates/Interlinear/xml2OO.xsl b/DistFiles/Language Explorer/Export Templates/Interlinear/xml2OO.xsl index a7d0bed55d..07f092ffb3 100644 --- a/DistFiles/Language Explorer/Export Templates/Interlinear/xml2OO.xsl +++ b/DistFiles/Language Explorer/Export Templates/Interlinear/xml2OO.xsl @@ -182,7 +182,7 @@ version="1.0"> - + Interlin_Morph_ @@ -209,6 +209,8 @@ version="1.0"> + + @@ -218,7 +220,10 @@ version="1.0"> - + + + + @@ -240,11 +245,15 @@ version="1.0"> Interlin_Morpheme_Gloss_ + + + + - - - - + + + + diff --git a/DistFiles/Language Explorer/Export Templates/Interlinear/xml2Word2007.xsl b/DistFiles/Language Explorer/Export Templates/Interlinear/xml2Word2007.xsl index 48b9faaffd..a6338f9c44 100644 --- a/DistFiles/Language Explorer/Export Templates/Interlinear/xml2Word2007.xsl +++ b/DistFiles/Language Explorer/Export Templates/Interlinear/xml2Word2007.xsl @@ -649,7 +649,7 @@ This gets invoked only for the items of the first morph of the word. We find all the corresponding items in the other morphs (and this one) and output them as a matrix row. The homograph number item is omitted because we don't want a separate row for these.--> - + @@ -721,6 +721,8 @@ + + @@ -732,6 +734,9 @@ + + + @@ -802,14 +807,17 @@ + + + + + + - - - diff --git a/DistFiles/Language Explorer/Export Templates/Interlinear/xml2XLingPapCommonConcatMorphemes.xsl b/DistFiles/Language Explorer/Export Templates/Interlinear/xml2XLingPapCommonConcatMorphemes.xsl index 558112ec09..075976867b 100644 --- a/DistFiles/Language Explorer/Export Templates/Interlinear/xml2XLingPapCommonConcatMorphemes.xsl +++ b/DistFiles/Language Explorer/Export Templates/Interlinear/xml2XLingPapCommonConcatMorphemes.xsl @@ -66,113 +66,150 @@ Elements to ignore or are handled elsewhere - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DistFiles/Language Explorer/Export Templates/LIFT.xml b/DistFiles/Language Explorer/Export Templates/LIFT.xml index 1fdc2e4169..af6fc15126 100644 --- a/DistFiles/Language Explorer/Export Templates/LIFT.xml +++ b/DistFiles/Language Explorer/Export Templates/LIFT.xml @@ -1,5 +1,5 @@ -Export the lexicon in the Lexicon Interchange FormaT (LIFT) version 0.13. A LIFT export consists of a folder with several files and folders inside of it. Although there is a single "LIFT file", a lift export is not complete without the whole folder and the other files that are included. See http://code.google.com/p/lift-standard for more information about LIFT. Exports all fields of all entries. +Export the lexicon in the Lexicon Interchange FormaT (LIFT) version 0.13. A LIFT export consists of a folder with several files and folders inside of it. Although there is a single "LIFT file", a lift export is not complete without the whole folder and the other files that are included. See https://github.com/sillsdev/lift-standard/ for more information about LIFT. Exports all fields of all entries. diff --git a/DistFiles/Language Explorer/Transforms/HermitCrabInput.dtd b/DistFiles/Language Explorer/Transforms/HermitCrabInput.dtd index be0a980483..3b6ad2ca9d 100644 --- a/DistFiles/Language Explorer/Transforms/HermitCrabInput.dtd +++ b/DistFiles/Language Explorer/Transforms/HermitCrabInput.dtd @@ -74,8 +74,8 @@ isActive (yes | no) "yes" > - - + + diff --git a/DistFiles/Linux/fieldworks-applications.desktop.appdata.xml b/DistFiles/Linux/fieldworks-applications.desktop.appdata.xml deleted file mode 100644 index ce15039b5e..0000000000 --- a/DistFiles/Linux/fieldworks-applications.desktop.appdata.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - fieldworks-applications.desktop - CC-BY-SA-3.0 - LGPL-2.1+ and MIT - FieldWorks Language Explorer - Suite of programs to manage language and cultural data - - - - FieldWorks is a suite of software tools to help language development teams - manage language and cultural data, with support for complex scripts. - - - - - - http://fieldworks.sil.org/wp-content/uploads/2010/06/lexicon-plain_500.png - Lexicon - - - - http://fieldworks.sil.org/ - - - fieldworks-flex - - - - - - - diff --git a/DistFiles/Linux/fieldworks-flex.1.xml b/DistFiles/Linux/fieldworks-flex.1.xml deleted file mode 100644 index 916919d7c2..0000000000 --- a/DistFiles/Linux/fieldworks-flex.1.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - fieldworks-flex - 1 - - - - fieldworks-flex - FieldWorks Language Explorer - - - - - fieldworks-flex - -db project - -help - -include flags - -locale langid - -restore file - -s server - -type value - - - - - DESCRIPTION - - fieldworks-flex - - - - -help - - Display the list of command line options. - - - - - -db project - - Specify the name of the project to load. - - - - - -type value - - - Specify the database type of the project, either "xml" or "db4ocs". - This can usually be inferred. - - - - - -s server - - - Specify the name of the server providing the project. This is not - needed if the project files are located on the local machine. - - - - - - -restore file - - Specify the FieldWorks backup file to be restored and then loaded. - - - - - -include flags - - - Paired with the -restore option, the flags parameter indicates which optional - files to restore. The flags parameter has the form "clsf", where: - - c - configuration files - l - linked files (audio-visual media, pictures, etc.) - s - spelling dictionary files - f - supporting files (fonts, keyboards, converters) - - - - - - - -locale langid - - - Specify the language identifier for the desired user interface localization. - - - - - - fieldworks-flex provides tools for dictionary development and morphological analysis via - parsing or interlinearization. A tool for recording cultural observations and analyses - is also included in fieldworks-flex. - - - A FieldWorks project consists of data related to a particular language and the people who - speak it. The last project with edited data when you exit fieldworks-flex is the project - that opens the next time you start it. - - - - - NOTES - - - /usr/bin/fieldworks-flex is a wrapper around the C# program - /usr/lib/fieldworks/FieldWorks.exe with the command line argument "-app Flex". - - - - - SEE ALSO - - unicodechareditor - - diff --git a/DistFiles/Linux/libTECkit_Compiler_x86.so b/DistFiles/Linux/libTECkit_Compiler_x86.so deleted file mode 100644 index ee0f13ddb0..0000000000 Binary files a/DistFiles/Linux/libTECkit_Compiler_x86.so and /dev/null differ diff --git a/DistFiles/Linux/libTECkit_Compiler_x86_64.so b/DistFiles/Linux/libTECkit_Compiler_x86_64.so deleted file mode 100755 index 96f18249d6..0000000000 Binary files a/DistFiles/Linux/libTECkit_Compiler_x86_64.so and /dev/null differ diff --git a/DistFiles/Linux/libTECkit_x86.so b/DistFiles/Linux/libTECkit_x86.so deleted file mode 100644 index 5d2acb520e..0000000000 Binary files a/DistFiles/Linux/libTECkit_x86.so and /dev/null differ diff --git a/DistFiles/Linux/libTECkit_x86_64.so b/DistFiles/Linux/libTECkit_x86_64.so deleted file mode 100755 index 8030336314..0000000000 Binary files a/DistFiles/Linux/libTECkit_x86_64.so and /dev/null differ diff --git a/DistFiles/Linux/unicodechareditor.1.xml b/DistFiles/Linux/unicodechareditor.1.xml deleted file mode 100644 index b52fd5be22..0000000000 --- a/DistFiles/Linux/unicodechareditor.1.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - unicodechareditor - 1 - - - - unicodechareditor - Unicode Character Editor - - - - - unicodechareditor - -i - - - - - DESCRIPTION - - unicodechareditor - - - - -i - - Install the custom character definitions - - - - - unicodechareditor provides a tool for defining additional (Private Use Area) - Unicode characters for use within the FieldWorks programs. - - - - - NOTES - - - /usr/bin/unicodechareditor is a wrapper around the C# program - /usr/lib/fieldworks/UnicodeCharEditor.exe. - - - - - SEE ALSO - - fieldworks-flex - - diff --git a/DistFiles/Templates/ar.ldml b/DistFiles/Templates/ar.ldml index 05e7d34283..55427a4aa8 100644 --- a/DistFiles/Templates/ar.ldml +++ b/DistFiles/Templates/ar.ldml @@ -1,7 +1,7 @@ - @@ -1527,21 +1551,25 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} + {1} {0} + {1} {0} + {1} {0} + h B @@ -1561,7 +1589,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ G y MMM G y MMM d G y MMM d, E - h a + h a HH h:mm a HH:mm @@ -1601,13 +1629,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} - {0} – {1} + {0} – {1} - h B – h B + h B – h B h–h B - h:mm B – h:mm B + h:mm B – h:mm B h:mm–h:mm B h:mm–h:mm B @@ -1615,56 +1643,56 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ d–d - G y – G y + G y – G y G y–y - GGGGG y-MM – GGGGG y-MM - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – GGGGG y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – GGGGG y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – GGGGG y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – GGGGG y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – GGGGG y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E - G y MMM – G y MMM + G y MMM – G y MMM G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – G y MMM d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – G y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – G y MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – G y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E HH–HH - h a – h a - h–h a + h a – h a + h–h a HH:mm–HH:mm HH:mm–HH:mm - h:mm a – h:mm a + h:mm a – h:mm a h:mm–h:mm a h:mm–h:mm a @@ -1673,7 +1701,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH:mm–HH:mm v - h:mm a – h:mm a v + h:mm a – h:mm a v h:mm–h:mm a v h:mm–h:mm a v @@ -1681,65 +1709,65 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH v - h a – h a v - h–h a v + h a – h a v + h–h a v MM–MM - MM-dd – MM-dd - MM-dd – MM-dd + MM-dd – MM-dd + MM-dd – MM-dd - MM-dd, E – MM-dd, E - MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E LLL–LLL MMM d–d - MMM d – MMM d + MMM d – MMM d - MMM d, E – MMM d, E - MMM d, E – MMM d, E + MMM d, E – MMM d, E + MMM d, E – MMM d, E G y–y - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E G y MMMM–MMMM - G y MMMM – y MMMM + G y MMMM – y MMMM @@ -2819,21 +2847,25 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} + {1} {0} + {1} {0} + {1} {0} + h B @@ -2870,7 +2902,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ U MMM U MMM d r(U) - r-MM-dd r(U) r-MM r-MM-dd @@ -2898,13 +2929,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} - {0} – {1} + {0} – {1} - h B – h B + h B – h B h–h B - h:mm B – h:mm B + h:mm B – h:mm B h:mm–h:mm B h:mm–h:mm B @@ -2915,15 +2946,15 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH - h a – h a - h–h a + h a – h a + h–h a HH:mm–HH:mm HH:mm–HH:mm - h:mm a – h:mm a + h:mm a – h:mm a h:mm–h:mm a h:mm–h:mm a @@ -2932,7 +2963,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH:mm–HH:mm v - h:mm a – h:mm a v + h:mm a – h:mm a v h:mm–h:mm a v h:mm–h:mm a v @@ -2940,65 +2971,65 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH v - h a – h a v - h–h a v + h a – h a v + h–h a v MM–MM - MM-dd – MM-dd - MM-dd – MM-dd + MM-dd – MM-dd + MM-dd – MM-dd - MM-dd, E – MM-dd, E - MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E LLL–LLL MMM d–d - MMM d – MMM d + MMM d – MMM d - MMM d, E – MMM d, E - MMM d, E – MMM d, E + MMM d, E – MMM d, E + MMM d, E – MMM d, E U–U - y-MM – y-MM - y-MM – y-MM + y-MM – y-MM + y-MM – y-MM - y-MM-dd – y-MM-dd - y-MM-dd – y-MM-dd - y-MM-dd – y-MM-dd + y-MM-dd – y-MM-dd + y-MM-dd – y-MM-dd + y-MM-dd – y-MM-dd - y-MM-dd, E – y-MM-dd, E - y-MM-dd, E – y-MM-dd, E - y-MM-dd, E – y-MM-dd, E + y-MM-dd, E – y-MM-dd, E + y-MM-dd, E – y-MM-dd, E + y-MM-dd, E – y-MM-dd, E U MMM–MMM - U MMM – U MMM + U MMM – U MMM U MMM d–d - U MMM d – MMM d - U MMM d – U MMM d + U MMM d – MMM d + U MMM d – U MMM d - U MMM d, E – MMM d, E - U MMM d, E – MMM d, E - U MMM d, E – U MMM d, E + U MMM d, E – MMM d, E + U MMM d, E – MMM d, E + U MMM d, E – U MMM d, E U MMMM–MMMM - U MMMM – U MMMM + U MMMM – U MMMM @@ -3007,34 +3038,34 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - توت - بابه - هاتور - كيهك - طوبة - أمشير - برمهات - برمودة - بشنس - بؤونة - أبيب - مسرى - نسيئ + Tout + Baba + Hator + Kiahk + Toba + Amshir + Baramhat + Baramouda + Bashans + Paona + Epep + Mesra + Nasie - ١ - ٢ - ٣ - ٤ - ٥ - ٦ - ٧ - ٨ - ٩ - ١٠ - ١١ - ١٢ - ١٣ + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 توت @@ -3054,19 +3085,19 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - توت - بابه - هاتور - كيهك - طوبة - أمشير - برمهات - برمودة - بشنس - بؤونة - أبيب - مسرى - نسيئ + Tout + Baba + Hator + Kiahk + Toba + Amshir + Baramhat + Baramouda + Bashans + Paona + Epep + Mesra + Nasie ١ @@ -3084,19 +3115,19 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ١٣ - توت - بابه - هاتور - كيهك - طوبة - أمشير - برمهات - برمودة - بشنس - بؤونة - أبيب - مسرى - نسيئ + Tout + Baba + Hator + Kiahk + Toba + Amshir + Baramhat + Baramouda + Bashans + Paona + Epep + Mesra + Nasie @@ -3321,21 +3352,25 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} + {1} {0} + {1} {0} + {1} {0} + h B @@ -3355,7 +3390,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ G y MMM G y MMM d G y MMM d, E - h a + h a HH h:mm a HH:mm @@ -3395,13 +3430,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} - {0} – {1} + {0} – {1} - h B – h B + h B – h B h–h B - h:mm B – h:mm B + h:mm B – h:mm B h:mm–h:mm B h:mm–h:mm B @@ -3409,56 +3444,56 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ d–d - G y – G y + G y – G y G y–y - GGGGG y-MM – GGGGG y-MM - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – GGGGG y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – GGGGG y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – GGGGG y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – GGGGG y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – GGGGG y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E - G y MMM – G y MMM + G y MMM – G y MMM G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – G y MMM d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – G y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – G y MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – G y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E HH–HH - h a – h a - h–h a + h a – h a + h–h a HH:mm–HH:mm HH:mm–HH:mm - h:mm a – h:mm a + h:mm a – h:mm a h:mm–h:mm a h:mm–h:mm a @@ -3467,7 +3502,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH:mm–HH:mm v - h:mm a – h:mm a v + h:mm a – h:mm a v h:mm–h:mm a v h:mm–h:mm a v @@ -3475,65 +3510,65 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH v - h a – h a v - h–h a v + h a – h a v + h–h a v MM–MM - MM-dd – MM-dd - MM-dd – MM-dd + MM-dd – MM-dd + MM-dd – MM-dd - MM-dd, E – MM-dd, E - MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E LLL–LLL MMM d–d - MMM d – MMM d + MMM d – MMM d - MMM d, E – MMM d, E - MMM d, E – MMM d, E + MMM d, E – MMM d, E + MMM d, E – MMM d, E G y–y - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E G y MMMM–MMMM - G y MMMM – y MMMM + G y MMMM – y MMMM @@ -4612,21 +4647,25 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} + {1} {0} + {1} {0} + {1} {0} + h B @@ -4663,7 +4702,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ U MMM U MMM d r(U) - r-MM-dd r(U) r-MM r-MM-dd @@ -4691,13 +4729,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} - {0} – {1} + {0} – {1} - h B – h B + h B – h B h–h B - h:mm B – h:mm B + h:mm B – h:mm B h:mm–h:mm B h:mm–h:mm B @@ -4708,15 +4746,15 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH - h a – h a - h–h a + h a – h a + h–h a HH:mm–HH:mm HH:mm–HH:mm - h:mm a – h:mm a + h:mm a – h:mm a h:mm–h:mm a h:mm–h:mm a @@ -4725,7 +4763,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH:mm–HH:mm v - h:mm a – h:mm a v + h:mm a – h:mm a v h:mm–h:mm a v h:mm–h:mm a v @@ -4733,65 +4771,65 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH v - h a – h a v - h–h a v + h a – h a v + h–h a v MM–MM - MM-dd – MM-dd - MM-dd – MM-dd + MM-dd – MM-dd + MM-dd – MM-dd - MM-dd, E – MM-dd, E - MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E LLL–LLL MMM d–d - MMM d – MMM d + MMM d – MMM d - MMM d, E – MMM d, E - MMM d, E – MMM d, E + MMM d, E – MMM d, E + MMM d, E – MMM d, E U–U - y-MM – y-MM - y-MM – y-MM + y-MM – y-MM + y-MM – y-MM - y-MM-dd – y-MM-dd - y-MM-dd – y-MM-dd - y-MM-dd – y-MM-dd + y-MM-dd – y-MM-dd + y-MM-dd – y-MM-dd + y-MM-dd – y-MM-dd - y-MM-dd, E – y-MM-dd, E - y-MM-dd, E – y-MM-dd, E - y-MM-dd, E – y-MM-dd, E + y-MM-dd, E – y-MM-dd, E + y-MM-dd, E – y-MM-dd, E + y-MM-dd, E – y-MM-dd, E U MMM–MMM - U MMM – U MMM + U MMM – U MMM U MMM d–d - U MMM d – MMM d - U MMM d – U MMM d + U MMM d – MMM d + U MMM d – U MMM d - U MMM d, E – MMM d, E - U MMM d, E – MMM d, E - U MMM d, E – U MMM d, E + U MMM d, E – MMM d, E + U MMM d, E – MMM d, E + U MMM d, E – U MMM d, E U MMMM–MMMM - U MMMM – U MMMM + U MMMM – U MMMM @@ -5114,21 +5152,25 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} + {1} {0} + {1} {0} + {1} {0} + h B @@ -5148,7 +5190,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ G y MMM G y MMM d G y MMM d, E - h a + h a HH h:mm a HH:mm @@ -5188,13 +5230,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} - {0} – {1} + {0} – {1} - h B – h B + h B – h B h–h B - h:mm B – h:mm B + h:mm B – h:mm B h:mm–h:mm B h:mm–h:mm B @@ -5202,56 +5244,56 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ d–d - G y – G y + G y – G y G y–y - GGGGG y-MM – GGGGG y-MM - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – GGGGG y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – GGGGG y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – GGGGG y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – GGGGG y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – GGGGG y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E - G y MMM – G y MMM + G y MMM – G y MMM G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – G y MMM d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – G y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – G y MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – G y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E HH–HH - h a – h a - h–h a + h a – h a + h–h a HH:mm–HH:mm HH:mm–HH:mm - h:mm a – h:mm a + h:mm a – h:mm a h:mm–h:mm a h:mm–h:mm a @@ -5260,7 +5302,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH:mm–HH:mm v - h:mm a – h:mm a v + h:mm a – h:mm a v h:mm–h:mm a v h:mm–h:mm a v @@ -5268,65 +5310,65 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH v - h a – h a v - h–h a v + h a – h a v + h–h a v MM–MM - MM-dd – MM-dd - MM-dd – MM-dd + MM-dd – MM-dd + MM-dd – MM-dd - MM-dd, E – MM-dd, E - MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E LLL–LLL MMM d–d - MMM d – MMM d + MMM d – MMM d - MMM d, E – MMM d, E - MMM d, E – MMM d, E + MMM d, E – MMM d, E + MMM d, E – MMM d, E G y–y - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E G y MMMM–MMMM - G y MMMM – y MMMM + G y MMMM – y MMMM @@ -5646,21 +5688,25 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} + {1} {0} + {1} {0} + {1} {0} + h B @@ -5680,7 +5726,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ G y MMM G y MMM d G y MMM d, E - h a + h a HH h:mm a HH:mm @@ -5720,13 +5766,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} - {0} – {1} + {0} – {1} - h B – h B + h B – h B h–h B - h:mm B – h:mm B + h:mm B – h:mm B h:mm–h:mm B h:mm–h:mm B @@ -5734,56 +5780,56 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ d–d - G y – G y + G y – G y G y–y - GGGGG y-MM – GGGGG y-MM - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – GGGGG y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – GGGGG y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – GGGGG y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – GGGGG y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – GGGGG y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E - G y MMM – G y MMM + G y MMM – G y MMM G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – G y MMM d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – G y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – G y MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – G y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E HH–HH - h a – h a - h–h a + h a – h a + h–h a HH:mm–HH:mm HH:mm–HH:mm - h:mm a – h:mm a + h:mm a – h:mm a h:mm–h:mm a h:mm–h:mm a @@ -5792,7 +5838,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH:mm–HH:mm v - h:mm a – h:mm a v + h:mm a – h:mm a v h:mm–h:mm a v h:mm–h:mm a v @@ -5800,65 +5846,65 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH v - h a – h a v - h–h a v + h a – h a v + h–h a v MM–MM - MM-dd – MM-dd - MM-dd – MM-dd + MM-dd – MM-dd + MM-dd – MM-dd - MM-dd, E – MM-dd, E - MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E LLL–LLL MMM d–d - MMM d – MMM d + MMM d – MMM d - MMM d, E – MMM d, E - MMM d, E – MMM d, E + MMM d, E – MMM d, E + MMM d, E – MMM d, E G y–y - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E G y MMMM–MMMM - G y MMMM – y MMMM + G y MMMM – y MMMM @@ -6173,23 +6219,31 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ + {1}، {0} + + {1} في {0} + {1}، {0} + + {1} في {0} - {1} في {0} + {1}، {0} + - {1} في {0} + {1}, {0} + h B @@ -6209,15 +6263,15 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ MMM y G d MMM y G E، d MMM y G - h a + h a HH h:mm a HH:mm h:mm:ss a HH:mm:ss L - d/M - E، d/M + d/M + E، d/M LLL d MMM E، d MMM @@ -6227,7 +6281,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ y G M/y G d/M/y G - E، d/M/y G + E، d/M/y G MMM y G d MMM y G E، d MMM y G @@ -6251,11 +6305,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {0} – {1} - h B – h B + h B – h B h–h B - h:mm B – h:mm B + h:mm B – h:mm B h:mm–h:mm B h:mm–h:mm B @@ -6304,15 +6358,15 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH - h a – h a - h–h a + h a – h a + h–h a HH:mm–HH:mm HH:mm–HH:mm - h:mm a – h:mm a + h:mm a – h:mm a h:mm–h:mm a h:mm–h:mm a @@ -6321,7 +6375,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH:mm–HH:mm v - h:mm a – h:mm a v + h:mm a – h:mm a v h:mm–h:mm a v h:mm–h:mm a v @@ -6329,19 +6383,19 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH v - h a – h a v - h–h a v + h a – h a v + h–h a v M–M - d-M – d-M - d-M – d-M + d/M – d/M + d/M – d/M - E، d/M – E، d/M - E، d/M – E، d/M + E، d/M – E، d/M + E، d/M – E، d/M MMM–MMM @@ -6399,32 +6453,32 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - يناير - فبراير - مارس - أبريل - مايو - يونيو - يوليو - أغسطس - سبتمبر - أكتوبر - نوفمبر - ديسمبر + M01 + M02 + M03 + M04 + M05 + M06 + M07 + M08 + M09 + M10 + M11 + M12 - ي - ف - م - أ - و - ن - ل - غ - س - ك - ب - د + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 يناير @@ -6443,18 +6497,18 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - يناير - فبراير - مارس - أبريل - مايو - يونيو - يوليو - أغسطس - سبتمبر - أكتوبر - نوفمبر - ديسمبر + M01 + M02 + M03 + M04 + M05 + M06 + M07 + M08 + M09 + M10 + M11 + M12 ي @@ -6471,40 +6525,40 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ د - يناير - فبراير - مارس - أبريل - مايو - يونيو - يوليو - أغسطس - سبتمبر - أكتوبر - نوفمبر - ديسمبر + M01 + M02 + M03 + M04 + M05 + M06 + M07 + M08 + M09 + M10 + M11 + M12 - الأحد - الاثنين - الثلاثاء - الأربعاء - الخميس - الجمعة - السبت + Sun + Mon + Tue + Wed + Thu + Fri + Sat - ح - ن - ث - ر - خ - ج - س + S + M + T + W + T + F + S أحد @@ -6527,13 +6581,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - الأحد - الاثنين - الثلاثاء - الأربعاء - الخميس - الجمعة - السبت + Sun + Mon + Tue + Wed + Thu + Fri + Sat ح @@ -6545,38 +6599,38 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ س - أحد - إثنين - ثلاثاء - أربعاء - خميس - جمعة - سبت + Sun + Mon + Tue + Wed + Thu + Fri + Sat - الأحد - الاثنين - الثلاثاء - الأربعاء - الخميس - الجمعة - السبت + Sun + Mon + Tue + Wed + Thu + Fri + Sat - الربع الأول - الربع الثاني - الربع الثالث - الربع الرابع + Q1 + Q2 + Q3 + Q4 - ١ - ٢ - ٣ - ٤ + 1 + 2 + 3 + 4 الربع الأول @@ -6587,10 +6641,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - الربع الأول - الربع الثاني - الربع الثالث - الربع الرابع + Q1 + Q2 + Q3 + Q4 ١ @@ -6599,97 +6653,60 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ٤ - الربع الأول - الربع الثاني - الربع الثالث - الربع الرابع + Q1 + Q2 + Q3 + Q4 - ظهرًا - بعد الظهر ص - مساءً + م فجرًا ص + ظهرًا + بعد الظهر + مساءً في المساء ليلاً - م + صباحًا ظهرًا بعد الظهر - ص مساءً - فجرًا - صباحًا منتصف الليل - ليلاً - م - ظهرًا - بعد الظهر - ص - مساءً في الصباح صباحًا - في المساء - ليلاً - م - ظهرًا - بعد الظهر - ص - مساءً - فجرًا - ص منتصف الليل - ليلاً - م - ظهرًا - بعد الظهر - ص - مساءً - فجرًا صباحًا - منتصف الليل - ليلاً - م - ظهرًا - بعد الظهر صباحًا - مساءً - فجرًا - صباحًا - منتصف الليل - ليلاً مساءً + صباحًا قبل الميلاد - قبل الحقبة الحالية ميلادي - بعد الميلاد ق.م - ق. م م - ب.م BCE @@ -6751,23 +6768,31 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ + {1}، {0} + + {1} في {0} + {1}، {0} + + {1} في {0} - {1}, {0} + {1}، {0} + - {1}, {0} + {1}، {0} + h B @@ -6783,11 +6808,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ E h:mm:ss a E HH:mm:ss y G - GGGGG y-MM-dd + dd-MM-y GGGGG MMM y G d MMM y G E، d MMM y G - h a + h a HH h:mm a HH:mm @@ -6798,25 +6823,20 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ h:mm a v HH:mm v L - d/M - E، d/M + d/M + E، d/M dd/MM LLL d MMM E، d MMM d MMMM E، d MMMM - الأسبوع W من MMMM - الأسبوع W من MMMM - الأسبوع W من MMMM - الأسبوع W من MMMM - الأسبوع W من MMMM الأسبوع W من MMMM mm:ss y M/y d/M/y - E، d/M/y + E، d/M/y MM/y MMM y d MMM y @@ -6824,11 +6844,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ MMMM y QQQ y QQQQ y - الأسبوع w من سنة Y - الأسبوع w من سنة Y - الأسبوع w من سنة Y - الأسبوع w من سنة Y - الأسبوع w من سنة Y الأسبوع w من سنة Y @@ -6847,11 +6862,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {0} – {1} - h B – h B + h B – h B h–h B - h:mm B – h:mm B + h:mm B – h:mm B h:mm–h:mm B h:mm–h:mm B @@ -6900,15 +6915,15 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH - h a – h a - h–h a + h a – h a + h–h a HH:mm–HH:mm HH:mm–HH:mm - h:mm a – h:mm a + h:mm a – h:mm a h:mm–h:mm a h:mm–h:mm a @@ -6917,7 +6932,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH:mm–HH:mm v - h:mm a – h:mm a v + h:mm a – h:mm a v h:mm–h:mm a v h:mm–h:mm a v @@ -6925,19 +6940,19 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH v - h a – h a v - h–h a v + h a – h a v + h–h a v M–M - d-M – d-M - M/d – M/d + d/M – d/M + d/M – d/M - E، d/M – E، d/M - E، d/M – E، d/M + E، d/M – E، d/M + E، d/M – E، d/M MMM–MMM @@ -6971,22 +6986,22 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ E، d/M/y – E، d/M/y - MMM – MMM، y - MMM، y – MMM، y + MMM – MMM y + MMM y – MMM y - d–d MMM، y - d MMM – d MMM، y - d MMM، y – d MMM، y + d–d MMM y + d MMM – d MMM y + d MMM y – d MMM y E، d – E، d MMM، y E، d MMM – E، d MMM، y - E، d MMM، y – E، d MMM، y + E، d MMM y – E، d MMM y - MMMM – MMMM، y - MMMM، y – MMMM، y + MMMM – MMMM y + MMMM y – MMMM y @@ -6995,20 +7010,20 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - تشري - مرحشوان - كيسلو - طيفت - شباط - آذار الأول - آذار - آذار الثاني - نيسان - أيار - سيفان - تموز - آب - أيلول + Tishri + Heshvan + Kislev + Tevet + Shevat + Adar I + Adar + Adar II + Nisan + Iyar + Sivan + Tamuz + Av + Elul 1 @@ -7045,20 +7060,20 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - تشري - مرحشوان - كيسلو - طيفت - شباط - آذار الأول - آذار - آذار الثاني - نيسان - أيار - سيفان - تموز - آب - أيلول + Tishri + Heshvan + Kislev + Tevet + Shevat + Adar I + Adar + Adar II + Nisan + Iyar + Sivan + Tamuz + Av + Elul 1 @@ -7077,20 +7092,20 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ 13 - تشري - مرحشوان - كيسلو - طيفت - شباط - آذار الأول - آذار - آذار الثاني - نيسان - أيار - سيفان - تموز - آب - أيلول + Tishri + Heshvan + Kislev + Tevet + Shevat + Adar I + Adar + Adar II + Nisan + Iyar + Sivan + Tamuz + Av + Elul @@ -7260,26 +7275,26 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - EEEE، d MMMM y G + G y MMMM d, EEEE GyMMMMEEEEd - d MMMM y G + G y MMMM d GyMMMMd - dd/MM/y G - GyMMdd + G y MMM d + GyMMMd - d/M/y GGGGG - GGGGGyMd + GGGGG y-MM-dd + GGGGGyMMdd @@ -7314,21 +7329,25 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} + {1} {0} + {1} {0} + {1} {0} + h B @@ -7348,7 +7367,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ G y MMM G y MMM d G y MMM d, E - h a + h a HH h:mm a HH:mm @@ -7388,13 +7407,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} - {0} – {1} + {0} – {1} - h B – h B + h B – h B h–h B - h:mm B – h:mm B + h:mm B – h:mm B h:mm–h:mm B h:mm–h:mm B @@ -7402,56 +7421,56 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ d–d - G y – G y + G y – G y G y–y - GGGGG y-MM – GGGGG y-MM - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – GGGGG y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – GGGGG y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – GGGGG y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – GGGGG y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – GGGGG y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E - G y MMM – G y MMM + G y MMM – G y MMM G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – G y MMM d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – G y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – G y MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – G y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E HH–HH - h a – h a - h–h a + h a – h a + h–h a HH:mm–HH:mm HH:mm–HH:mm - h:mm a – h:mm a + h:mm a – h:mm a h:mm–h:mm a h:mm–h:mm a @@ -7460,7 +7479,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH:mm–HH:mm v - h:mm a – h:mm a v + h:mm a – h:mm a v h:mm–h:mm a v h:mm–h:mm a v @@ -7468,65 +7487,65 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH v - h a – h a v - h–h a v + h a – h a v + h–h a v MM–MM - MM-dd – MM-dd - MM-dd – MM-dd + MM-dd – MM-dd + MM-dd – MM-dd - MM-dd, E – MM-dd, E - MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E LLL–LLL MMM d–d - MMM d – MMM d + MMM d – MMM d - MMM d, E – MMM d, E - MMM d, E – MMM d, E + MMM d, E – MMM d, E + MMM d, E – MMM d, E G y–y - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E G y MMMM–MMMM - G y MMMM – y MMMM + G y MMMM – y MMMM @@ -7840,21 +7859,25 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} + {1} {0} + {1} {0} + {1} {0} + h B @@ -7874,7 +7897,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ G y MMM G y MMM d G y MMM d, E - h a + h a HH h:mm a HH:mm @@ -7914,13 +7937,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} - {0} – {1} + {0} – {1} - h B – h B + h B – h B h–h B - h:mm B – h:mm B + h:mm B – h:mm B h:mm–h:mm B h:mm–h:mm B @@ -7928,56 +7951,56 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ d–d - G y – G y + G y – G y G y–y - GGGGG y-MM – GGGGG y-MM - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – GGGGG y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – GGGGG y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – GGGGG y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – GGGGG y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – GGGGG y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E - G y MMM – G y MMM + G y MMM – G y MMM G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – G y MMM d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – G y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – G y MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – G y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E HH–HH - h a – h a - h–h a + h a – h a + h–h a HH:mm–HH:mm HH:mm–HH:mm - h:mm a – h:mm a + h:mm a – h:mm a h:mm–h:mm a h:mm–h:mm a @@ -7986,7 +8009,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH:mm–HH:mm v - h:mm a – h:mm a v + h:mm a – h:mm a v h:mm–h:mm a v h:mm–h:mm a v @@ -7994,65 +8017,65 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH v - h a – h a v - h–h a v + h a – h a v + h–h a v MM–MM - MM-dd – MM-dd - MM-dd – MM-dd + MM-dd – MM-dd + MM-dd – MM-dd - MM-dd, E – MM-dd, E - MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E LLL–LLL MMM d–d - MMM d – MMM d + MMM d – MMM d - MMM d, E – MMM d, E - MMM d, E – MMM d, E + MMM d, E – MMM d, E + MMM d, E – MMM d, E G y–y - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E G y MMMM–MMMM - G y MMMM – y MMMM + G y MMMM – y MMMM @@ -8075,18 +8098,18 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ذو الحجة - ١ - ٢ - ٣ - ٤ - ٥ - ٦ - ٧ - ٨ - ٩ - ١٠ - ١١ - ١٢ + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 محرم @@ -8105,18 +8128,18 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - محرم - صفر - ربيع الأول - ربيع الآخر - جمادى الأولى - جمادى الآخرة - رجب - شعبان - رمضان - شوال - ذو القعدة - ذو الحجة + Muh. + Saf. + Rab. I + Rab. II + Jum. I + Jum. II + Raj. + Sha. + Ram. + Shaw. + Dhuʻl-Q. + Dhuʻl-H. ١ @@ -8133,18 +8156,18 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ١٢ - محرم - صفر - ربيع الأول - ربيع الآخر - جمادى الأولى - جمادى الآخرة - رجب - شعبان - رمضان - شوال - ذو القعدة - ذو الحجة + Muharram + Safar + Rabiʻ I + Rabiʻ II + Jumada I + Jumada II + Rajab + Shaʻban + Ramadan + Shawwal + Dhuʻl-Qiʻdah + Dhuʻl-Hijjah @@ -8312,30 +8335,12 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - - - EEEE، d MMMM y G - GyMMMMEEEEd - - - - - d MMMM y G - GyMMMMd - - d MMM y G GyMMMd - - - d/M/y GGGGG - GGGGGyMd - - @@ -8364,6 +8369,30 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ + + + {1} {0} + + + + + + {1} {0} + + + + + + {1} {0} + + + + + + {1} {0} + + + h B h:mm B @@ -8372,40 +8401,197 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ccc E h:mm B E h:mm:ss B - E، d - E HH:mm + d, E E h:mm a - E HH:mm:ss + E HH:mm E h:mm:ss a - y G - MMM y G - d MMM y G - E، d MMM y G + E HH:mm:ss + G y + GGGGG y-MM-dd + G y MMM + G y MMM d + G y MMM d, E + h a HH - h a - HH:mm h:mm a - HH:mm:ss + HH:mm h:mm:ss a + HH:mm:ss L - d/M - E، d/M + MM-dd + MM-dd, E LLL - d MMM - E، d MMM - d MMMM - y G - y G - M/y G - d/M/y G - E، d/M/y G - MMM y G - d MMM y G - E، d MMM y G - MMMM y G - QQQ y G - QQQQ y G + MMM d + MMM d, E + MMMM d + mm:ss + G y + G y + GGGGG y-MM + GGGGG y-MM-dd + GGGGG y-MM-dd, E + G y MMM + G y MMM d + G y MMM d, E + G y MMMM + G y QQQ + G y QQQQ + + {0} ({2}: {1}) + {0} {1} + {1} {0} + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} {1} + {0} ({2}: {1}) + {1} {0} + + + {0} – {1} + + h B – h B + h–h B + + + h:mm B – h:mm B + h:mm–h:mm B + h:mm–h:mm B + + + d–d + + + G y – G y + G y–y + + + GGGGG y-MM – GGGGG y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM + + + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – GGGGG y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + + + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – GGGGG y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + + + G y MMM – G y MMM + G y MMM–MMM + G y MMM – y MMM + + + G y MMM d–d + G y MMM d – G y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d + + + G y MMM d, E – MMM d, E + G y MMM d, E – G y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E + + + HH–HH + + + h a – h a + h–h a + + + HH:mm–HH:mm + HH:mm–HH:mm + + + h:mm a – h:mm a + h:mm–h:mm a + h:mm–h:mm a + + + HH:mm–HH:mm v + HH:mm–HH:mm v + + + h:mm a – h:mm a v + h:mm–h:mm a v + h:mm–h:mm a v + + + HH–HH v + + + h a – h a v + h–h a v + + + MM–MM + + + MM-dd – MM-dd + MM-dd – MM-dd + + + MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E + + + LLL–LLL + + + MMM d–d + MMM d – MMM d + + + MMM d, E – MMM d, E + MMM d, E – MMM d, E + + + G y–y + + + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM + + + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + + + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + + + G y MMM–MMM + G y MMM – y MMM + + + G y MMM d–d + G y MMM d – MMM d + G y MMM d – y MMM d + + + G y MMM d, E – MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E + + + G y MMMM–MMMM + G y MMMM – y MMMM + + @@ -8720,21 +8906,25 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} + {1} {0} + {1} {0} + {1} {0} + h B @@ -8754,7 +8944,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ G y MMM G y MMM d G y MMM d, E - h a + h a HH h:mm a HH:mm @@ -8794,13 +8984,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} - {0} – {1} + {0} – {1} - h B – h B + h B – h B h–h B - h:mm B – h:mm B + h:mm B – h:mm B h:mm–h:mm B h:mm–h:mm B @@ -8808,56 +8998,56 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ d–d - G y – G y + G y – G y G y–y - GGGGG y-MM – GGGGG y-MM - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – GGGGG y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – GGGGG y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – GGGGG y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – GGGGG y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – GGGGG y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E - G y MMM – G y MMM + G y MMM – G y MMM G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – G y MMM d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – G y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – G y MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – G y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E HH–HH - h a – h a - h–h a + h a – h a + h–h a HH:mm–HH:mm HH:mm–HH:mm - h:mm a – h:mm a + h:mm a – h:mm a h:mm–h:mm a h:mm–h:mm a @@ -8866,7 +9056,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH:mm–HH:mm v - h:mm a – h:mm a v + h:mm a – h:mm a v h:mm–h:mm a v h:mm–h:mm a v @@ -8874,65 +9064,65 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH v - h a – h a v - h–h a v + h a – h a v + h–h a v MM–MM - MM-dd – MM-dd - MM-dd – MM-dd + MM-dd – MM-dd + MM-dd – MM-dd - MM-dd, E – MM-dd, E - MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E LLL–LLL MMM d–d - MMM d – MMM d + MMM d – MMM d - MMM d, E – MMM d, E - MMM d, E – MMM d, E + MMM d, E – MMM d, E + MMM d, E – MMM d, E G y–y - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E G y MMMM–MMMM - G y MMMM – y MMMM + G y MMMM – y MMMM @@ -9249,21 +9439,25 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} + {1} {0} + {1} {0} + {1} {0} + h B @@ -9283,7 +9477,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ G y MMM G y MMM d G y MMM d, E - h a + h a HH h:mm a HH:mm @@ -9323,13 +9517,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} - {0} – {1} + {0} – {1} - h B – h B + h B – h B h–h B - h:mm B – h:mm B + h:mm B – h:mm B h:mm–h:mm B h:mm–h:mm B @@ -9337,56 +9531,56 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ d–d - G y – G y + G y – G y G y–y - GGGGG y-MM – GGGGG y-MM - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – GGGGG y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – GGGGG y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – GGGGG y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – GGGGG y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – GGGGG y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E - G y MMM – G y MMM + G y MMM – G y MMM G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – G y MMM d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – G y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – G y MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – G y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E HH–HH - h a – h a - h–h a + h a – h a + h–h a HH:mm–HH:mm HH:mm–HH:mm - h:mm a – h:mm a + h:mm a – h:mm a h:mm–h:mm a h:mm–h:mm a @@ -9395,7 +9589,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH:mm–HH:mm v - h:mm a – h:mm a v + h:mm a – h:mm a v h:mm–h:mm a v h:mm–h:mm a v @@ -9403,65 +9597,65 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH v - h a – h a v - h–h a v + h a – h a v + h–h a v MM–MM - MM-dd – MM-dd - MM-dd – MM-dd + MM-dd – MM-dd + MM-dd – MM-dd - MM-dd, E – MM-dd, E - MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E LLL–LLL MMM d–d - MMM d – MMM d + MMM d – MMM d - MMM d, E – MMM d, E - MMM d, E – MMM d, E + MMM d, E – MMM d, E + MMM d, E – MMM d, E G y–y - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E G y MMMM–MMMM - G y MMMM – y MMMM + G y MMMM – y MMMM @@ -9778,21 +9972,25 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} + {1} {0} + {1} {0} + {1} {0} + h B @@ -9812,7 +10010,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ G y MMM G y MMM d G y MMM d, E - h a + h a HH h:mm a HH:mm @@ -9852,13 +10050,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} - {0} – {1} + {0} – {1} - h B – h B + h B – h B h–h B - h:mm B – h:mm B + h:mm B – h:mm B h:mm–h:mm B h:mm–h:mm B @@ -9866,56 +10064,56 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ d–d - G y – G y + G y – G y G y–y - GGGGG y-MM – GGGGG y-MM - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – GGGGG y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – GGGGG y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – GGGGG y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – GGGGG y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – GGGGG y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E - G y MMM – G y MMM + G y MMM – G y MMM G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – G y MMM d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – G y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – G y MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – G y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E HH–HH - h a – h a - h–h a + h a – h a + h–h a HH:mm–HH:mm HH:mm–HH:mm - h:mm a – h:mm a + h:mm a – h:mm a h:mm–h:mm a h:mm–h:mm a @@ -9924,7 +10122,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH:mm–HH:mm v - h:mm a – h:mm a v + h:mm a – h:mm a v h:mm–h:mm a v h:mm–h:mm a v @@ -9932,65 +10130,65 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH v - h a – h a v - h–h a v + h a – h a v + h–h a v MM–MM - MM-dd – MM-dd - MM-dd – MM-dd + MM-dd – MM-dd + MM-dd – MM-dd - MM-dd, E – MM-dd, E - MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E LLL–LLL MMM d–d - MMM d – MMM d + MMM d – MMM d - MMM d, E – MMM d, E - MMM d, E – MMM d, E + MMM d, E – MMM d, E + MMM d, E – MMM d, E G y–y - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E G y MMMM–MMMM - G y MMMM – y MMMM + G y MMMM – y MMMM @@ -10307,21 +10505,25 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} + {1} {0} + {1} {0} + {1} {0} + h B @@ -10341,7 +10543,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ G y MMM G y MMM d G y MMM d, E - h a + h a HH h:mm a HH:mm @@ -10381,13 +10583,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} - {0} – {1} + {0} – {1} - h B – h B + h B – h B h–h B - h:mm B – h:mm B + h:mm B – h:mm B h:mm–h:mm B h:mm–h:mm B @@ -10395,56 +10597,56 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ d–d - G y – G y + G y – G y G y–y - GGGGG y-MM – GGGGG y-MM - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – GGGGG y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – GGGGG y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – GGGGG y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – GGGGG y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – GGGGG y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E - G y MMM – G y MMM + G y MMM – G y MMM G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – G y MMM d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – G y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – G y MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – G y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E HH–HH - h a – h a - h–h a + h a – h a + h–h a HH:mm–HH:mm HH:mm–HH:mm - h:mm a – h:mm a + h:mm a – h:mm a h:mm–h:mm a h:mm–h:mm a @@ -10453,7 +10655,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH:mm–HH:mm v - h:mm a – h:mm a v + h:mm a – h:mm a v h:mm–h:mm a v h:mm–h:mm a v @@ -10461,70 +10663,70 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH v - h a – h a v - h–h a v + h a – h a v + h–h a v MM–MM - MM-dd – MM-dd - MM-dd – MM-dd + MM-dd – MM-dd + MM-dd – MM-dd - MM-dd, E – MM-dd, E - MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E LLL–LLL MMM d–d - MMM d – MMM d + MMM d – MMM d - MMM d, E – MMM d, E - MMM d, E – MMM d, E + MMM d, E – MMM d, E + MMM d, E – MMM d, E G y–y - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E G y MMMM–MMMM - G y MMMM – y MMMM + G y MMMM – y MMMM - + @@ -10767,749 +10969,41 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - - Taika (645–650) - Hakuchi (650–671) - Tenpyō (729–749) - Kaō (1169–1171) - Shōan (1171–1175) - Angen (1175–1177) - Jishō (1177–1181) - Yōwa (1181–1182) - Juei (1182–1184) - Genryaku (1184–1185) - Bunji (1185–1190) - Kenkyū (1190–1199) - Shōji (1199–1201) - Tenpyō-kampō (749–749) - Kennin (1201–1204) - Genkyū (1204–1206) - Ken’ei (1206–1207) - Jōgen (1207–1211) - Kenryaku (1211–1213) - Kenpō (1213–1219) - Jōkyū (1219–1222) - Jōō (1222–1224) - Gennin (1224–1225) - Karoku (1225–1227) - Tenpyō-shōhō (749–757) - Antei (1227–1229) - Kanki (1229–1232) - Jōei (1232–1233) - Tenpuku (1233–1234) - Bunryaku (1234–1235) - Katei (1235–1238) - Ryakunin (1238–1239) - En’ō (1239–1240) - Ninji (1240–1243) - Kangen (1243–1247) - Tenpyō-hōji (757–765) - Hōji (1247–1249) - Kenchō (1249–1256) - Kōgen (1256–1257) - Shōka (1257–1259) - Shōgen (1259–1260) - Bun’ō (1260–1261) - Kōchō (1261–1264) - Bun’ei (1264–1275) - Kenji (1275–1278) - Kōan (1278–1288) - Tenpyō-jingo (765–767) - Shōō (1288–1293) - Einin (1293–1299) - Shōan (1299–1302) - Kengen (1302–1303) - Kagen (1303–1306) - Tokuji (1306–1308) - Enkyō (1308–1311) - Ōchō (1311–1312) - Shōwa (1312–1317) - Bunpō (1317–1319) - Jingo-keiun (767–770) - Genō (1319–1321) - Genkō (1321–1324) - Shōchū (1324–1326) - Karyaku (1326–1329) - Gentoku (1329–1331) - Genkō (1331–1334) - Kenmu (1334–1336) - Engen (1336–1340) - Kōkoku (1340–1346) - Shōhei (1346–1370) - Hōki (770–780) - Kentoku (1370–1372) - Bunchū (1372–1375) - Tenju (1375–1379) - Kōryaku (1379–1381) - Kōwa (1381–1384) - Genchū (1384–1392) - Meitoku (1384–1387) - Kakei (1387–1389) - Kōō (1389–1390) - Meitoku (1390–1394) - Ten-ō (781–782) - Ōei (1394–1428) - Shōchō (1428–1429) - Eikyō (1429–1441) - Kakitsu (1441–1444) - Bun’an (1444–1449) - Hōtoku (1449–1452) - Kyōtoku (1452–1455) - Kōshō (1455–1457) - Chōroku (1457–1460) - Kanshō (1460–1466) - Enryaku (782–806) - Bunshō (1466–1467) - Ōnin (1467–1469) - Bunmei (1469–1487) - Chōkyō (1487–1489) - Entoku (1489–1492) - Meiō (1492–1501) - Bunki (1501–1504) - Eishō (1504–1521) - Taiei (1521–1528) - Kyōroku (1528–1532) - Daidō (806–810) - Tenbun (1532–1555) - Kōji (1555–1558) - Eiroku (1558–1570) - Genki (1570–1573) - Tenshō (1573–1592) - Bunroku (1592–1596) - Keichō (1596–1615) - Genna (1615–1624) - Kan’ei (1624–1644) - Shōho (1644–1648) - Hakuhō (672–686) - Kōnin (810–824) - Keian (1648–1652) - Jōō (1652–1655) - Meireki (1655–1658) - Manji (1658–1661) - Kanbun (1661–1673) - Enpō (1673–1681) - Tenna (1681–1684) - Jōkyō (1684–1688) - Genroku (1688–1704) - Hōei (1704–1711) - Tenchō (824–834) - Shōtoku (1711–1716) - Kyōhō (1716–1736) - Genbun (1736–1741) - Kanpō (1741–1744) - Enkyō (1744–1748) - Kan’en (1748–1751) - Hōreki (1751–1764) - Meiwa (1764–1772) - An’ei (1772–1781) - Tenmei (1781–1789) - Jōwa (834–848) - Kansei (1789–1801) - Kyōwa (1801–1804) - Bunka (1804–1818) - Bunsei (1818–1830) - Tenpō (1830–1844) - Kōka (1844–1848) - Kaei (1848–1854) - Ansei (1854–1860) - Man’en (1860–1861) - Bunkyū (1861–1864) - Kajō (848–851) - Genji (1864–1865) - Keiō (1865–1868) - Meiji - Taishō - Shōwa - Heisei - Reiwa - Ninju (851–854) - Saikō (854–857) - Ten-an (857–859) - Jōgan (859–877) - Gangyō (877–885) - Ninna (885–889) - Shuchō (686–701) - Kanpyō (889–898) - Shōtai (898–901) - Engi (901–923) - Enchō (923–931) - Jōhei (931–938) - Tengyō (938–947) - Tenryaku (947–957) - Tentoku (957–961) - Ōwa (961–964) - Kōhō (964–968) - Taihō (701–704) - Anna (968–970) - Tenroku (970–973) - Ten’en (973–976) - Jōgen (976–978) - Tengen (978–983) - Eikan (983–985) - Kanna (985–987) - Eien (987–989) - Eiso (989–990) - Shōryaku (990–995) - Keiun (704–708) - Chōtoku (995–999) - Chōhō (999–1004) - Kankō (1004–1012) - Chōwa (1012–1017) - Kannin (1017–1021) - Jian (1021–1024) - Manju (1024–1028) - Chōgen (1028–1037) - Chōryaku (1037–1040) - Chōkyū (1040–1044) - Wadō (708–715) - Kantoku (1044–1046) - Eishō (1046–1053) - Tengi (1053–1058) - Kōhei (1058–1065) - Jiryaku (1065–1069) - Enkyū (1069–1074) - Shōho (1074–1077) - Shōryaku (1077–1081) - Eihō (1081–1084) - Ōtoku (1084–1087) - Reiki (715–717) - Kanji (1087–1094) - Kahō (1094–1096) - Eichō (1096–1097) - Jōtoku (1097–1099) - Kōwa (1099–1104) - Chōji (1104–1106) - Kashō (1106–1108) - Tennin (1108–1110) - Ten-ei (1110–1113) - Eikyū (1113–1118) - Yōrō (717–724) - Gen’ei (1118–1120) - Hōan (1120–1124) - Tenji (1124–1126) - Daiji (1126–1131) - Tenshō (1131–1132) - Chōshō (1132–1135) - Hōen (1135–1141) - Eiji (1141–1142) - Kōji (1142–1144) - Ten’yō (1144–1145) - Jinki (724–729) - Kyūan (1145–1151) - Ninpei (1151–1154) - Kyūju (1154–1156) - Hōgen (1156–1159) - Heiji (1159–1160) - Eiryaku (1160–1161) - Ōho (1161–1163) - Chōkan (1163–1165) - Eiman (1165–1166) - Nin’an (1166–1169) + BCE + CE - تيكا - هاكتشي - تمبيو - كاو - شون - أنجين - جيشو - يووا - جيي - جنريوكو - بنجي - كنكيو - شوجي - تمبيو-كامبو - كنين - جنكيو (١٢٠٤–١٢٠٦) - كن-اي - شوجن (١٢٠٧–١٢١١) - كنرياكو - كنبو (١٢١٣–١٢١٩) - شوكيو - جو - جيننين - كروكو - تمبيو-شوهو - أنتيي - كنكي - جويي - تمبكو - بنرياكو - كاتيي - رياكنين - ان-أو - نينجي - كنجين - تمبيو-هوجي - هوجي - كنتشو - كوجن - شوكا - شوجن (١٢٥٩–١٢٦٠) - بن-أو - كوتشو - بن-اي - كنجي - كوان - تمفو-جينجو - شوو (١٢٨٨–١٢٩٣) - اينين - شوان - كنجن - كجن - توكجي - انكي - أوتشو - شووا (١٣١٢–١٣١٧) - بنبو - جينجو-كيين - جنو - جنكيو (١٣٢١–١٣٢٤) - شوتشو (١٣٢٤–١٣٢٦) - كريكي - جنتكو - جنكو - كمو - إنجن - كوككو - شوهي - هوكي - كنتكو - بنتشو - تنجو - كورياكو - كووا (١٣٨١–١٣٨٤) - جنتشو - مييتكو (١٣٨٤–١٣٨٧) - كاكي - كو - مييتكو (١٣٩٠–١٣٩٤) - تن-أو - أويي - شوتشو (١٤٢٨–١٤٢٩) - ايكيو (١٤٢٩–١٤٤١) - ككيتسو - بن-أن - هوتكو - كيوتكو - كوشو - تشوركو - كنشو - إنرياكو - بنشو - أونين - بنمي - تشوكيو (١٤٨٧–١٤٨٩) - انتكو - ميو - بنكي - ايشو (١٥٠٤–١٥٢١) - تييي - كيوركو - ديدو - تنمن - كوجي (١٥٥٥–١٥٥٨) - ايركو - جنكي - تنشو (١٥٧٣–١٥٩٢) - بنركو - كيتشو - جنوا - كان-اي - شوهو (١٦٤٤–١٦٤٨) - هاكهو - كونين - كيان - شوو (١٦٥٢–١٦٥٥) - ميرياكو - منجي - كنبن - انبو - تنوا - جوكيو - جنركو - هويي - تنتشو - شوتكو - كيوهو - جنبن - كنبو (١٧٤١–١٧٤٤) - انكيو (١٧٤٤–١٧٤٨) - كان-ان - هورياكو - مييوا - ان-اي - تنمي - شووا (٨٣٤–٨٤٨) - كنسي - كيووا - بنكا - بنسي - تنبو - كوكا - كاي - أنسي - من-ان - بنكيو - كاجو - جنجي - كيو - ميجي - تيشو - شووا - هيسي - ريوا - نينجو - سيكو - تنان - جوجان - جينكيي - نينا - شتشو - كامبيو - شوتاي - انجي - انتشو - شوهيي - تنجيو - تنرياكو - تنتوكو - أووا - كوهو - تيهو - آنا - تينروكو - تن-نن - جوجن - تنجن - إيكان - كانا - اي-ان - ايسو - شورياكو (٩٩٠–٩٩٥) - كيين - تشوتوكو - تشوهو - كانكو - تشووا - كانين - جاين - مانجو - تشوجين - تشورياكو - تشوكيو (١٠٤٠–١٠٤٤) - وادو - كانتوكو - ايشو (١٠٤٦–١٠٥٣) - تينجي - كوهيي - جيرياكو - انكيو (١٠٦٩–١٠٧٤) - شوهو (١٠٧٤–١٠٧٧) - شورياكو (١٠٧٧–١٠٨١) - ايهو - أوتوكو - رييكي - كانجي - كاهو - ايتشو - شوتوكو - كووا (١٠٩٩–١١٠٤) - تشوجي - كاشو - تنين - تن-اي - ايكيو (١١١٣–١١١٨) - يورو - جن-اي - هوان - تنجي - ديجي - تنشو (١١٣١–١١٣٢) - تشوشو - هوين - ايجي - كوجي (١١٤٢–١١٤٤) - تنيو - جينكي - كيوان - نينبيي - كيوجو - هجين - هيجي - ايرياكو - أوهو - تشوكان - ايمان - نين-ان + BCE + CE - Taika (645–650) - Hakuchi (650–671) - Tenpyō (729–749) - Kaō (1169–1171) - Shōan (1171–1175) - Angen (1175–1177) - Jishō (1177–1181) - Yōwa (1181–1182) - Juei (1182–1184) - Genryaku (1184–1185) - Bunji (1185–1190) - Kenkyū (1190–1199) - Shōji (1199–1201) - Tenpyō-kampō (749–749) - Kennin (1201–1204) - Genkyū (1204–1206) - Ken’ei (1206–1207) - Jōgen (1207–1211) - Kenryaku (1211–1213) - Kenpō (1213–1219) - Jōkyū (1219–1222) - Jōō (1222–1224) - Gennin (1224–1225) - Karoku (1225–1227) - Tenpyō-shōhō (749–757) - Antei (1227–1229) - Kanki (1229–1232) - Jōei (1232–1233) - Tenpuku (1233–1234) - Bunryaku (1234–1235) - Katei (1235–1238) - Ryakunin (1238–1239) - En’ō (1239–1240) - Ninji (1240–1243) - Kangen (1243–1247) - Tenpyō-hōji (757–765) - Hōji (1247–1249) - Kenchō (1249–1256) - Kōgen (1256–1257) - Shōka (1257–1259) - Shōgen (1259–1260) - Bun’ō (1260–1261) - Kōchō (1261–1264) - Bun’ei (1264–1275) - Kenji (1275–1278) - Kōan (1278–1288) - Tenpyō-jingo (765–767) - Shōō (1288–1293) - Einin (1293–1299) - Shōan (1299–1302) - Kengen (1302–1303) - Kagen (1303–1306) - Tokuji (1306–1308) - Enkyō (1308–1311) - Ōchō (1311–1312) - Shōwa (1312–1317) - Bunpō (1317–1319) - Jingo-keiun (767–770) - Genō (1319–1321) - Genkō (1321–1324) - Shōchū (1324–1326) - Karyaku (1326–1329) - Gentoku (1329–1331) - Genkō (1331–1334) - Kenmu (1334–1336) - Engen (1336–1340) - Kōkoku (1340–1346) - Shōhei (1346–1370) - Hōki (770–780) - Kentoku (1370–1372) - Bunchū (1372–1375) - Tenju (1375–1379) - Kōryaku (1379–1381) - Kōwa (1381–1384) - Genchū (1384–1392) - Meitoku (1384–1387) - Kakei (1387–1389) - Kōō (1389–1390) - Meitoku (1390–1394) - Ten-ō (781–782) - Ōei (1394–1428) - Shōchō (1428–1429) - Eikyō (1429–1441) - Kakitsu (1441–1444) - Bun’an (1444–1449) - Hōtoku (1449–1452) - Kyōtoku (1452–1455) - Kōshō (1455–1457) - Chōroku (1457–1460) - Kanshō (1460–1466) - Enryaku (782–806) - Bunshō (1466–1467) - Ōnin (1467–1469) - Bunmei (1469–1487) - Chōkyō (1487–1489) - Entoku (1489–1492) - Meiō (1492–1501) - Bunki (1501–1504) - Eishō (1504–1521) - Taiei (1521–1528) - Kyōroku (1528–1532) - Daidō (806–810) - Tenbun (1532–1555) - Kōji (1555–1558) - Eiroku (1558–1570) - Genki (1570–1573) - Tenshō (1573–1592) - Bunroku (1592–1596) - Keichō (1596–1615) - Genna (1615–1624) - Kan’ei (1624–1644) - Shōho (1644–1648) - Hakuhō (672–686) - Kōnin (810–824) - Keian (1648–1652) - Jōō (1652–1655) - Meireki (1655–1658) - Manji (1658–1661) - Kanbun (1661–1673) - Enpō (1673–1681) - Tenna (1681–1684) - Jōkyō (1684–1688) - Genroku (1688–1704) - Hōei (1704–1711) - Tenchō (824–834) - Shōtoku (1711–1716) - Kyōhō (1716–1736) - Genbun (1736–1741) - Kanpō (1741–1744) - Enkyō (1744–1748) - Kan’en (1748–1751) - Hōreki (1751–1764) - Meiwa (1764–1772) - An’ei (1772–1781) - Tenmei (1781–1789) - Jōwa (834–848) - Kansei (1789–1801) - Kyōwa (1801–1804) - Bunka (1804–1818) - Bunsei (1818–1830) - Tenpō (1830–1844) - Kōka (1844–1848) - Kaei (1848–1854) - Ansei (1854–1860) - Man’en (1860–1861) - Bunkyū (1861–1864) - Kajō (848–851) - Genji (1864–1865) - Keiō (1865–1868) - M - T - S - H - R - Ninju (851–854) - Saikō (854–857) - Ten-an (857–859) - Jōgan (859–877) - Gangyō (877–885) - Ninna (885–889) - Shuchō (686–701) - Kanpyō (889–898) - Shōtai (898–901) - Engi (901–923) - Enchō (923–931) - Jōhei (931–938) - Tengyō (938–947) - Tenryaku (947–957) - Tentoku (957–961) - Ōwa (961–964) - Kōhō (964–968) - Taihō (701–704) - Anna (968–970) - Tenroku (970–973) - Ten’en (973–976) - Jōgen (976–978) - Tengen (978–983) - Eikan (983–985) - Kanna (985–987) - Eien (987–989) - Eiso (989–990) - Shōryaku (990–995) - Keiun (704–708) - Chōtoku (995–999) - Chōhō (999–1004) - Kankō (1004–1012) - Chōwa (1012–1017) - Kannin (1017–1021) - Jian (1021–1024) - Manju (1024–1028) - Chōgen (1028–1037) - Chōryaku (1037–1040) - Chōkyū (1040–1044) - Wadō (708–715) - Kantoku (1044–1046) - Eishō (1046–1053) - Tengi (1053–1058) - Kōhei (1058–1065) - Jiryaku (1065–1069) - Enkyū (1069–1074) - Shōho (1074–1077) - Shōryaku (1077–1081) - Eihō (1081–1084) - Ōtoku (1084–1087) - Reiki (715–717) - Kanji (1087–1094) - Kahō (1094–1096) - Eichō (1096–1097) - Jōtoku (1097–1099) - Kōwa (1099–1104) - Chōji (1104–1106) - Kashō (1106–1108) - Tennin (1108–1110) - Ten-ei (1110–1113) - Eikyū (1113–1118) - Yōrō (717–724) - Gen’ei (1118–1120) - Hōan (1120–1124) - Tenji (1124–1126) - Daiji (1126–1131) - Tenshō (1131–1132) - Chōshō (1132–1135) - Hōen (1135–1141) - Eiji (1141–1142) - Kōji (1142–1144) - Ten’yō (1144–1145) - Jinki (724–729) - Kyūan (1145–1151) - Ninpei (1151–1154) - Kyūju (1154–1156) - Hōgen (1156–1159) - Heiji (1159–1160) - Eiryaku (1160–1161) - Ōho (1161–1163) - Chōkan (1163–1165) - Eiman (1165–1166) - Nin’an (1166–1169) + BCE + CE - G y MMMM d, EEEE - GyMMMMEEEEd + y MMMM d, EEEE + yMMMMEEEEd - G y MMMM d - GyMMMMd + y MMMM d + yMMMMd - G y MMM d - GyMMMd + y MMM d + yMMMd - GGGGG y-MM-dd - GGGGGyMMdd + y-MM-dd + yMMdd @@ -11544,21 +11038,25 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} + {1} {0} + {1} {0} + {1} {0} + h B @@ -11569,40 +11067,45 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ E h:mm B E h:mm:ss B d, E - E h:mm a + E h:mm a E HH:mm - E h:mm:ss a + E h:mm:ss a E HH:mm:ss G y - GGGGG y-MM-dd + G y-MM-dd G y MMM G y MMM d G y MMM d, E - h a + h a HH - h:mm a + h:mm a HH:mm - h:mm:ss a + h:mm:ss a HH:mm:ss + h:mm:ss a v + HH:mm:ss v + h:mm a v + HH:mm v L MM-dd MM-dd, E LLL MMM d - MMM d, E + MMM d MMMM d + MMMM 'week' W mm:ss - G y - G y - GGGGG y-MM - GGGGG y-MM-dd - GGGGG y-MM-dd, E - G y MMM - G y MMM d - G y MMM d, E - G y MMMM - G y QQQ - G y QQQQ + y + y-MM + y-MM-dd + y-MM-dd, E + y MMM + y MMM d + y MMM d, E + y MMMM + y QQQ + y QQQQ + Y 'week' w {0} ({2}: {1}) @@ -11618,13 +11121,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} - {0} – {1} + {0} – {1} - h B – h B + h B – h B h–h B - h:mm B – h:mm B + h:mm B – h:mm B h:mm–h:mm B h:mm–h:mm B @@ -11632,151 +11135,151 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ d–d - G y – G y - G y–y + G y – G y + y–y - GGGGG y-MM – GGGGG y-MM - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + G y-MM – G y-MM + G y-MM – y-MM + G y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – GGGGG y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + G y-MM-dd – y-MM-dd + G y-MM-dd – G y-MM-dd + G y-MM-dd – y-MM-dd + G y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – GGGGG y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + G y-MM-dd, E – y-MM-dd, E + G y-MM-dd, E – G y-MM-dd, E + G y-MM-dd, E – y-MM-dd, E + G y-MM-dd, E – y-MM-dd, E - G y MMM – G y MMM + G y MMM – G y MMM G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – G y MMM d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – G y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – G y MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – G y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E + + + h a – h a + h–h a HH–HH - - h a – h a - h–h a + + h:mm a – h:mm a + h:mm–h:mm a + h:mm–h:mm a HH:mm–HH:mm HH:mm–HH:mm - - h:mm a – h:mm a - h:mm–h:mm a - h:mm–h:mm a + + h:mm a – h:mm a v + h:mm–h:mm a v + h:mm–h:mm a v HH:mm–HH:mm v HH:mm–HH:mm v - - h:mm a – h:mm a v - h:mm–h:mm a v - h:mm–h:mm a v + + h a – h a v + h–h a v HH–HH v - - h a – h a v - h–h a v - MM–MM - MM-dd – MM-dd - MM-dd – MM-dd + MM-dd – MM-dd + MM-dd – MM-dd - MM-dd, E – MM-dd, E - MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E LLL–LLL MMM d–d - MMM d – MMM d + MMM d – MMM d - MMM d, E – MMM d, E - MMM d, E – MMM d, E + MMM d, E – MMM d, E + MMM d, E – MMM d, E - G y–y + y–y - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + y-MM – y-MM + y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + y-MM-dd – y-MM-dd + y-MM-dd – y-MM-dd + y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + y-MM-dd, E – y-MM-dd, E + y-MM-dd, E – y-MM-dd, E + y-MM-dd, E – y-MM-dd, E - G y MMM–MMM - G y MMM – y MMM + y MMM–MMM + y MMM – y MMM - G y MMM d–d - G y MMM d – MMM d - G y MMM d – y MMM d + y MMM d–d + y MMM d – MMM d + y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + y MMM d, E – MMM d, E + y MMM d, E – MMM d, E + y MMM d, E – y MMM d, E - G y MMMM–MMMM - G y MMMM – y MMMM + y MMMM–MMMM + y MMMM – y MMMM - + - Farvardin - Ordibehesht - Khordad - Tir - Mordad - Shahrivar - Mehr - Aban - Azar - Dey - Bahman - Esfand + M01 + M02 + M03 + M04 + M05 + M06 + M07 + M08 + M09 + M10 + M11 + M12 1 @@ -11793,34 +11296,34 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ 12 - فرفردن - أذربيهشت - خرداد - تار - مرداد - شهرفار - مهر - آيان - آذر - دي - بهمن - اسفندار + M01 + M02 + M03 + M04 + M05 + M06 + M07 + M08 + M09 + M10 + M11 + M12 - Farvardin - Ordibehesht - Khordad - Tir - Mordad - Shahrivar - Mehr - Aban - Azar - Dey - Bahman - Esfand + M01 + M02 + M03 + M04 + M05 + M06 + M07 + M08 + M09 + M10 + M11 + M12 1 @@ -11837,27 +11340,27 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ 12 - Farvardin - Ordibehesht - Khordad - Tir - Mordad - Shahrivar - Mehr - Aban - Azar - Dey - Bahman - Esfand - - - - - - - Sun - Mon - Tue + M01 + M02 + M03 + M04 + M05 + M06 + M07 + M08 + M09 + M10 + M11 + M12 + + + + + + + Sun + Mon + Tue Wed Thu Fri @@ -12004,292 +11507,1537 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - AP - - - ه.ش - - - AP - - - - - - G y MMMM d, EEEE - GyMMMMEEEEd - - - - - G y MMMM d - GyMMMMd - - - - - G y MMM d - GyMMMd - - - - - GGGGG y-MM-dd - GGGGGyMMdd - - - - - - - HH:mm:ss zzzz - HHmmsszzzz - - - - - HH:mm:ss z - HHmmssz - - - - - HH:mm:ss - HHmmss - - - - - HH:mm - HHmm - - - - - - - {1} {0} - - - - - {1} {0} - - - - - {1} {0} - - - - - {1} {0} - - - - h B - h:mm B - h:mm:ss B - d - ccc - E h:mm B - E h:mm:ss B - d, E - E h:mm a - E HH:mm - E h:mm:ss a - E HH:mm:ss - G y - GGGGG y-MM-dd - G y MMM - G y MMM d - G y MMM d, E - h a - HH - h:mm a - HH:mm - h:mm:ss a - HH:mm:ss - L - MM-dd - MM-dd, E - LLL - MMM d - MMM d, E - MMMM d - mm:ss - G y - G y - GGGGG y-MM - GGGGG y-MM-dd - GGGGG y-MM-dd, E - G y MMM - G y MMM d - G y MMM d, E - G y MMMM - G y QQQ - G y QQQQ - - - {0} ({2}: {1}) - {0} {1} - {1} {0} - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} ({2}: {1}) - {0} {1} - {0} ({2}: {1}) - {1} {0} - - - {0} – {1} - - h B – h B - h–h B - - - h:mm B – h:mm B - h:mm–h:mm B - h:mm–h:mm B - - - d–d - - - G y – G y - G y–y - - - GGGGG y-MM – GGGGG y-MM - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM - - - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – GGGGG y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd - - - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – GGGGG y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - - - G y MMM – G y MMM - G y MMM–MMM - G y MMM – y MMM - - - G y MMM d–d - G y MMM d – G y MMM d - G y MMM d – MMM d - G y MMM d – y MMM d - - - G y MMM d, E – MMM d, E - G y MMM d, E – G y MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E - - - HH–HH - - - h a – h a - h–h a - - - HH:mm–HH:mm - HH:mm–HH:mm - - - h:mm a – h:mm a - h:mm–h:mm a - h:mm–h:mm a - - - HH:mm–HH:mm v - HH:mm–HH:mm v - - - h:mm a – h:mm a v - h:mm–h:mm a v - h:mm–h:mm a v - - - HH–HH v - - - h a – h a v - h–h a v - - - MM–MM - - - MM-dd – MM-dd - MM-dd – MM-dd - - - MM-dd, E – MM-dd, E - MM-dd, E – MM-dd, E - - - LLL–LLL - - - MMM d–d - MMM d – MMM d - - - MMM d, E – MMM d, E - MMM d, E – MMM d, E - - - G y–y - - - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM - - - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd - - - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - - - G y MMM–MMM - G y MMM – y MMM - - - G y MMM d–d - G y MMM d – MMM d - G y MMM d – y MMM d - - - G y MMM d, E – MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E - - - G y MMMM–MMMM - G y MMMM – y MMMM - - - - - - - + + Taika (645–650) + Hakuchi (650–671) + Tenpyō (729–749) + Kaō (1169–1171) + Shōan (1171–1175) + Angen (1175–1177) + Jishō (1177–1181) + Yōwa (1181–1182) + Juei (1182–1184) + Genryaku (1184–1185) + Bunji (1185–1190) + Kenkyū (1190–1199) + Shōji (1199–1201) + Tenpyō-kampō (749–749) + Kennin (1201–1204) + Genkyū (1204–1206) + Ken’ei (1206–1207) + Jōgen (1207–1211) + Kenryaku (1211–1213) + Kenpō (1213–1219) + Jōkyū (1219–1222) + Jōō (1222–1224) + Gennin (1224–1225) + Karoku (1225–1227) + Tenpyō-shōhō (749–757) + Antei (1227–1229) + Kanki (1229–1232) + Jōei (1232–1233) + Tenpuku (1233–1234) + Bunryaku (1234–1235) + Katei (1235–1238) + Ryakunin (1238–1239) + En’ō (1239–1240) + Ninji (1240–1243) + Kangen (1243–1247) + Tenpyō-hōji (757–765) + Hōji (1247–1249) + Kenchō (1249–1256) + Kōgen (1256–1257) + Shōka (1257–1259) + Shōgen (1259–1260) + Bun’ō (1260–1261) + Kōchō (1261–1264) + Bun’ei (1264–1275) + Kenji (1275–1278) + Kōan (1278–1288) + Tenpyō-jingo (765–767) + Shōō (1288–1293) + Einin (1293–1299) + Shōan (1299–1302) + Kengen (1302–1303) + Kagen (1303–1306) + Tokuji (1306–1308) + Enkyō (1308–1311) + Ōchō (1311–1312) + Shōwa (1312–1317) + Bunpō (1317–1319) + Jingo-keiun (767–770) + Genō (1319–1321) + Genkō (1321–1324) + Shōchū (1324–1326) + Karyaku (1326–1329) + Gentoku (1329–1331) + Genkō (1331–1334) + Kenmu (1334–1336) + Engen (1336–1340) + Kōkoku (1340–1346) + Shōhei (1346–1370) + Hōki (770–780) + Kentoku (1370–1372) + Bunchū (1372–1375) + Tenju (1375–1379) + Kōryaku (1379–1381) + Kōwa (1381–1384) + Genchū (1384–1392) + Meitoku (1384–1387) + Kakei (1387–1389) + Kōō (1389–1390) + Meitoku (1390–1394) + Ten-ō (781–782) + Ōei (1394–1428) + Shōchō (1428–1429) + Eikyō (1429–1441) + Kakitsu (1441–1444) + Bun’an (1444–1449) + Hōtoku (1449–1452) + Kyōtoku (1452–1455) + Kōshō (1455–1457) + Chōroku (1457–1460) + Kanshō (1460–1466) + Enryaku (782–806) + Bunshō (1466–1467) + Ōnin (1467–1469) + Bunmei (1469–1487) + Chōkyō (1487–1489) + Entoku (1489–1492) + Meiō (1492–1501) + Bunki (1501–1504) + Eishō (1504–1521) + Taiei (1521–1528) + Kyōroku (1528–1532) + Daidō (806–810) + Tenbun (1532–1555) + Kōji (1555–1558) + Eiroku (1558–1570) + Genki (1570–1573) + Tenshō (1573–1592) + Bunroku (1592–1596) + Keichō (1596–1615) + Genna (1615–1624) + Kan’ei (1624–1644) + Shōho (1644–1648) + Hakuhō (672–686) + Kōnin (810–824) + Keian (1648–1652) + Jōō (1652–1655) + Meireki (1655–1658) + Manji (1658–1661) + Kanbun (1661–1673) + Enpō (1673–1681) + Tenna (1681–1684) + Jōkyō (1684–1688) + Genroku (1688–1704) + Hōei (1704–1711) + Tenchō (824–834) + Shōtoku (1711–1716) + Kyōhō (1716–1736) + Genbun (1736–1741) + Kanpō (1741–1744) + Enkyō (1744–1748) + Kan’en (1748–1751) + Hōreki (1751–1764) + Meiwa (1764–1772) + An’ei (1772–1781) + Tenmei (1781–1789) + Jōwa (834–848) + Kansei (1789–1801) + Kyōwa (1801–1804) + Bunka (1804–1818) + Bunsei (1818–1830) + Tenpō (1830–1844) + Kōka (1844–1848) + Kaei (1848–1854) + Ansei (1854–1860) + Man’en (1860–1861) + Bunkyū (1861–1864) + Kajō (848–851) + Genji (1864–1865) + Keiō (1865–1868) + Meiji + Taishō + Shōwa + Heisei + Reiwa + Ninju (851–854) + Saikō (854–857) + Ten-an (857–859) + Jōgan (859–877) + Gangyō (877–885) + Ninna (885–889) + Shuchō (686–701) + Kanpyō (889–898) + Shōtai (898–901) + Engi (901–923) + Enchō (923–931) + Jōhei (931–938) + Tengyō (938–947) + Tenryaku (947–957) + Tentoku (957–961) + Ōwa (961–964) + Kōhō (964–968) + Taihō (701–704) + Anna (968–970) + Tenroku (970–973) + Ten’en (973–976) + Jōgen (976–978) + Tengen (978–983) + Eikan (983–985) + Kanna (985–987) + Eien (987–989) + Eiso (989–990) + Shōryaku (990–995) + Keiun (704–708) + Chōtoku (995–999) + Chōhō (999–1004) + Kankō (1004–1012) + Chōwa (1012–1017) + Kannin (1017–1021) + Jian (1021–1024) + Manju (1024–1028) + Chōgen (1028–1037) + Chōryaku (1037–1040) + Chōkyū (1040–1044) + Wadō (708–715) + Kantoku (1044–1046) + Eishō (1046–1053) + Tengi (1053–1058) + Kōhei (1058–1065) + Jiryaku (1065–1069) + Enkyū (1069–1074) + Shōho (1074–1077) + Shōryaku (1077–1081) + Eihō (1081–1084) + Ōtoku (1084–1087) + Reiki (715–717) + Kanji (1087–1094) + Kahō (1094–1096) + Eichō (1096–1097) + Jōtoku (1097–1099) + Kōwa (1099–1104) + Chōji (1104–1106) + Kashō (1106–1108) + Tennin (1108–1110) + Ten-ei (1110–1113) + Eikyū (1113–1118) + Yōrō (717–724) + Gen’ei (1118–1120) + Hōan (1120–1124) + Tenji (1124–1126) + Daiji (1126–1131) + Tenshō (1131–1132) + Chōshō (1132–1135) + Hōen (1135–1141) + Eiji (1141–1142) + Kōji (1142–1144) + Ten’yō (1144–1145) + Jinki (724–729) + Kyūan (1145–1151) + Ninpei (1151–1154) + Kyūju (1154–1156) + Hōgen (1156–1159) + Heiji (1159–1160) + Eiryaku (1160–1161) + Ōho (1161–1163) + Chōkan (1163–1165) + Eiman (1165–1166) + Nin’an (1166–1169) + + + تيكا + هاكتشي + تمبيو + كاو + شون + أنجين + جيشو + يووا + جيي + جنريوكو + بنجي + كنكيو + شوجي + تمبيو-كامبو + كنين + جنكيو (١٢٠٤–١٢٠٦) + كن-اي + شوجن (١٢٠٧–١٢١١) + كنرياكو + كنبو (١٢١٣–١٢١٩) + شوكيو + جو + جيننين + كروكو + تمبيو-شوهو + أنتيي + كنكي + جويي + تمبكو + بنرياكو + كاتيي + رياكنين + ان-أو + نينجي + كنجين + تمبيو-هوجي + هوجي + كنتشو + كوجن + شوكا + شوجن (١٢٥٩–١٢٦٠) + بن-أو + كوتشو + بن-اي + كنجي + كوان + تمفو-جينجو + شوو (١٢٨٨–١٢٩٣) + اينين + شوان + كنجن + كجن + توكجي + انكي + أوتشو + شووا (١٣١٢–١٣١٧) + بنبو + جينجو-كيين + جنو + جنكيو (١٣٢١–١٣٢٤) + شوتشو (١٣٢٤–١٣٢٦) + كريكي + جنتكو + جنكو + كمو + إنجن + كوككو + شوهي + هوكي + كنتكو + بنتشو + تنجو + كورياكو + كووا (١٣٨١–١٣٨٤) + جنتشو + مييتكو (١٣٨٤–١٣٨٧) + كاكي + كو + مييتكو (١٣٩٠–١٣٩٤) + تن-أو + أويي + شوتشو (١٤٢٨–١٤٢٩) + ايكيو (١٤٢٩–١٤٤١) + ككيتسو + بن-أن + هوتكو + كيوتكو + كوشو + تشوركو + كنشو + إنرياكو + بنشو + أونين + بنمي + تشوكيو (١٤٨٧–١٤٨٩) + انتكو + ميو + بنكي + ايشو (١٥٠٤–١٥٢١) + تييي + كيوركو + ديدو + تنمن + كوجي (١٥٥٥–١٥٥٨) + ايركو + جنكي + تنشو (١٥٧٣–١٥٩٢) + بنركو + كيتشو + جنوا + كان-اي + شوهو (١٦٤٤–١٦٤٨) + هاكهو + كونين + كيان + شوو (١٦٥٢–١٦٥٥) + ميرياكو + منجي + كنبن + انبو + تنوا + جوكيو + جنركو + هويي + تنتشو + شوتكو + كيوهو + جنبن + كنبو (١٧٤١–١٧٤٤) + انكيو (١٧٤٤–١٧٤٨) + كان-ان + هورياكو + مييوا + ان-اي + تنمي + شووا (٨٣٤–٨٤٨) + كنسي + كيووا + بنكا + بنسي + تنبو + كوكا + كاي + أنسي + من-ان + بنكيو + كاجو + جنجي + كيو + ميجي + تيشو + شووا + هيسي + ريوا + نينجو + سيكو + تنان + جوجان + جينكيي + نينا + شتشو + كامبيو + شوتاي + انجي + انتشو + شوهيي + تنجيو + تنرياكو + تنتوكو + أووا + كوهو + تيهو + آنا + تينروكو + تن-نن + جوجن + تنجن + إيكان + كانا + اي-ان + ايسو + شورياكو (٩٩٠–٩٩٥) + كيين + تشوتوكو + تشوهو + كانكو + تشووا + كانين + جاين + مانجو + تشوجين + تشورياكو + تشوكيو (١٠٤٠–١٠٤٤) + وادو + كانتوكو + ايشو (١٠٤٦–١٠٥٣) + تينجي + كوهيي + جيرياكو + انكيو (١٠٦٩–١٠٧٤) + شوهو (١٠٧٤–١٠٧٧) + شورياكو (١٠٧٧–١٠٨١) + ايهو + أوتوكو + رييكي + كانجي + كاهو + ايتشو + شوتوكو + كووا (١٠٩٩–١١٠٤) + تشوجي + كاشو + تنين + تن-اي + ايكيو (١١١٣–١١١٨) + يورو + جن-اي + هوان + تنجي + ديجي + تنشو (١١٣١–١١٣٢) + تشوشو + هوين + ايجي + كوجي (١١٤٢–١١٤٤) + تنيو + جينكي + كيوان + نينبيي + كيوجو + هجين + هيجي + ايرياكو + أوهو + تشوكان + ايمان + نين-ان + + + Taika (645–650) + Hakuchi (650–671) + Tenpyō (729–749) + Kaō (1169–1171) + Shōan (1171–1175) + Angen (1175–1177) + Jishō (1177–1181) + Yōwa (1181–1182) + Juei (1182–1184) + Genryaku (1184–1185) + Bunji (1185–1190) + Kenkyū (1190–1199) + Shōji (1199–1201) + Tenpyō-kampō (749–749) + Kennin (1201–1204) + Genkyū (1204–1206) + Ken’ei (1206–1207) + Jōgen (1207–1211) + Kenryaku (1211–1213) + Kenpō (1213–1219) + Jōkyū (1219–1222) + Jōō (1222–1224) + Gennin (1224–1225) + Karoku (1225–1227) + Tenpyō-shōhō (749–757) + Antei (1227–1229) + Kanki (1229–1232) + Jōei (1232–1233) + Tenpuku (1233–1234) + Bunryaku (1234–1235) + Katei (1235–1238) + Ryakunin (1238–1239) + En’ō (1239–1240) + Ninji (1240–1243) + Kangen (1243–1247) + Tenpyō-hōji (757–765) + Hōji (1247–1249) + Kenchō (1249–1256) + Kōgen (1256–1257) + Shōka (1257–1259) + Shōgen (1259–1260) + Bun’ō (1260–1261) + Kōchō (1261–1264) + Bun’ei (1264–1275) + Kenji (1275–1278) + Kōan (1278–1288) + Tenpyō-jingo (765–767) + Shōō (1288–1293) + Einin (1293–1299) + Shōan (1299–1302) + Kengen (1302–1303) + Kagen (1303–1306) + Tokuji (1306–1308) + Enkyō (1308–1311) + Ōchō (1311–1312) + Shōwa (1312–1317) + Bunpō (1317–1319) + Jingo-keiun (767–770) + Genō (1319–1321) + Genkō (1321–1324) + Shōchū (1324–1326) + Karyaku (1326–1329) + Gentoku (1329–1331) + Genkō (1331–1334) + Kenmu (1334–1336) + Engen (1336–1340) + Kōkoku (1340–1346) + Shōhei (1346–1370) + Hōki (770–780) + Kentoku (1370–1372) + Bunchū (1372–1375) + Tenju (1375–1379) + Kōryaku (1379–1381) + Kōwa (1381–1384) + Genchū (1384–1392) + Meitoku (1384–1387) + Kakei (1387–1389) + Kōō (1389–1390) + Meitoku (1390–1394) + Ten-ō (781–782) + Ōei (1394–1428) + Shōchō (1428–1429) + Eikyō (1429–1441) + Kakitsu (1441–1444) + Bun’an (1444–1449) + Hōtoku (1449–1452) + Kyōtoku (1452–1455) + Kōshō (1455–1457) + Chōroku (1457–1460) + Kanshō (1460–1466) + Enryaku (782–806) + Bunshō (1466–1467) + Ōnin (1467–1469) + Bunmei (1469–1487) + Chōkyō (1487–1489) + Entoku (1489–1492) + Meiō (1492–1501) + Bunki (1501–1504) + Eishō (1504–1521) + Taiei (1521–1528) + Kyōroku (1528–1532) + Daidō (806–810) + Tenbun (1532–1555) + Kōji (1555–1558) + Eiroku (1558–1570) + Genki (1570–1573) + Tenshō (1573–1592) + Bunroku (1592–1596) + Keichō (1596–1615) + Genna (1615–1624) + Kan’ei (1624–1644) + Shōho (1644–1648) + Hakuhō (672–686) + Kōnin (810–824) + Keian (1648–1652) + Jōō (1652–1655) + Meireki (1655–1658) + Manji (1658–1661) + Kanbun (1661–1673) + Enpō (1673–1681) + Tenna (1681–1684) + Jōkyō (1684–1688) + Genroku (1688–1704) + Hōei (1704–1711) + Tenchō (824–834) + Shōtoku (1711–1716) + Kyōhō (1716–1736) + Genbun (1736–1741) + Kanpō (1741–1744) + Enkyō (1744–1748) + Kan’en (1748–1751) + Hōreki (1751–1764) + Meiwa (1764–1772) + An’ei (1772–1781) + Tenmei (1781–1789) + Jōwa (834–848) + Kansei (1789–1801) + Kyōwa (1801–1804) + Bunka (1804–1818) + Bunsei (1818–1830) + Tenpō (1830–1844) + Kōka (1844–1848) + Kaei (1848–1854) + Ansei (1854–1860) + Man’en (1860–1861) + Bunkyū (1861–1864) + Kajō (848–851) + Genji (1864–1865) + Keiō (1865–1868) + M + T + S + H + R + Ninju (851–854) + Saikō (854–857) + Ten-an (857–859) + Jōgan (859–877) + Gangyō (877–885) + Ninna (885–889) + Shuchō (686–701) + Kanpyō (889–898) + Shōtai (898–901) + Engi (901–923) + Enchō (923–931) + Jōhei (931–938) + Tengyō (938–947) + Tenryaku (947–957) + Tentoku (957–961) + Ōwa (961–964) + Kōhō (964–968) + Taihō (701–704) + Anna (968–970) + Tenroku (970–973) + Ten’en (973–976) + Jōgen (976–978) + Tengen (978–983) + Eikan (983–985) + Kanna (985–987) + Eien (987–989) + Eiso (989–990) + Shōryaku (990–995) + Keiun (704–708) + Chōtoku (995–999) + Chōhō (999–1004) + Kankō (1004–1012) + Chōwa (1012–1017) + Kannin (1017–1021) + Jian (1021–1024) + Manju (1024–1028) + Chōgen (1028–1037) + Chōryaku (1037–1040) + Chōkyū (1040–1044) + Wadō (708–715) + Kantoku (1044–1046) + Eishō (1046–1053) + Tengi (1053–1058) + Kōhei (1058–1065) + Jiryaku (1065–1069) + Enkyū (1069–1074) + Shōho (1074–1077) + Shōryaku (1077–1081) + Eihō (1081–1084) + Ōtoku (1084–1087) + Reiki (715–717) + Kanji (1087–1094) + Kahō (1094–1096) + Eichō (1096–1097) + Jōtoku (1097–1099) + Kōwa (1099–1104) + Chōji (1104–1106) + Kashō (1106–1108) + Tennin (1108–1110) + Ten-ei (1110–1113) + Eikyū (1113–1118) + Yōrō (717–724) + Gen’ei (1118–1120) + Hōan (1120–1124) + Tenji (1124–1126) + Daiji (1126–1131) + Tenshō (1131–1132) + Chōshō (1132–1135) + Hōen (1135–1141) + Eiji (1141–1142) + Kōji (1142–1144) + Ten’yō (1144–1145) + Jinki (724–729) + Kyūan (1145–1151) + Ninpei (1151–1154) + Kyūju (1154–1156) + Hōgen (1156–1159) + Heiji (1159–1160) + Eiryaku (1160–1161) + Ōho (1161–1163) + Chōkan (1163–1165) + Eiman (1165–1166) + Nin’an (1166–1169) + + + + + + G y MMMM d, EEEE + GyMMMMEEEEd + + + + + G y MMMM d + GyMMMMd + + + + + G y MMM d + GyMMMd + + + + + GGGGG y-MM-dd + GGGGGyMMdd + + + + + + + HH:mm:ss zzzz + HHmmsszzzz + + + + + HH:mm:ss z + HHmmssz + + + + + HH:mm:ss + HHmmss + + + + + HH:mm + HHmm + + + + + + + {1} {0} + + + + + + {1} {0} + + + + + + {1} {0} + + + + + + {1} {0} + + + + + h B + h:mm B + h:mm:ss B + d + ccc + E h:mm B + E h:mm:ss B + d, E + E h:mm a + E HH:mm + E h:mm:ss a + E HH:mm:ss + G y + GGGGG y-MM-dd + G y MMM + G y MMM d + G y MMM d, E + h a + HH + h:mm a + HH:mm + h:mm:ss a + HH:mm:ss + L + MM-dd + MM-dd, E + LLL + MMM d + MMM d, E + MMMM d + mm:ss + G y + G y + GGGGG y-MM + GGGGG y-MM-dd + GGGGG y-MM-dd, E + G y MMM + G y MMM d + G y MMM d, E + G y MMMM + G y QQQ + G y QQQQ + + + {0} ({2}: {1}) + {0} {1} + {1} {0} + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} {1} + {0} ({2}: {1}) + {1} {0} + + + {0} – {1} + + h B – h B + h–h B + + + h:mm B – h:mm B + h:mm–h:mm B + h:mm–h:mm B + + + d–d + + + G y – G y + G y–y + + + GGGGG y-MM – GGGGG y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM + + + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – GGGGG y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + + + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – GGGGG y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + + + G y MMM – G y MMM + G y MMM–MMM + G y MMM – y MMM + + + G y MMM d–d + G y MMM d – G y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d + + + G y MMM d, E – MMM d, E + G y MMM d, E – G y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E + + + HH–HH + + + h a – h a + h–h a + + + HH:mm–HH:mm + HH:mm–HH:mm + + + h:mm a – h:mm a + h:mm–h:mm a + h:mm–h:mm a + + + HH:mm–HH:mm v + HH:mm–HH:mm v + + + h:mm a – h:mm a v + h:mm–h:mm a v + h:mm–h:mm a v + + + HH–HH v + + + h a – h a v + h–h a v + + + MM–MM + + + MM-dd – MM-dd + MM-dd – MM-dd + + + MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E + + + LLL–LLL + + + MMM d–d + MMM d – MMM d + + + MMM d, E – MMM d, E + MMM d, E – MMM d, E + + + G y–y + + + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM + + + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + + + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + + + G y MMM–MMM + G y MMM – y MMM + + + G y MMM d–d + G y MMM d – MMM d + G y MMM d – y MMM d + + + G y MMM d, E – MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E + + + G y MMMM–MMMM + G y MMMM – y MMMM + + + + + + + + + Farvardin + Ordibehesht + Khordad + Tir + Mordad + Shahrivar + Mehr + Aban + Azar + Dey + Bahman + Esfand + + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + + + فرفردن + أذربيهشت + خرداد + تار + مرداد + شهرفار + مهر + آيان + آذر + دي + بهمن + اسفندار + + + + + Farvardin + Ordibehesht + Khordad + Tir + Mordad + Shahrivar + Mehr + Aban + Azar + Dey + Bahman + Esfand + + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + + + Farvardin + Ordibehesht + Khordad + Tir + Mordad + Shahrivar + Mehr + Aban + Azar + Dey + Bahman + Esfand + + + + + + + Sun + Mon + Tue + Wed + Thu + Fri + Sat + + + S + M + T + W + T + F + S + + + Sun + Mon + Tue + Wed + Thu + Fri + Sat + + + Sun + Mon + Tue + Wed + Thu + Fri + Sat + + + + + Sun + Mon + Tue + Wed + Thu + Fri + Sat + + + S + M + T + W + T + F + S + + + Sun + Mon + Tue + Wed + Thu + Fri + Sat + + + Sun + Mon + Tue + Wed + Thu + Fri + Sat + + + + + + + Q1 + Q2 + Q3 + Q4 + + + 1 + 2 + 3 + 4 + + + Q1 + Q2 + Q3 + Q4 + + + + + Q1 + Q2 + Q3 + Q4 + + + 1 + 2 + 3 + 4 + + + Q1 + Q2 + Q3 + Q4 + + + + + + + AM + PM + + + AM + PM + + + AM + PM + + + + + AM + PM + + + AM + PM + + + AM + PM + + + + + + AP + + + ه.ش + + + AP + + + + + + G y MMMM d, EEEE + GyMMMMEEEEd + + + + + G y MMMM d + GyMMMMd + + + + + G y MMM d + GyMMMd + + + + + GGGGG y-MM-dd + GGGGGyMMdd + + + + + + + HH:mm:ss zzzz + HHmmsszzzz + + + + + HH:mm:ss z + HHmmssz + + + + + HH:mm:ss + HHmmss + + + + + HH:mm + HHmm + + + + + + + {1} {0} + + + + + + {1} {0} + + + + + + {1} {0} + + + + + + {1} {0} + + + + + h B + h:mm B + h:mm:ss B + d + ccc + E h:mm B + E h:mm:ss B + d, E + E h:mm a + E HH:mm + E h:mm:ss a + E HH:mm:ss + G y + GGGGG y-MM-dd + G y MMM + G y MMM d + G y MMM d, E + h a + HH + h:mm a + HH:mm + h:mm:ss a + HH:mm:ss + L + MM-dd + MM-dd, E + LLL + MMM d + MMM d, E + MMMM d + mm:ss + G y + G y + GGGGG y-MM + GGGGG y-MM-dd + GGGGG y-MM-dd, E + G y MMM + G y MMM d + G y MMM d, E + G y MMMM + G y QQQ + G y QQQQ + + + {0} ({2}: {1}) + {0} {1} + {1} {0} + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} ({2}: {1}) + {0} {1} + {0} ({2}: {1}) + {1} {0} + + + {0} – {1} + + h B – h B + h–h B + + + h:mm B – h:mm B + h:mm–h:mm B + h:mm–h:mm B + + + d–d + + + G y – G y + G y–y + + + GGGGG y-MM – GGGGG y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM + + + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – GGGGG y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + + + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – GGGGG y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + + + G y MMM – G y MMM + G y MMM–MMM + G y MMM – y MMM + + + G y MMM d–d + G y MMM d – G y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d + + + G y MMM d, E – MMM d, E + G y MMM d, E – G y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E + + + HH–HH + + + h a – h a + h–h a + + + HH:mm–HH:mm + HH:mm–HH:mm + + + h:mm a – h:mm a + h:mm–h:mm a + h:mm–h:mm a + + + HH:mm–HH:mm v + HH:mm–HH:mm v + + + h:mm a – h:mm a v + h:mm–h:mm a v + h:mm–h:mm a v + + + HH–HH v + + + h a – h a v + h–h a v + + + MM–MM + + + MM-dd – MM-dd + MM-dd – MM-dd + + + MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E + + + LLL–LLL + + + MMM d–d + MMM d – MMM d + + + MMM d, E – MMM d, E + MMM d, E – MMM d, E + + + G y–y + + + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM + + + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + + + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + + + G y MMM–MMM + G y MMM – y MMM + + + G y MMM d–d + G y MMM d – MMM d + G y MMM d – y MMM d + + + G y MMM d, E – MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E + + + G y MMMM–MMMM + G y MMMM – y MMMM + + + + + + + M01 M02 @@ -12599,21 +13347,25 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} + {1} {0} + {1} {0} + {1} {0} + h B @@ -12633,7 +13385,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ G y MMM G y MMM d G y MMM d, E - h a + h a HH h:mm a HH:mm @@ -12673,13 +13425,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ {1} {0} - {0} – {1} + {0} – {1} - h B – h B + h B – h B h–h B - h:mm B – h:mm B + h:mm B – h:mm B h:mm–h:mm B h:mm–h:mm B @@ -12687,56 +13439,56 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ d–d - G y – G y + G y – G y G y–y - GGGGG y-MM – GGGGG y-MM - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – GGGGG y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – GGGGG y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – GGGGG y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – GGGGG y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – GGGGG y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E - G y MMM – G y MMM + G y MMM – G y MMM G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – G y MMM d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – G y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – G y MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – G y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E HH–HH - h a – h a - h–h a + h a – h a + h–h a HH:mm–HH:mm HH:mm–HH:mm - h:mm a – h:mm a + h:mm a – h:mm a h:mm–h:mm a h:mm–h:mm a @@ -12745,7 +13497,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH:mm–HH:mm v - h:mm a – h:mm a v + h:mm a – h:mm a v h:mm–h:mm a v h:mm–h:mm a v @@ -12753,65 +13505,65 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ HH–HH v - h a – h a v - h–h a v + h a – h a v + h–h a v MM–MM - MM-dd – MM-dd - MM-dd – MM-dd + MM-dd – MM-dd + MM-dd – MM-dd - MM-dd, E – MM-dd, E - MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E + MM-dd, E – MM-dd, E LLL–LLL MMM d–d - MMM d – MMM d + MMM d – MMM d - MMM d, E – MMM d, E - MMM d, E – MMM d, E + MMM d, E – MMM d, E + MMM d, E – MMM d, E G y–y - GGGGG y-MM – y-MM - GGGGG y-MM – y-MM + GGGGG y-MM – y-MM + GGGGG y-MM – y-MM - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd + GGGGG y-MM-dd – y-MM-dd - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E - GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E + GGGGG y-MM-dd, E – y-MM-dd, E G y MMM–MMM - G y MMM – y MMM + G y MMM – y MMM G y MMM d–d - G y MMM d – MMM d - G y MMM d – y MMM d + G y MMM d – MMM d + G y MMM d – y MMM d - G y MMM d, E – MMM d, E - G y MMM d, E – MMM d, E - G y MMM d, E – y MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – MMM d, E + G y MMM d, E – y MMM d, E G y MMMM–MMMM - G y MMMM – y MMMM + G y MMMM – y MMMM @@ -12822,10 +13574,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ العصر - العصر + Era - العصر + Era السنة @@ -12833,58 +13585,40 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ السنة الحالية السنة القادمة - خلال {0} سنة خلال سنة واحدة خلال سنتين خلال {0} سنوات - خلال {0} سنة خلال {0} سنة - قبل {0} سنة قبل سنة واحدة قبل سنتين قبل {0} سنوات - قبل {0} سنة قبل {0} سنة - السنة + Year + last year + this year + next year - خلال {0} سنة - خلال سنة واحدة - خلال سنتين - خلال {0} سنوات - خلال {0} سنة - خلال {0} سنة + +{0} y - قبل {0} سنة - قبل سنة واحدة - قبل سنتين - قبل {0} سنوات - قبل {0} سنة - قبل {0} سنة + -{0} y - السنة + Year + last year + this year + next year - خلال {0} سنة - خلال سنة واحدة - خلال سنتين - خلال {0} سنوات - خلال {0} سنة - خلال {0} سنة + +{0} y - قبل {0} سنة - قبل سنة واحدة - قبل سنتين - قبل {0} سنوات - قبل {0} سنة - قبل {0} سنة + -{0} y @@ -12893,64 +13627,40 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ هذا الربع الربع القادم - خلال {0} ربع سنة خلال ربع سنة واحد خلال ربعي سنة خلال {0} أرباع سنة - خلال {0} ربع سنة خلال {0} ربع سنة - قبل {0} ربع سنة قبل ربع سنة واحد قبل ربعي سنة قبل {0} أرباع سنة - قبل {0} ربع سنة قبل {0} ربع سنة - ربع السنة - الربع الأخير - هذا الربع - الربع القادم + Quarter + last quarter + this quarter + next quarter - خلال {0} ربع سنة - خلال ربع سنة واحد - خلال ربعي سنة - خلال {0} أرباع سنة - خلال {0} ربع سنة - خلال {0} ربع سنة + +{0} Q - قبل {0} ربع سنة - قبل ربع سنة واحد - قبل ربعي سنة - قبل {0} أرباع سنة - قبل {0} ربع سنة - قبل {0} ربع سنة + -{0} Q - ربع السنة - الربع الأخير - هذا الربع - الربع القادم + Quarter + last quarter + this quarter + next quarter - خلال {0} ربع سنة - خلال ربع سنة واحد - خلال ربعي سنة - خلال {0} أرباع سنة - خلال {0} ربع سنة - خلال {0} ربع سنة + +{0} Q - قبل {0} ربع سنة - قبل ربع سنة واحد - قبل ربعي سنة - قبل {0} أرباع سنة - قبل {0} ربع سنة - قبل {0} ربع سنة + -{0} Q @@ -12959,7 +13669,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ هذا الشهر الشهر القادم - خلال {0} شهر خلال شهر واحد خلال شهرين خلال {0} أشهر @@ -12967,7 +13676,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ خلال {0} شهر - قبل {0} شهر قبل شهر واحد قبل شهرين قبل {0} أشهر @@ -12976,41 +13684,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - الشهر - - خلال {0} شهر - خلال شهر واحد - خلال شهرين - خلال {0} أشهر - خلال {0} شهرًا - خلال {0} شهر - - قبل {0} شهر - قبل شهر واحد - قبل شهرين خلال {0} أشهر - قبل {0} شهرًا - قبل {0} شهر - الشهر - - خلال {0} شهر - خلال شهر واحد - خلال شهرين - خلال {0} أشهر - خلال {0} شهرًا - خلال {0} شهر - - قبل {0} شهر - قبل شهر واحد - قبل شهرين قبل {0} أشهر - قبل {0} شهرًا - قبل {0} شهر @@ -13019,7 +13699,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ هذا الأسبوع الأسبوع القادم - خلال {0} أسبوع خلال أسبوع واحد خلال أسبوعين خلال {0} أسابيع @@ -13027,7 +13706,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ خلال {0} أسبوع - قبل {0} أسبوع قبل أسبوع واحد قبل أسبوعين قبل {0} أسابيع @@ -13037,44 +13715,14 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ أسبوع {0} - الأسبوع - خلال {0} أسبوع - خلال أسبوع واحد خلال {0} أسبوعين - خلال {0} أسابيع - خلال {0} أسبوعًا - خلال {0} أسبوع - - - قبل {0} أسبوع - قبل أسبوع واحد - قبل أسبوعين - قبل {0} أسابيع - قبل {0} أسبوعًا - قبل {0} أسبوع - أسبوع {0} - الأسبوع - خلال {0} أسبوع - خلال أسبوع واحد خلال أسبوعين - خلال {0} أسابيع - خلال {0} أسبوعًا - خلال {0} أسبوع - - - قبل {0} أسبوع - قبل أسبوع واحد - قبل أسبوعين - قبل {0} أسابيع - قبل {0} أسبوعًا - قبل {0} أسبوع - أسبوع {0} الأسبوع من الشهر @@ -13087,13 +13735,12 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ يوم - أمس أول أمس + أمس اليوم غدًا بعد الغد - خلال {0} يوم خلال يوم واحد خلال يومين خلال {0} أيام @@ -13101,7 +13748,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ خلال {0} يوم - قبل {0} يوم قبل يوم واحد قبل يومين قبل {0} أيام @@ -13110,51 +13756,27 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - يوم - أمس - أول أمس - اليوم - غدًا - بعد الغد + Day + yesterday + today + tomorrow - خلال {0} يوم - خلال يوم واحد - خلال يومين - خلال {0} أيام - خلال {0} يومًا - خلال {0} يوم + +{0} d - قبل {0} يوم - قبل يوم واحد - قبل يومين - قبل {0} أيام - قبل {0} يومًا - قبل {0} يوم + -{0} d - يوم - أمس - أول أمس - اليوم - غدًا - بعد الغد + Day + yesterday + today + tomorrow - خلال {0} يوم - خلال يوم واحد - خلال يومين - خلال {0} أيام - خلال {0} يومًا - خلال {0} يوم + +{0} d - قبل {0} يوم - قبل يوم واحد - قبل يومين - قبل {0} أيام - قبل {0} يومًا - قبل {0} يوم + -{0} d @@ -13170,10 +13792,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ اليوم - اليوم + Day of the Week - اليوم + Day of the Week يوم عمل من الشهر @@ -13189,62 +13811,35 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ الأحد الحالي الأحد القادم - خلال {0} أحد الأحد القادم الأحد بعد القادم - خلال {0} أحد - خلال {0} أحد خلال {0} أحد - قبل {0} أحد الأحد الماضي الأحد قبل الماضي - قبل {0} أحد - قبل {0} أحد قبل {0} أحد - الأحد الماضي - الأحد الحالي - الأحد القادم - خلال {0} أحد أحد قادم أحد بعد القادم - خلال {0} أحد - خلال {0} أحد - خلال {0} أحد - قبل {0} أحد أحد ماضي أحد قبل الماضي - قبل {0} أحد - قبل {0} أحد - قبل {0} أحد - الأحد الماضي - الأحد الحالي - الأحد القادم + last Sunday + this Sunday + next Sunday - خلال {0} أحد - أحد قادم - أحد بعد القادم - خلال {0} أحد - خلال {0} أحد - خلال {0} أحد + +{0} Sundays - قبل {0} أحد - أحد ماضي - أحد قبل الماضي - قبل {0} أحد - قبل {0} أحد - قبل {0} أحد + -{0} Sundays @@ -13256,7 +13851,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ الإثنين القادم الإثنين بعد القادم خلال {0} أيام إثنين - خلال {0} يوم إثنين خلال {0} يوم إثنين @@ -13264,50 +13858,28 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ الإثنين الماضي الإثنين قبل الماضي قبل {0} أيام إثنين - قبل {0} يوم إثنين قبل {0} يوم إثنين - الإثنين الماضي - الإثنين الحالي - الإثنين القادم - خلال {0} إثنين - الإثنين القادم - الإثنين بعد القادم خلال {0} إثنين خلال {0} إثنين خلال {0} إثنين - قبل {0} إثنين - الإثنين الماضي - الإثنين قبل الماضي قبل {0} إثنين قبل {0} إثنين قبل {0} إثنين - الإثنين الماضي - الإثنين الحالي - الإثنين القادم - خلال {0} إثنين إثنين قادم - الإثنين بعد القادم - خلال {0} إثنين - خلال {0} إثنين - خلال {0} إثنين - قبل {0} إثنين إثنين ماضي إثنين قبل الماضي - قبل {0} إثنين - قبل {0} إثنين - قبل {0} إثنين @@ -13315,26 +13887,19 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ الثلاثاء الحالي الثلاثاء القادم - خلال {0} يوم ثلاثاء الثلاثاء القادم الثلاثاء بعد القادم خلال {0} أيام ثلاثاء - خلال {0} يوم ثلاثاء خلال {0} يوم ثلاثاء - قبل {0} يوم ثلاثاء الثلاثاء الماضي الثلاثاء قبل الماضي قبل {0} أيام ثلاثاء - قبل {0} يوم ثلاثاء قبل {0} يوم ثلاثاء - الثلاثاء الماضي - الثلاثاء الحالي - الثلاثاء القادم خلال {0} ثلاثاء ثلاثاء قادم @@ -13353,24 +13918,14 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - الثلاثاء الماضي - الثلاثاء الحالي - الثلاثاء القادم + last Tuesday + this Tuesday + next Tuesday - خلال {0} ثلاثاء - ثلاثاء قادم - ثلاثاء بعد القادم - خلال {0} ثلاثاء - خلال {0} ثلاثاء - خلال {0} ثلاثاء + +{0} Tuesdays - قبل {0} ثلاثاء - ثلاثاء ماضي - ثلاثاء قبل الماضي - قبل {0} ثلاثاء - قبل {0} ثلاثاء - قبل {0} ثلاثاء + -{0} Tuesdays @@ -13378,26 +13933,19 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ الأربعاء الحالي الأربعاء القادم - خلال {0} يوم أربعاء الأربعاء القادم الأربعاء بعد القادم خلال {0} أيام أربعاء - خلال {0} يوم أربعاء خلال {0} يوم أربعاء - قبل {0} يوم أربعاء الأربعاء الماضي الأربعاء قبل الماضي قبل {0} أيام أربعاء - قبل {0} يوم أربعاء قبل {0} يوم أربعاء - الأربعاء الماضي - الأربعاء الحالي - الأربعاء القادم خلال {0} أربعاء خلال {0} أربعاء @@ -13416,24 +13964,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - الأربعاء الماضي - الأربعاء الحالي - الأربعاء القادم - خلال {0} أربعاء أربعاء قادم أربعاء بعد القادم - خلال {0} أربعاء - خلال {0} أربعاء - خلال {0} أربعاء - - - قبل {0} أربعاء - أربعاء ماضي - أربعاء قبل الماضي - قبل {0} أربعاء - قبل {0} أربعاء - قبل {0} أربعاء @@ -13441,30 +13974,21 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ الخميس الحالي الخميس القادم - خلال {0} يوم خميس الخميس القادم الخميس بعد القادم خلال {0} أيام خميس - خلال {0} يوم خميس خلال {0} يوم خميس - قبل {0} يوم خميس الخميس الماضي الخميس قبل الماضي قبل {0} أيام خميس - قبل {0} يوم خميس قبل {0} يوم خميس - الخميس الماضي - الخميس الحالي - الخميس القادم خلال {0} خميس - الخميس القادم - الخميس بعد القادم خلال {0} خميس خلال {0} خميس خلال {0} خميس @@ -13479,24 +14003,8 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - الخميس الماضي - الخميس الحالي - الخميس القادم - خلال {0} خميس خلال {0} يوم خميس - الخميس بعد القادم - خلال {0} خميس - خلال {0} خميس - خلال {0} خميس - - - قبل {0} خميس - خميس ماضي - خميس قبل الماضي - قبل {0} خميس - قبل {0} خميس - قبل {0} خميس @@ -13504,26 +14012,19 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ الجمعة الحالي الجمعة القادم - خلال {0} يوم جمعة الجمعة القادم الجمعة بعد القادم خلال {0} أيام جمعة - خلال {0} يوم جمعة خلال {0} يوم جمعة - قبل {0} يوم جمعة الجمعة الماضي الجمعة قبل الماضي قبل {0} أيام جمعة - قبل {0} يوم جمعة قبل {0} يوم جمعة - الجمعة الماضي - الجمعة الحالي - الجمعة القادم خلال {0} جمعة جمعة قادم @@ -13542,24 +14043,14 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - الجمعة الماضي - الجمعة الحالي - الجمعة القادم + last Friday + this Friday + next Friday - خلال {0} جمعة - جمعة قادم - جمعة بعد القادم - خلال {0} جمعة - خلال {0} جمعة - خلال {0} جمعة + +{0} Fridays - قبل {0} جمعة - جمعة ماضي - جمعة قبل الماضي - قبل {0} جمعة - قبل {0} جمعة - قبل {0} جمعة + -{0} Fridays @@ -13575,18 +14066,12 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ بعد {0} يوم سبت - قبل {0} يوم سبت السبت الماضي السبت قبل الماضي - قبل {0} يوم سبت - قبل {0} يوم سبت قبل {0} يوم سبت - السبت الماضي - السبت الحالي - السبت القادم خلال {0} سبت سبت قادم @@ -13605,207 +14090,126 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - السبت الماضي - السبت الحالي - السبت القادم + last Saturday + this Saturday + next Saturday - خلال {0} سبت - سبت قادم - سبت بعد القادم - خلال {0} سبت - خلال {0} سبت - خلال {0} سبت + +{0} Saturdays - قبل {0} سبت - سبت ماضي - سبت قبل الماضي - قبل {0} سبت - قبل {0} سبت - قبل {0} سبت + -{0} Saturdays ص/م - ص/م + Dayperiod - ص/م + Dayperiod الساعات الساعة الحالية - خلال {0} ساعة خلال ساعة واحدة خلال ساعتين خلال {0} ساعات - خلال {0} ساعة خلال {0} ساعة - قبل {0} ساعة قبل ساعة واحدة قبل ساعتين قبل {0} ساعات - قبل {0} ساعة قبل {0} ساعة - الساعات + Hour + this hour - خلال {0} ساعة - خلال ساعة واحدة - خلال ساعتين - خلال {0} ساعات - خلال {0} ساعة - خلال {0} ساعة + +{0} h - قبل {0} ساعة - قبل ساعة واحدة - قبل ساعتين - قبل {0} ساعات - قبل {0} ساعة - قبل {0} ساعة + -{0} h - الساعات + Hour + this hour - خلال {0} ساعة - خلال ساعة واحدة - خلال ساعتين - خلال {0} ساعات - خلال {0} ساعة - خلال {0} ساعة + +{0} h - قبل {0} ساعة - قبل ساعة واحدة - قبل ساعتين - قبل {0} ساعات - قبل {0} ساعة - قبل {0} ساعة + -{0} h الدقائق هذه الدقيقة - خلال {0} دقيقة خلال دقيقة واحدة خلال دقيقتين خلال {0} دقائق - خلال {0} دقيقة خلال {0} دقيقة - قبل {0} دقيقة قبل دقيقة واحدة قبل دقيقتين قبل {0} دقائق - قبل {0} دقيقة قبل {0} دقيقة - الدقائق + Minute + this minute - خلال {0} دقيقة - خلال دقيقة واحدة - خلال دقيقتين - خلال {0} دقائق - خلال {0} دقيقة - خلال {0} دقيقة + +{0} min - قبل {0} دقيقة - قبل دقيقة واحدة - قبل دقيقتين - قبل {0} دقائق - قبل {0} دقيقة - قبل {0} دقيقة + -{0} min - الدقائق + Minute + this minute - خلال {0} دقيقة - خلال دقيقة واحدة - خلال دقيقتين - خلال {0} دقائق - خلال {0} دقيقة - خلال {0} دقيقة + +{0} min - قبل {0} دقيقة - قبل دقيقة واحدة - قبل دقيقتين - قبل {0} دقائق - قبل {0} دقيقة - قبل {0} دقيقة + -{0} min الثواني الآن - خلال {0} ثانية خلال ثانية واحدة خلال ثانيتين خلال {0} ثوانٍ - خلال {0} ثانية خلال {0} ثانية - قبل {0} ثانية قبل ثانية واحدة قبل ثانيتين قبل {0} ثوانِ - قبل {0} ثانية قبل {0} ثانية - الثواني - - خلال {0} ثانية - خلال ثانية واحدة - خلال ثانيتين - خلال {0} ثوانٍ - خلال {0} ثانية - خلال {0} ثانية - - قبل {0} ثانية - قبل ثانية واحدة - قبل ثانيتين قبل {0} ثوانٍ - قبل {0} ثانية - قبل {0} ثانية - الثواني + Second + now - خلال {0} ثانية - خلال ثانية واحدة - خلال ثانيتين - خلال {0} ثوانٍ - خلال {0} ثانية - خلال {0} ثانية + +{0} s - قبل {0} ثانية - قبل ثانية واحدة - قبل ثانيتين - قبل {0} ثوانٍ - قبل {0} ثانية - قبل {0} ثانية + -{0} s @@ -13815,7 +14219,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ توقيت - توقيت + Zone @@ -13823,8 +14227,8 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ غرينتش{0} غرينتش توقيت {0} - توقيت {0} الرسمي توقيت {0} الصيفي + توقيت {0} الرسمي {1} ({0}) @@ -14098,18 +14502,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ سانت جونس - - ثندر باي - - - راني ريفر - كورال هاربر - - نيبيجون - كريستون @@ -14143,9 +14538,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ وايت هورس - - يلونيف - رانكن انلت @@ -14155,9 +14547,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ داوسان - - بانجينتينج - اينوفيك @@ -14458,6 +14847,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ بنوم بنه + + كانتون + تاراوا @@ -14501,7 +14893,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ أورال - قوستاناي + قوستاناي فيانتيان @@ -14575,9 +14967,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ هوفد - - تشوبالسان - ماكاو @@ -14956,12 +15345,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ سيمفروبول - - زابوروزي - - - أوزجرود - كييف @@ -14974,9 +15357,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ميدواي - - جونستون - فينكس @@ -15112,11 +15492,8 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ هراري - - سانتا إيزابيل - - - كوري + + سيوداد خواريز اندربيرج @@ -15346,13 +15723,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ توقيت الصين الصيفي - - - توقيت شويبالسان - توقيت شويبالسان الرسمي - التوقيت الصيفي لشويبالسان - - توقيت جزر الكريسماس @@ -15606,6 +15976,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ توقيت بيتروبافلوفسك-كامتشاتسكي الصيفي + + + توقيت كازاخستان + + توقيت شرق كازاخستان @@ -15652,11 +16027,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ التوقيت الصيفي للورد هاو - - - توقيت ماكواري - - توقيت ماغادان @@ -15696,13 +16066,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ توقيت ماوسون - - - توقيت شمال غرب المكسيك - التوقيت الرسمي لشمال غرب المكسيك - التوقيت الصيفي لشمال غرب المكسيك - - توقيت المحيط الهادي للمكسيك @@ -16039,11 +16402,15 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ توقيت يكاترينبورغ الصيفي + + + توقيت يوكون + + - arab - latn + latn arab @@ -16063,7 +16430,397 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + ٫ + ٬ + ؛ + ٪ + + + - + ~ + أس + × + ؉ + ∞ + ليس رقمًا + : + + + ٫ + ٬ + ؛ + ٪ + + + - + ~ + ×۱۰^ + × + ؉ + ∞ + ليس رقمًا + ٫ + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + . , ; @@ -16078,37 +16835,37 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - - ٫ - ٬ - ؛ - ٪ - + - - + + . + , + ; + % + + + - ~ - اس + E × - ؉ + ‰ ∞ - ليس رقم + NaN : - - ٫ - ٬ - ؛ - ٪ - + - - + + . + , + ; + % + + + - ~ - ×۱۰^ + E × - ؉ + ‰ ∞ NaN - ٫ + : - + . , ; @@ -16123,7 +16880,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16138,7 +16895,22 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + ليس رقمًا + : + + . , ; @@ -16153,7 +16925,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16168,7 +16940,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16183,7 +16955,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16198,7 +16970,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16213,7 +16985,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16228,7 +17000,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16243,7 +17015,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16258,7 +17030,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16273,7 +17045,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16288,7 +17060,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16303,7 +17075,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16318,7 +17090,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16333,7 +17105,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16348,7 +17120,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16363,7 +17135,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16378,7 +17150,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16393,22 +17165,22 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; - % - + - - + % + + + - ~ E × ‰ ∞ - ليس رقمًا + NaN : - + . , ; @@ -16423,7 +17195,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16438,7 +17210,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16453,7 +17225,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16468,7 +17240,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16483,7 +17255,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16498,7 +17270,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16513,7 +17285,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16528,7 +17300,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16543,7 +17315,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16558,7 +17330,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16573,7 +17345,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16588,7 +17360,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16603,7 +17375,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16618,7 +17390,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16633,7 +17405,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : - + . , ; @@ -16738,6 +17510,36 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + . , @@ -16753,6 +17555,36 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ NaN : + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + + + . + , + ; + % + + + - + ~ + E + × + ‰ + ∞ + NaN + : + @@ -16792,7 +17624,1138 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + #,##0.### @@ -16831,7 +18794,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -16870,7 +18833,107 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + + + + #,##0.### + + + + + 0 ألف + 0 ألف + 0 ألف + 0 آلاف + 0 ألف + 0 ألف + 00 ألف + 00 ألف + 00 ألف + 00 ألف + 00 ألف + 00 ألف + 000 ألف + 000 ألف + 000 ألف + 000 ألف + 000 ألف + 000 ألف + 0 مليون + 0 مليون + 0 مليون + 0 ملايين + 0 مليون + 0 مليون + 00 مليون + 00 مليون + 00 مليون + 00 ملايين + 00 مليون + 00 مليون + 000 مليون + 000 مليون + 000 مليون + 000 مليون + 000 مليون + 000 مليون + 0 مليار + 0 مليار + 0 مليار + 0 مليار + 0 مليار + 0 مليار + 00 مليار + 00 مليار + 00 مليار + 00 مليار + 00 مليار + 00 مليار + 000 مليار + 000 مليار + 000 مليار + 000 مليار + 000 مليار + 000 مليار + 0 ترليون + 0 ترليون + 0 ترليون + 0 ترليون + 0 ترليون + 0 ترليون + 00 ترليون + 00 ترليون + 00 ترليون + 00 ترليون + 00 ترليون + 00 ترليون + 000 ترليون + 000 ترليون + 000 ترليون + 000 ترليون + 000 ترليون + 000 ترليون + + + + + 0 آلاف + 0 ألف + 00 ألف + 000 ألف + 0 مليون + 00 مليون + 000 مليون + 0 مليار + 00 مليار + 000 مليار + 0 ترليون + 00 ترليون + 000 ترليون + + + + #,##0.### @@ -16909,7 +18972,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -16948,7 +19011,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -16987,7 +19050,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17026,7 +19089,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17065,7 +19128,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17104,7 +19167,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17143,7 +19206,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17182,7 +19245,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17221,7 +19284,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17260,7 +19323,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17299,7 +19362,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17338,7 +19401,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17377,7 +19440,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17416,7 +19479,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17455,7 +19518,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17494,7 +19557,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17533,7 +19596,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17572,7 +19635,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17611,7 +19674,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17650,7 +19713,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17658,158 +19721,77 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - 0 ألف - 0 ألف - 0 ألف - 0 آلاف - 0 ألف - 0 ألف - 00 ألف - 00 ألف - 00 ألف - 00 ألف - 00 ألف - 00 ألف - 000 ألف - 000 ألف - 000 ألف - 000 ألف - 000 ألف - 000 ألف - 0 مليون - 0 مليون - 0 مليون - 0 ملايين - 0 مليون - 0 مليون - 00 مليون - 00 مليون - 00 مليون - 00 ملايين - 00 مليون - 00 مليون - 000 مليون - 000 مليون - 000 مليون - 000 مليون - 000 مليون - 000 مليون - 0 مليار - 0 مليار - 0 مليار - 0 مليار - 0 مليار - 0 مليار - 00 مليار - 00 مليار - 00 مليار - 00 مليار - 00 مليار - 00 مليار - 000 مليار - 000 مليار - 000 مليار - 000 مليار - 000 مليار - 000 مليار - 0 ترليون - 0 ترليون - 0 ترليون - 0 ترليون - 0 ترليون - 0 ترليون - 00 ترليون - 00 ترليون - 00 ترليون - 00 ترليون - 00 ترليون - 00 ترليون - 000 ترليون - 000 ترليون - 000 ترليون - 000 ترليون - 000 ترليون - 000 ترليون + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T + + + + + + + #,##0.### + + + + + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T - 0 ألف - 0 ألف - 0 ألف - 0 آلاف - 0 ألف - 0 ألف - 00 ألف - 00 ألف - 00 ألف - 00 ألف - 00 ألف - 00 ألف - 000 ألف - 000 ألف - 000 ألف - 000 ألف - 000 ألف - 000 ألف - 0 مليون - 0 مليون - 0 مليون - 0 مليون - 0 مليون - 0 مليون - 00 مليون - 00 مليون - 00 مليون - 00 مليون - 00 مليون - 00 مليون - 000 مليون - 000 مليون - 000 مليون - 000 مليون - 000 مليون - 000 مليون - 0 مليار - 0 مليار - 0 مليار - 0 مليار - 0 مليار - 0 مليار - 00 مليار - 00 مليار - 00 مليار - 00 مليار - 00 مليار - 00 مليار - 000 مليار - 000 مليار - 000 مليار - 000 مليار - 000 مليار - 000 مليار - 0 ترليون - 0 ترليون - 0 ترليون - 0 ترليون - 0 ترليون - 0 ترليون - 00 ترليون - 00 ترليون - 00 ترليون - 00 ترليون - 00 ترليون - 00 ترليون - 000 ترليون - 000 ترليون - 000 ترليون - 000 ترليون - 000 ترليون - 000 ترليون + 0K + 00K + 000K + 0M + 00M + 000M + 0G + 00G + 000G + 0T + 00T + 000T - + #,##0.### @@ -17848,7 +19830,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17887,7 +19869,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17926,7 +19908,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -17965,7 +19947,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18004,7 +19986,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18043,7 +20025,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18082,7 +20064,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18121,7 +20103,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18160,7 +20142,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18199,7 +20181,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18238,7 +20220,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18277,7 +20259,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18316,7 +20298,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18355,7 +20337,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18394,7 +20376,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18433,7 +20415,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18472,7 +20454,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18511,7 +20493,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18550,7 +20532,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18589,7 +20571,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18628,7 +20610,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18667,7 +20649,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + #,##0.### @@ -18713,259 +20695,441 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + + + + #E0 + + + + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 - + #E0 @@ -18986,6 +21150,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ + + + + #E0 + + + @@ -19028,6 +21199,20 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ + + + + #E0 + + + + + + + #E0 + + + @@ -19035,6 +21220,20 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ + + + + #E0 + + + + + + + #E0 + + + @@ -19042,259 +21241,441 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + + + + #,##0% + + + + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% - + #,##0% @@ -19315,6 +21696,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ + + + + #,##0% + + + @@ -19357,6 +21745,20 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ + + + + #,##0% + + + + + + + #,##0% + + + @@ -19364,6 +21766,20 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ + + + + #,##0% + + + + + + + #,##0% + + + @@ -19378,10 +21794,1269 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + #,##0.00 ¤ + + + #,##0.00 ¤ + + + {0} {1} + {0} {1} + {0} {1} + {0} {1} + {0} {1} + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + + ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 + + + + + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T + + + {0} ¤¤ + {0} {1} + + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + [[:^S:]&[:^Z:]] + [:digit:] + + + + + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -19401,9 +23076,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -19417,32 +23093,35 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - - ¤ #,##0.00 - - ¤ #,##0.00 + #,##0.00 ¤;-#,##0.00 ¤ + + + #,##0.00¤;(#,##0.00¤) + #,##0.00 ¤;(#,##0.00 ¤) + #,##0.00;(#,##0.00) - ¤ 0K - ¤ 00K - ¤ 000K - ¤ 0M - ¤ 00M - ¤ 000M - ¤ 0G - ¤ 00G - ¤ 000G - ¤ 0T - ¤ 00T - ¤ 000T + 0 ألف ¤ + 00 ألف ¤ + 000 ألف ¤ + 0 مليون ¤ + 00 مليون ¤ + 000 مليون ¤ + 0 مليار ¤ + 00 مليار ¤ + 000 مليار ¤ + 0 ترليون ¤ + 00 ترليون ¤ + 000 ترليون ¤ + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -19456,21 +23135,34 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ + + ¤ #,##0.00 + #,##0.00 + - #,##0.00 ¤ + ¤ #,##0.00 + + - #,##0.00 ¤ + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T - {0} {1} - {0} {1} - {0} {1} - {0} {1} - {0} {1} + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -19484,10 +23176,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -19507,9 +23200,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -19523,10 +23217,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -19546,9 +23241,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -19562,10 +23258,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -19585,9 +23282,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -19601,10 +23299,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -19624,9 +23323,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -19640,10 +23340,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -19663,9 +23364,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -19679,10 +23381,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -19702,9 +23405,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -19718,10 +23422,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -19741,9 +23446,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -19757,10 +23463,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -19780,9 +23487,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -19796,10 +23504,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -19819,9 +23528,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -19835,10 +23545,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -19858,9 +23569,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -19874,10 +23586,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -19897,9 +23610,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -19913,10 +23627,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -19936,9 +23651,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -19952,10 +23668,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -19975,9 +23692,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -19991,10 +23709,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -20014,9 +23733,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -20030,10 +23750,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -20053,9 +23774,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -20069,10 +23791,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -20092,9 +23815,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -20108,10 +23832,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -20131,9 +23856,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -20147,10 +23873,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -20170,9 +23897,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -20186,10 +23914,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -20209,9 +23938,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -20225,10 +23955,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -20248,9 +23979,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -20264,96 +23996,34 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - - ¤#,##0.00;(¤#,##0.00) - ¤ #,##0.00 + #,##0.00 + + + ¤ #,##0.00 - 0 ألف ¤ - 0 ألف ¤ - 0 ألف ¤ - 0 ألف ¤ - 0 ألف ¤ - 0 ألف ¤ - 00 ألف ¤ - 00 ألف ¤ - 00 ألف ¤ - 00 ألف ¤ - 00 ألف ¤ - 00 ألف ¤ - 000 ألف ¤ - 000 ألف ¤ - 000 ألف ¤ - 000 ألف ¤ - 000 ألف ¤ - 0 مليون ¤ - 0 مليون ¤ - 0 مليون ¤ - 0 مليون ¤ - 0 مليون ¤ - 0 مليون ¤ - 00 مليون ¤ - 00 مليون ¤ - 00 مليون ¤ - 00 مليون ¤ - 00 مليون ¤ - 00 مليون ¤ - 000 مليون ¤ - 000 مليون ¤ - 000 مليون ¤ - 000 مليون ¤ - 000 مليون ¤ - 000 مليون ¤ - 0 مليار ¤ - 0 مليار ¤ - 0 مليار ¤ - 0 مليار ¤ - 0 مليار ¤ - 0 مليار ¤ - 00 مليار ¤ - 00 مليار ¤ - 00 مليار ¤ - 00 مليار ¤ - 00 مليار ¤ - 00 مليار ¤ - 000 مليار ¤ - 000 مليار ¤ - 000 مليار ¤ - 000 مليار ¤ - 000 مليار ¤ - 000 مليار ¤ - 0 ترليون ¤ - 0 ترليون ¤ - 0 ترليون ¤ - 0 ترليون ¤ - 0 ترليون ¤ - 0 ترليون ¤ - 00 ترليون ¤ - 00 ترليون ¤ - 00 ترليون ¤ - 00 ترليون ¤ - 00 ترليون ¤ - 00 ترليون ¤ - 000 ترليون ¤ - 000 ترليون ¤ - 000 ترليون ¤ - 000 ترليون ¤ - 000 ترليون ¤ - 000 ترليون ¤ + ¤ 0K + ¤ 00K + ¤ 000K + ¤ 0M + ¤ 00M + ¤ 000M + ¤ 0G + ¤ 00G + ¤ 000G + ¤ 0T + ¤ 00T + ¤ 000T - {0} {1} - {0} {1} - {0} {1} - {0} {1} - {0} {1} + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -20367,10 +24037,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -20390,9 +24061,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -20406,10 +24078,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -20429,9 +24102,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -20445,10 +24119,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -20468,9 +24143,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -20484,10 +24160,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -20507,9 +24184,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -20523,10 +24201,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -20546,9 +24225,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -20562,10 +24242,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -20585,9 +24266,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -20601,10 +24283,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -20624,9 +24307,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -20640,10 +24324,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -20663,9 +24348,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -20679,10 +24365,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -20702,9 +24389,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -20718,10 +24406,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - + ¤ #,##0.00 @@ -20741,9 +24430,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ ¤ 000T + {0} ¤¤ {0} {1} - + [[:^S:]&[:^Z:]] @@ -20757,10 +24447,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ - + ¤ #,##0.00 + #,##0.00 - +
- FieldWorks is a suite of software tools to help language development teams - manage language and cultural data, with support for complex scripts. -