refactor: 언어 정책 쿠키 i18n에서 설정, gameData External 제거
This commit is contained in:
@@ -95,18 +95,10 @@ export const csrGetFinalLocale = (path = '', coveragesLocales: string[]) => {
|
||||
* @param {string} path - 현재 URL 경로
|
||||
* @param {any} headers - 요청 헤더
|
||||
*/
|
||||
export const ssrGetFinalLocale = (path = '', headers: any, coveragesLocales: string[], defaultLocale: string) => {
|
||||
let finalLocale // 기본값 설정
|
||||
try {
|
||||
// coveragesLocales가 빈 배열이거나 유효하지 않은 경우 기본 언어 반환
|
||||
if (
|
||||
!coveragesLocales ||
|
||||
!Array.isArray(coveragesLocales) ||
|
||||
coveragesLocales.length === 0
|
||||
) {
|
||||
return finalLocale
|
||||
}
|
||||
export const ssrGetFinalLocale = (path, headers: any, coveragesLocales: string[], defaultLocale: string) => {
|
||||
let finalLocale = defaultLocale // 기본값 설정
|
||||
|
||||
try {
|
||||
// 1. URL path에 포함된 언어 정보
|
||||
if (path && path !== '' && path.split('/').length > 1) {
|
||||
// 쿼리스트링 제거한 순수 path 검사
|
||||
@@ -115,12 +107,9 @@ export const ssrGetFinalLocale = (path = '', headers: any, coveragesLocales: str
|
||||
}
|
||||
const pathLocalee = `${path.split('/')[1]}`.toLowerCase()
|
||||
// URL path에 포함된 언어 정보가 지원하는 언어인지 체크
|
||||
if (
|
||||
pathLocalee &&
|
||||
pathLocalee !== '' &&
|
||||
coveragesLocales.includes(pathLocalee)
|
||||
) {
|
||||
if (pathLocalee && pathLocalee !== '' && coveragesLocales.includes(pathLocalee)) {
|
||||
finalLocale = pathLocalee
|
||||
|
||||
return finalLocale
|
||||
}
|
||||
}
|
||||
@@ -128,14 +117,8 @@ export const ssrGetFinalLocale = (path = '', headers: any, coveragesLocales: str
|
||||
// 2. LOCALE 쿠키 언어 (SSR에서는 headers에서 직접 파싱)
|
||||
const cookieHeader = headers.cookie || ''
|
||||
const cookies = parseCookies(cookieHeader)
|
||||
const cookieLanguage = cookies.LOCALE
|
||||
? `${cookies.LOCALE}`.toLowerCase()
|
||||
: ''
|
||||
if (
|
||||
cookieLanguage &&
|
||||
cookieLanguage !== '' &&
|
||||
coveragesLocales.includes(cookieLanguage)
|
||||
) {
|
||||
const cookieLanguage = cookies.LOCALE ? `${cookies.LOCALE}`.toLowerCase() : ''
|
||||
if (cookieLanguage && cookieLanguage !== '' && coveragesLocales.includes(cookieLanguage)) {
|
||||
finalLocale = cookieLanguage
|
||||
return finalLocale
|
||||
}
|
||||
@@ -163,7 +146,7 @@ export const ssrGetFinalLocale = (path = '', headers: any, coveragesLocales: str
|
||||
|
||||
// 3. 서비스 기본 언어
|
||||
finalLocale = defaultLocale
|
||||
} catch {
|
||||
} catch (e) {
|
||||
finalLocale = defaultLocale
|
||||
}
|
||||
return finalLocale
|
||||
|
||||
Reference in New Issue
Block a user