// Author: fruit.com.cn export interface ContentLanguage { code: string label: string } export const CONTENT_LANGUAGES: ContentLanguage[] = [ { code: 'zh', label: '中文' }, { code: 'en', label: '英文' }, { code: 'id', label: '印尼语' } ] export function languageLabel(code: string) { return CONTENT_LANGUAGES.find((item) => item.code === code)?.label || code } export function languageCodes(locales?: Record | null) { const source = locales || {} return CONTENT_LANGUAGES.map((item) => item.code).filter((code) => source[code]) } export function localesFromColumns( locales: Record | null | undefined, zh?: string, en?: string, id?: string ) { if (locales && Object.keys(locales).length) { return { ...locales } } const result: Record = {} if (zh) result.zh = zh if (en) result.en = en if (id) result.id = id if (!result.zh) result.zh = '' return result } export function payloadLocales(locales: Record, codes: string[]) { const result: Record = {} codes.forEach((code) => { result[code] = String(locales[code] || '').trim() }) return result }