NuvTools.Resources 10.0.0

dotnet add package NuvTools.Resources --version 10.0.0
                    
NuGet\Install-Package NuvTools.Resources -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="NuvTools.Resources" Version="10.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NuvTools.Resources" Version="10.0.0" />
                    
Directory.Packages.props
<PackageReference Include="NuvTools.Resources" />
                    
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 NuvTools.Resources --version 10.0.0
                    
#r "nuget: NuvTools.Resources, 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 NuvTools.Resources@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=NuvTools.Resources&version=10.0.0
                    
Install as a Cake Addin
#tool nuget:?package=NuvTools.Resources&version=10.0.0
                    
Install as a Cake Tool

Nuv Tools Resources for .NET

A comprehensive localization library providing common UI resources (fields, actions, messages, and validation messages) for .NET applications in English and Portuguese (pt-BR).

NuGet License

Features

  • Bilingual Support: English and Portuguese (pt-BR)
  • Four Resource Types: Actions, Fields, Messages, and FluentValidation Messages
  • 243+ Localized Resources: 33 actions, 162 fields, 48 messages
  • Strongly-Typed Access: Static properties with compile-time safety
  • ResourceManager Support: Runtime key lookup for dynamic scenarios
  • .NET Multi-targeting: Supports .NET 8, 9, and 10
  • FluentValidation Integration: Dedicated resources for FluentValidation messages

What's New in v10.0.0

  • Actions Resources Separated: Action verbs (Add, Edit, Delete, Save, etc.) moved from Fields to dedicated Actions.resx for better organization
  • Enhanced Documentation: Interactive dictionary pages for browsing all resources with translations
  • Modern Solution Format: Using .slnx (XML-based) solution file format

Installation

dotnet add package NuvTools.Resources

Or via NuGet Package Manager:

Install-Package NuvTools.Resources

Resource Types

Actions

User interface action verbs and commands (33 resources)

using NuvTools.Resources;

var addButton = Actions.Add;              // "Add" / "Adicionar"
var saveButton = Actions.Save;            // "Save" / "Salvar"
var deleteButton = Actions.Delete;        // "Delete" / "Excluir"
var cancelButton = Actions.Cancel;        // "Cancel" / "Cancelar"

Note: Actions were separated from Fields in v10.0.0 for better semantic organization.

Fields

Common UI field labels and terms (162 resources)

using NuvTools.Resources;

var accountLabel = Fields.Account;        // "Account" / "Conta"
var emailLabel = Fields.Email;            // "E-mail"
var nameLabel = Fields.Name;              // "Name" / "Nome"
var addressLabel = Fields.Address;        // "Address" / "Logradouro"

Messages

User-facing notifications and messages (48 resources)

using NuvTools.Resources;

var successMsg = Messages.Success;        // "Success!" / "Sucesso!"
var confirmMsg = Messages.ConfirmDeletion; // "Confirm the deletion?" / "Confirmar a exclusão?"

FluentValidation Messages

Validation error messages for FluentValidation integration

using NuvTools.Resources;

// FluentValidation-specific messages (accessed via ResourceManager)
var notEmptyMsg = FluentValidationMessages.ResourceManager.GetString("NotEmpty");
var emailMsg = FluentValidationMessages.ResourceManager.GetString("EmailValidator");

Localization

Resources automatically adapt to the current UI culture:

using System.Globalization;
using NuvTools.Resources;

// Set culture to Portuguese
CultureInfo.CurrentUICulture = new CultureInfo("pt-BR");
Console.WriteLine(Fields.Name);  // Output: "Nome"

// Set culture to English
CultureInfo.CurrentUICulture = new CultureInfo("en");
Console.WriteLine(Fields.Name);  // Output: "Name"

Resource Access

The library provides two ways to access resources:

Strongly-typed properties with compile-time safety:

using NuvTools.Resources;

// Actions, Fields, and Messages provide static properties
var addAction = Actions.Add;           // "Add" / "Adicionar"
var nameField = Fields.Name;           // "Name" / "Nome"
var successMsg = Messages.Success;     // "Success!" / "Sucesso!"

ResourceManager (Runtime Lookup)

Use ResourceManager when you need to look up resources by string keys at runtime:

using System.Globalization;
using NuvTools.Resources;

// All resource classes expose a ResourceManager property
var action = Actions.ResourceManager.GetString("Add");
var field = Fields.ResourceManager.GetString("Name");
var message = Messages.ResourceManager.GetString("Success");

// Specify culture explicitly
var localizedField = Fields.ResourceManager.GetString("Name", new CultureInfo("pt-BR"));  // "Nome"
var localizedAction = Actions.ResourceManager.GetString("Add", new CultureInfo("pt-BR")); // "Adicionar"

// FluentValidation messages
var notEmptyMsg = FluentValidationMessages.ResourceManager.GetString("NotEmpty");

Building the Project

# Build
dotnet build

# Build for Release
dotnet build -c Release

# Create NuGet package
dotnet pack -c Release

Documentation

Complete Resource Dictionaries

Browse searchable dictionaries with all available resources and their English/Portuguese translations:

Dictionary Resources Description
Actions 33 Action verbs and commands (Add, Edit, Delete, Save, Search, etc.)
Fields 162 Form field labels and UI elements (Account, Name, Email, Address, etc.)
Messages 48 User messages and notifications (Success, Error, Confirmations, etc.)

These dictionaries are perfect for:

  • Finding the right resource key before coding
  • Browsing available translations
  • Ensuring consistency across your application

Target Frameworks

  • .NET 8
  • .NET 9
  • .NET 10

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the terms specified in the LICENSE file.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.
  • net8.0

    • No dependencies.
  • net9.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on NuvTools.Resources:

Package Downloads
NuvTools.Security.Identity.Models

Contains models to be used with ASP.NET Identity modules.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
10.0.0 251 12/6/2025
9.0.2 1,463 5/24/2025
9.0.1 236 5/23/2025
9.0.0 260 11/13/2024
8.1.3 240 10/15/2024
8.1.2 176 10/14/2024
8.1.1 230 9/9/2024
8.1.0 454 4/9/2024
8.0.0 409 1/28/2024
7.1.1 406 11/2/2023
7.1.0 192 11/2/2023
7.0.0 725 2/25/2023