web application 작업시 visual studio에서 리눅스용 dockerfile를 추가 생성하면 en-US가 기본이 됩니다.
해서, dockerfile에 다음을 추가하여 이미지를 빌드하면 ko-KR이 지원되게 됩니다.
RUN apt-get update && apt-get install -y locales git
#Locale
RUN localedef -f UTF-8 -i ko_KR ko_KR.UTF-8
ENV LC_ALL ko_KR.UTF-8
시간대를 맞춘다면
ENV TZ=Asia/Seoul
를 추가로 덧붙여 이미지를 빌드하시면 되겠습니다.
ps. 추가
startup.cs configure에 다음을 추가하여 linux에서 docker image를 운용시 dateformat 및 numberformat등을 default 처리할 수 있습니다.
var supportedCultures = new List<CultureInfo> { };
var kr = new CultureInfo("ko-KR");
kr.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd";
kr.DateTimeFormat.DateSeparator = "-";
supportedCultures.Add(kr);
app.UseRequestLocalization(new RequestLocalizationOptions
{
// Formatting numbers, dates, etc.
SupportedCultures = supportedCultures,
// UI strings that we have localized.
SupportedUICultures = supportedCultures,
});
app.Use(async (context, next) =>
{
context.Response.Cookies.Append(
CookieRequestCultureProvider.DefaultCookieName,
CookieRequestCultureProvider.MakeCookieValue(new RequestCulture("ko-KR"))
);
await next();
});
프로젝트파일 (.csproj
)
<PropertyGroup>
<InvariantGlobalization>false</InvariantGlobalization>
</PropertyGroup>