L10NSharp 9.0.0-beta0001
dotnet add package L10NSharp --version 9.0.0-beta0001
NuGet\Install-Package L10NSharp -Version 9.0.0-beta0001
<PackageReference Include="L10NSharp" Version="9.0.0-beta0001" />
<PackageVersion Include="L10NSharp" Version="9.0.0-beta0001" />
<PackageReference Include="L10NSharp" />
paket add L10NSharp --version 9.0.0-beta0001
#r "nuget: L10NSharp, 9.0.0-beta0001"
#:package L10NSharp@9.0.0-beta0001
#addin nuget:?package=L10NSharp&version=9.0.0-beta0001&prerelease
#tool nuget:?package=L10NSharp&version=9.0.0-beta0001&prerelease
L10NSharp is a .NET localization library. It collects strings which need localization when your application first runs and saves them in a XLIFF file.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0-windows7.0 is compatible. net9.0-windows was computed. net10.0-windows was computed. |
.NET Framework | net461 is compatible. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 is compatible. net481 was computed. |
-
.NETFramework 4.6.1
- System.Resources.Extensions (>= 6.0.0)
-
.NETFramework 4.8
- System.Resources.Extensions (>= 6.0.0)
-
net8.0-windows7.0
- System.Resources.Extensions (>= 6.0.0)
- System.ServiceModel.Http (>= 6.2.0)
- System.ServiceModel.Primitives (>= 6.2.0)
NuGet packages (14)
Showing the top 5 NuGet packages that depend on L10NSharp:
Package | Downloads |
---|---|
SIL.Windows.Forms.Keyboarding
The SIL.Windows.Forms.Keyboarding library provides cross-platform functionality for keyboard selection and switching in Windows Forms applications. Currently, this library supports system and Keyman keyboards on Windows, and X keyboard extension (XKB) and Intelligent Input Bus (IBus) keyboards on Linux. |
|
SIL.Windows.Forms
SIL.Windows.Forms contains Windows Forms classes for UI elements (controls and dialogs) that are commonly used across various SIL applications. SIL.Windows.Forms is similar to SIL.Core in that it does not contain classes that are specific to any domain. |
|
SIL.Chorus.LibChorus
End-user collaboration library via 3-way xml merging and hg dvcs under the hood. |
|
SIL.ChorusPlugin.LibFLExBridge
Library that allows multiple FieldWorks users to collaborate remotely (i.e., not necessarily connected by a local network). |
|
SIL.ChorusPlugin.LfMergeBridge
Library that allows multiple FieldWorks users to collaborate remotely (i.e., not necessarily connected by a local network). |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
9.0.0-beta0001 | 241 | 9/18/2025 |
8.0.0 | 2,251 | 3/12/2025 |
8.0.0-beta0023 | 181 | 3/12/2025 |
8.0.0-beta0021 | 167 | 3/12/2025 |
8.0.0-beta0013 | 254 | 3/7/2025 |
8.0.0-beta0005 | 2,659 | 6/4/2024 |
8.0.0-beta0004 | 113 | 5/10/2024 |
8.0.0-beta0003 | 325 | 4/19/2024 |
7.0.1-beta0001 | 123 | 4/15/2024 |
7.0.0 | 3,861 | 11/6/2023 |
7.0.0-beta0013 | 495 | 11/3/2023 |
7.0.0-beta0011 | 1,004 | 3/17/2023 |
7.0.0-beta0010 | 759 | 3/13/2023 |
6.1.0-beta0009 | 726 | 3/13/2023 |
6.1.0-beta0008 | 710 | 12/9/2022 |
6.1.0-beta0007 | 706 | 12/9/2022 |
6.0.1-beta0002 | 708 | 11/23/2022 |
6.0.0 | 22,324 | 11/23/2022 |
6.0.0-beta0018 | 675 | 11/21/2022 |
6.0.0-beta0017 | 725 | 10/7/2022 |
6.0.0-beta0015 | 728 | 8/24/2022 |
6.0.0-beta0013 | 720 | 8/24/2022 |
6.0.0-beta0003 | 765 | 7/12/2022 |
5.0.0 | 6,826 | 7/8/2022 |
5.0.0-beta0098 | 775 | 7/8/2022 |
5.0.0-beta0097 | 792 | 7/8/2022 |
5.0.0-beta0094 | 1,323 | 6/2/2022 |
5.0.0-beta0092 | 783 | 5/31/2022 |
5.0.0-beta0090 | 1,079 | 5/19/2022 |
5.0.0-beta0088 | 1,408 | 5/17/2022 |
5.0.0-beta0086 | 1,197 | 4/12/2022 |
5.0.0-beta0082 | 810 | 4/11/2022 |
5.0.0-beta0080 | 1,058 | 3/9/2022 |
5.0.0-beta0059 | 2,124 | 2/4/2022 |
5.0.0-beta.77 | 214 | 2/21/2022 |
5.0.0-beta.75 | 227 | 2/4/2022 |
4.2.0-beta0006 | 2,301 | 8/20/2021 |
4.2.0-beta0004 | 1,551 | 5/14/2021 |
4.1.1-beta0002 | 1,124 | 4/14/2021 |
4.1.0 | 14,027 | 3/4/2021 |
4.0.3 | 1,476 | 1/21/2020 |
4.0.2 | 1,579 | 7/9/2019 |
4.0.1 | 1,330 | 7/8/2019 |
4.0.0 | 1,805 | 5/16/2019 |
Changes since version 8.0.0
Changed :
- BREAKING CHANGE: Move code that depends on Windows.Forms or System.Drawing into an L10NSharp.Windows.Forms namespace. Rename L10NSharp.UI as L10NSharp.Windows.Forms.UIComponents. Move L10NExtender out of UI subfolder into L10NSharp.Windows.Forms. Move Winforms related tests to L10NSharp.Windows.Forms.Tests. Change the folder for L10NSharp tests to match its namespace L10NSharp.Tests.
Classes that contain some properties or methods that depend on Windows.Forms are split into Winforms-dependent and Winforms-independent classes. The Winforms-dependent classes subclass the Winforms-independent ones and can be found in the L10NSharp.Windows.Forms namespace. (e.g. LocalizationManagerWinforms in the L10NSharp.Windows.Forms namespace is a subclass of LocalizationManager in the L10NSharp namespace.)
To handle Windows forms related objects, call the Winforms versions of these classes and methods (e.g. LocalizationManagerWinforms.Create() instead of LocalizationManager.Create()). Each affected interface or class and its affected properties and methods are listed below.
- Split ILocalizationManagerInternal into ILocalizationManagerInternal and ILocalizationManagerInternalWinforms.
CHANGED: ILocalizationManagerInternalWinforms\<T> declares a new StringCache object of type ILocalizedStringCacheWinforms\<T>, while ILocalizationManagerInternal\<T> has a StringCache object of type ILocalizedStringCache\<T>.
MOVED: The properties ToolTipCtrls, LocalizableComponents, and ApplicationIcon; and the methods ApplyLocalization, ApplyLocalizationsToILocalizableComponent, ReapplyLocalizationsToAllComponents, and RegisterComponentForLocalizing are moved to ILocalizationManagerInternalWinforms.
- Split ILocalizedStringCache into ILocalizedStringCache and ILocalizedStringCacheWinforms.
MOVED: The property LeafNodeList, and the methods GetShortcutKeys and LoadGroupNodes are moved to ILocalizedStringCacheWinforms.
- Split LocalizationManager into LocalizationManager and LocalizationManagerWinforms.
CHANGED: Remove static designation from the LocalizationManager class in order for LocalizationManagerWinforms to subclass it and share its properties.
CHANGED: The Icon argument is removed from the Create methods in LocalizationManager. Create methods for LocalizationManagerWinforms are available with and without the Icon argument. (The two obsolete create methods in LocalizationManager, which included a TranslationMemory argument, are removed.)
CHANGED: SetUILanguage in LocalizationManager no longer reapplies localizations based on a reapplyLocalizationsToAllObjectsInAllManagers argument, since reapplying localizations is a Winforms method. SetUILanguage in LocalizationManagerWinforms retains this argument and reapplies localizations depending on its value.
MOVED: The methods ReapplyLocalizationsToAllObjectsInAllManagers, ReapplyLocalizationsToAllObjects, and GetLocalisedToolTipForControl are moved to LocalizationManagerWinforms.
- Split LocalizationManagerInternal into LocalizationManagerInternal and LocalizationManagerInternalWinforms.
CHANGED: Remove static designation from LocalizationManagerInternal class in order for LocalizationManagerInternalWinforms to subclass it and share its s_loadedManagers property.
CHANGED: Use different handling for ChooseFallbackLanguage in LocalizationManagerInternal that omits use of a Windows forms dialog for choosing the fallback. Retain original Winforms-dependent handling for ChooseFallbackLanguage in LocalizationManagerInternalWinforms.
CHANGED: Use different handling for GetString in LocalizationManagerInternal that omits handling of Winforms objects and methods. Retain original Winforms-dependent handling of GetString in LocalizationManagerInternalWinforms.
CHANGED: Remove Icon argument from the CreateXliff method in LocalizationManagerInternal. CreateXliff methods in LocalizationManagerInternalWinforms are available with and without the Icon argument.
CHANGED: In LocalizationManagerInternalWinforms, GetLocalizationManagerForComponent and GetLocalizationManagerForString, return type ILocalizationManagerInternalWinforms\<T> instead of ILocalizationManagerInternal\<T>.
MOVED: The methods ReapplyLocalizationsToAllObjectsInAllManagers, ReapplyLocalizationsToAllObjects, GetLocalizedToolTipForControl, and GetRealTopLevelControl are moved to LocalizationManagerInternalWinforms.
- Split LocalizingInfo into LocalizingInfo and LocalizingInfoWinforms.
CHANGED: Make private properties protected. LocalizingInfo returns null for Id while LocalizingInfoWinforms retains method to make an Id from a winforms component.
MOVED: The get methods for ShortcutKeys and Id properties are moved to LocalizingInfoWinforms, since they involve winforms components; LocalizingInfo will return null for ShortcutKeys and Id. The methods UpdateTextFromObject, CreateIdIfMissing, MakeId, MakeIdForCtrl, MakeIdForColumnHeader, MakeIdForDataGridViewColumn, GetIdPrefix, OwningFormName and GetCategory are moved to LocalizingInfoWinforms
- Split Utils into Utils and UtilsWinforms.
MOVED: The methods SendMessage, SendMessageWindows and SetWindowRedraw are moved to UtilsWinforms.
- Split XliffLocalizationManager into XliffLocalizationManager and XliffLocalizationManagerWinforms.
MOVED: The following are moved to XliffLocalizationManagerWinforms:
- The properties ApplicationIcon, ToolTipCtrls, LocalizableComponents and StringCache.
- The methods RegisterComponentForLocalizing, GetShortcutKeyFromStringCache, ApplyLocalizationToIlocalizableComponent, ReapplyLocalizationsToAllComponents, RefreshToolTips, ApplyLocalization, ApplyLocalizationsToILocalizableComponent, ApplyLocalizationsToControl, ApplyLocalizedToolTipToControl, HandleToolTipRefChanged, HandleToolTipRefDestroyed, ApplyLocalizationsToToolStripItem, ApplyLocalizationToListViewColumnHeader, and ApplyLocalizationToDataGridViewColumn.
- Split XliffLocalizedStringCache into XliffLocalizedStringCacheWinforms and XliffLocalizedStringCache.
MOVED: The LeafNodeList property and the methods LoadGroupNodes and GetShortcutKeys are moved to XliffLocalizedStringCacheWinforms.
Removed:
- BREAKING CHANGE: Remove code related to doing one's own localization at runtime. Also remove obsolete create methods from LocalizationManager.
In particular:
- Remove the LocalizeItemDlg designer, cs, resx, and viewmodel.
- Remove ShowLocalizationDialogBox from LocalizationManager and LocalizationManagerInternal.
- Remove the following runtime-localization related methods from XliffLocalizationManager:
PrepareComponentForRuntimeLocalization, HandleToolStripItemMouseDown, DoHandleMouseDown, HandeToolStripItemDisposed, HandleControlMouseDouwn, HandleControlDisposed, HandleTabPageDisposed, HandleDataGridViewDisposed, HandleListViewColumnHeaderClicked, HandleListViewDisposed, HandleListViewColumnDisposed, HandleDataGridViewCellMouseDown, HandleColumnDisposed, and ShowLocalizationDialogBox.
- Remove obsolete Create methods from LocalizationManager. These are the two Create methods that included a TranslationMemory argument.
Also, remove RefreshToolTips from ILocalizationManager. All references were already to specific implementations of the method, and RefreshToolTips is not needed in the Winforms-free side of L10NSharp.
See full changelog at https://github.com/sillsdev/l10nsharp/blob/master/CHANGELOG.md