L10NSharp.CheckOrFixXliff 10.0.0

dotnet add package L10NSharp.CheckOrFixXliff --version 10.0.0
                    
NuGet\Install-Package L10NSharp.CheckOrFixXliff -Version 10.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="L10NSharp.CheckOrFixXliff" Version="10.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="L10NSharp.CheckOrFixXliff" Version="10.0.0" />
                    
Directory.Packages.props
<PackageReference Include="L10NSharp.CheckOrFixXliff" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add L10NSharp.CheckOrFixXliff --version 10.0.0
                    
#r "nuget: L10NSharp.CheckOrFixXliff, 10.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package L10NSharp.CheckOrFixXliff@10.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=L10NSharp.CheckOrFixXliff&version=10.0.0
                    
Install as a Cake Addin
#tool nuget:?package=L10NSharp.CheckOrFixXliff&version=10.0.0
                    
Install as a Cake Tool

Validate and fix XLIFF files.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
10.0.0 46 8/27/2026
10.0.0-beta0016 43 8/27/2026
10.0.0-beta0015 84 8/25/2026
10.0.0-beta0014 109 7/8/2026
10.0.0-beta0013 110 6/29/2026
10.0.0-beta0012 142 6/26/2026
10.0.0-beta0011 104 6/26/2026
10.0.0-beta0010 213 6/17/2026
10.0.0-beta0009 103 6/15/2026
10.0.0-beta0008 107 6/15/2026
10.0.0-beta0007 104 6/15/2026
10.0.0-beta0006 102 6/15/2026
10.0.0-beta0005 104 6/5/2026
10.0.0-beta0004 102 5/4/2026
10.0.0-beta0003 98 5/4/2026
10.0.0-beta0002 108 4/28/2026
10.0.0-beta0001 117 2/9/2026
9.0.0 160 2/3/2026
9.0.0-beta0002 109 2/3/2026
9.0.0-beta0001 349 9/18/2025
Loading failed

Changes since version 9.0.0

Added:
- Added a repository-level MIT `LICENSE` file, which is now bundled into the NuGet packages (via `PackageLicenseFile`).
- [L10NSharp] Added `net8.0` as a target framework, enabling use on non-Windows platforms, and added cross-platform CI/CD coverage for `net8.0`.
- [L10NSharp] Added UiLanguageChanged event to ILocalizationManager. This provides a way for clients to deal with changes now that (in Windows) LocalizeItemDlg<XLiffDocument>.StringsLocalized no longer exists.

Changed:
- [L10NSharp] Removed CanCustomizeLocalizations and PrepareToCustomizeLocalizations from ILocalizationManager since L10nSharp no longer provides a mechanism by which users may customize localizations.
- [L10NSharp] Removed the following members from ILocalizationManager since they are really only needed internally and serve no purpose in the public API:
   - AppVersion
   - NamespaceBeginnings (no longer used even internally)
   - FilenamesToAddToCache
- [L10NSharp] Removed emailForSubmissions parameter from LocalizationManager.Create. Since the localization dialog was jettisoned, it no longer makes sense to store this information on the localization manager.
- [L10NSharp.Windows.Forms] Removed emailForSubmissions parameter (8th parameter) from LocalizationManagerWinforms.Create. Since the localization dialog was jettisoned, it no longer makes sense to store this information on the localization manager.
- [L10NSharp] Replaced the .NET 8.0 target with .NET Standard 2.0 for broader compatibility.
- [L10NSharp] `GetDynamicString`, `GetDynamicStringOrEnglish`, and `GetString` now return the English fallback text immediately when called with a null, empty, or whitespace string ID, rather than attempting a cache lookup or write.


Fixed:
- [L10NSharp.Windows.Forms] Restored project-local Resources support for `FallbackLanguagesDlgBase` button images (`Move`, `Move_up`, and `Move_down`).
- [L10NSharp.Windows.Forms] Corrected resource manager base name to `L10NSharp.Windows.Forms.Properties.Resources`.
- [L10NSharp.Windows.Forms.Tests] Corrected resource manager base name to `L10NSharp.Windows.Forms.Tests.Properties.Resources`.
- [L10NSharp] Fixed file handle leak in `XliffLocalizationManager.CreateOrUpdateDefaultXliffFileIfNecessary` when an exception was thrown between `File.Open` and `Close`.
- [L10NSharp] Fixed race condition in `XLiffBody.AddTransUnitRaw` where two concurrent threads with the same translation-unit ID could both bypass the duplicate check and silently overwrite each other's entry.
- [L10NSharp] Eliminated unnecessary cross-instance lock contention in `XLiffBody` by making `_transUnitIdLock` instance-level instead of static.
- [L10NSharp] Fixed `FilenamesToAddToCache` yielding both the custom and installed XLIFF for the same language when `UseLanguageCodeFolders` is `true`, causing custom translations to be silently overwritten by installed ones.
- [L10NSharp] Fixed `ExtractXliff` accumulating duplicate "Not found in static scan" notes on successive runs; the note is now replaced rather than appended, and removed when the string is subsequently found.
- [L10NSharp] Fixed `LocalizationManager.GetString` silently falling back to English when called with a one-shot `IEnumerable<string>` for `preferredLanguageIds`; the sequence is now materialized before use.
- [L10NSharp] Fixed malformed XLIFF file produced when `GetDynamicString`/`GetString` was called with a null, empty, or whitespace string ID; the entry is now silently skipped rather than written with a blank `id` attribute that caused a crash on next launch.
- [L10NSharp] Fixed `NullReferenceException` in `XLiffBody.AddTransUnit`, `XLiffBody.NumberTranslated`, and `XliffLocalizationManager.MergeXliffDocuments` when a trans-unit has no source variant (e.g. from a malformed XLIFF file).

Removed:
- Removed per-file copyright and license headers from source files, since they are covered by the repository-level `LICENSE` and the `Copyright` assembly metadata. (Headers on third-party files are retained.)
- [L10NSharp] Removed EnableClickingOnControlToBringUpLocalizationDialog. Since the localization dialog was jettisoned, this is meaningless (and wouldn't belong in the Winforms agnostic namespace anyway).
- [L10NSharp] Removed EmailForSubmissions. Since the localization dialog was jettisoned, it no longer makes sense to store this information on the localization manager.
- [L10NSharp.Windows.Forms] Removed LmGrid, LmButtonColumn, LmButtonCell, TipDialog.
- [L10NSharp.Windows.Forms] Removed the version of LocalizationManagerWinforms.Create that did not take an icon. The mere absence of a usable icon does not preclude the possibility of displaying the dialog for the user to choose a fallback language. Callers that do not wish to provide an icon can safely pass null for that parameter.
- [L10NSharp] Removed ITranslator, TranslatorBase, GoogleTranslator, and BingTranslator

See full changelog at https://github.com/sillsdev/l10nsharp/blob/master/CHANGELOG.md