ASP.NET Core MVC에서 resx 파일 만들기 및 관리하기

  • 2 minutes to read

ASP.NET Core MVC 프로젝트에서 리소스 파일(resx)을 사용하면 여러 언어로 웹사이트를 지원할 수 있습니다. 이 아티클에서는 resx 파일을 만들고 관리하는 방법에 대해 설명합니다.

resx 파일 생성

  1. 프로젝트에서 Resources라는 새 폴더를 생성합니다.
  2. Resources 폴더에서 마우스 오른쪽 버튼을 클릭하고, 추가 > 새 항목을 선택하여 새 리소스 파일을 만듭니다. 파일 이름을 지정하고, 파일 확장자를 .resx로 설정합니다 (예: MyResource.resx).

resx 파일에 문자열 리소스 추가

  1. 생성한 resx 파일을 열어서, 이름(Name)과 값(Value)을 입력합니다. 이 때 이름은 고유한 문자열이어야 합니다.
  2. 다양한 언어를 지원하려면 각 언어에 대한 resx 파일을 추가합니다. 각 파일의 이름은 기본 resx 파일 이름에 문화권 코드를 추가하여 설정합니다 (예: MyResource.ko-KR.resx, MyResource.en-US.resx).

리소스 파일 사용

  1. 프로젝트에 ResourceManager 인스턴스를 만듭니다.
using System.Globalization;
using System.Resources;

ResourceManager resourceManager = new ResourceManager("MyNamespace.Resources.MyResource", typeof(Startup).Assembly);

이때, MyNamespace를 프로젝트의 네임스페이스로 변경하고, MyResource를 생성한 resx 파일의 이름으로 변경해야 합니다.

  1. ResourceManager를 사용하여 리소스를 가져옵니다.
string localizedString = resourceManager.GetString("ResourceName", CultureInfo.CurrentCulture);

이때, ResourceName을 resx 파일에 있는 리소스 이름으로 변경해야 합니다.

ControllerBase를 상속받는 컨트롤러에서 리소스 사용

  1. ControllerBase를 상속받는 컨트롤러에서 리소스 매니저를 만들고, 생성자에서 초기화합니다.
public class MyController : ControllerBase
{
    private readonly ResourceManager _resourceManager;

    public MyController()
    {
        _resourceManager = new ResourceManager("MyNamespace.Resources.MyResource", typeof(MyController).Assembly);
    }
}
  1. 컨트롤러의 액션에서 리소스 매니저를 사용하여 문자열을 가져옵니다.
public IActionResult Index()
{
    string localizedString = _resourceManager.GetString("ResourceName", CultureInfo.CurrentCulture);
    ViewData["LocalizedString"] = localizedString;
    return View();
}

이제 ASP.NET Core MVC 프로젝트에서 resx 파일을 사용하여 다국어를 지원할 수 있습니다. 이 방법을 사용하면 유지보수가 쉬워지고, 여러 언어로 애플리케이션을 제공할 수 있습니다.

VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com