localization-globalization

Implement localization and globalization for ASP.NET Core Razor Pages with resource files.

10|Updated Jan 28, 2026
One-click install
npx skills add https://github.com/AGIBuild/Agibuild.Fulora --skill localization-globalization
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: localization-globalization
Source: https://github.com/AGIBuild/Agibuild.Fulora/tree/main/.cursor/skills/localization-globalization
Command: npx skills add https://github.com/AGIBuild/Agibuild.Fulora --skill localization-globalization

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill addresses the complexities of implementing multi-language support, managing resource files, and ensuring correct culture-specific formatting in ASP.NET Core Razor Pages applications, preventing common bugs and maintenance issues.

Core Features & Use Cases

  • Resource File Management: Organizes and utilizes .resx files for translations, supporting feature-specific and shared resources.
  • Configuration & Detection: Sets up RequestLocalizationOptions for automatic culture detection via query strings, cookies, and headers.
  • Razor Pages Integration: Demonstrates injecting IStringLocalizer and IViewLocalizer into PageModels and Views for dynamic text.
  • Culture-Specific Formatting: Provides extension methods for consistent formatting of dates, numbers, and currencies based on the current culture.
  • Language Switching: Implements a controller and partial view for a user-friendly language switcher.
  • RTL Support: Includes guidance on adapting layouts and CSS for right-to-left languages.
  • Use Case: A global e-commerce platform needs to display product information, pricing, and dates in English, Spanish, and French, with a user-selectable language switcher. This Skill provides the patterns to achieve that.

Quick Start

Configure ASP.NET Core localization in Program.cs and add resource files to your project.

Frequently Asked Questions about localization-globalization

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add multi-language support to ASP.NET Core Razor Pages using resource files?

Multi-language support in ASP.NET Core Razor Pages is implemented using `.resx` resource files for translations. You inject `IStringLocalizer` and `IViewLocalizer` into PageModels and Views to dynamically display text based on the user's culture.

How does ASP.NET Core detect request culture for globalization automatically?

ASP.NET Core detects request culture by configuring `RequestLocalizationOptions` with culture providers. These providers automatically determine the culture from query strings, cookies, and HTTP headers to apply culture-aware formatting.

What is the best way to format dates, numbers, and currencies by culture in ASP.NET Core?

The best way to format dates, numbers, and currencies by culture in ASP.NET Core is using culture-specific extension methods. These methods ensure consistent formatting based on the current request culture for globalized applications.

Can I implement a language switcher and RTL layout support in ASP.NET Core Razor Pages?

Yes, you can implement a language switcher using a controller and partial view. Right-to-left (RTL) layout support is achieved by adapting your CSS and layout files for RTL languages within your ASP.NET Core application.

Does ASP.NET Core localization work for shared resources across multiple Razor Pages?

Yes, ASP.NET Core localization supports both feature-specific and shared resources. You can organize `.resx` files to manage common translations across multiple Razor Pages without duplicating strings.

Why are my ASP.NET Core resource file translations not displaying correctly in Razor Pages?

Incorrect resource file translations in Razor Pages often stem from misconfigured `RequestLocalizationOptions` or missing `IStringLocalizer` injection. Ensure resource files match the culture naming conventions and are properly registered in `Program.cs`.