Estendendo a localização
O Sterling Store Engagement é compatível com todos os requisitos gerais de localização, incluindo manuseio de moedas, formatação de datas, formatação de números e assim por diante.
No entanto, é necessário primeiro configurar as localidades e associá-las a organizações e usuários usando o Applications Manager. Para obter mais informações, consulte Definição de localidades.
Incluindo suporte para um novo código de idioma
- Crie entradas de pacotes configuráveis para todo o texto usado em todo o aplicativo em seu respectivo arquivo
<language>.json - Crie arquivos
<language>.jsonseparados para todos os módulos sob a pasta <WORKSPACE>/store-frontend/src/assets/store-frontend/i18n/<module> - Crie a seguinte estrutura de pastas em SCREEN_EXTENSIONS_HOME, se ainda não estiver presente:SCREEN_EXTENSIONS_HOME/app/config
- Copie o arquivo i18n.config.ts da pasta <WORKSPACE>/store-frontend/src/app/config para a pasta SCREEN_EXTENSIONS_HOME/app/config .
- Atualize um comentário mágico do webpack
webpackIncludecom o novo código de idioma conforme mostrado no exemplo a seguir:public static loadLocale(localeId: string): Promise<any> { localeId = `${localeId}-${AppContextService.getFromContext('countryCode')}`; const locale = I18nConfig.localeMap[localeId] || localeId; return import( /* webpackChunkName: "[request]" */ /* webpackInclude: /[/\\](en|de|es|fr|fr-CA|it|ja|pt|zh-Hans|zh-Hant)\.js$/ */ /* webpackExclude: /[/\\]global|extra/ */ `@angular/common/locales/${locale}.js` ).then(m => registerLocaleData(m.default)); }
Deve-se assegurar que você use apenas os códigos de idioma que o Angular suporta como o novo código de idioma.
No entanto, se o seu código de idioma não corresponder àqueles que o Angular suporta, será possível suportá-lo atualizando os detalhes do localeMap do código de idioma Angular correspondente.
pt-Br como um código de idioma válido. Mas é possível incluir pt-Br como um código de idioma ligando-o a pt , conforme mostrado no exemplo a seguir:public static localeMap: { [locale: string]: string } = {
'pt-BR': 'pt',
};Atualizando um novo idioma de fallback
- Crie a seguinte estrutura de pastas em SCREEN_EXTENSIONS_HOME, se ainda não estiver presente:SCREEN_EXTENSIONS_HOME/app/config
- Copie o arquivo i18n.config.ts da Pasta <WORKSPACE>/store-frontend/src/app/config para SCREEN_EXTENSIONS_HOME/app/config
- Atualize a variável
fallbackLanguagecom o novo código de idioma.public static fallbackLanguage = 'en';
Incluindo e atualizando formatos de data customizados
É possível atualizar um formato de data existente e incluir um novo formato de data.
- Crie a seguinte estrutura de pastas em SCREEN_EXTENSIONS_HOME, se ainda não estiver presente:SCREEN_EXTENSIONS_HOME/app/config
- Copie o arquivo date-format.config.ts da Pasta <WORKSPACE>/store-frontend/src/app/config para SCREEN_EXTENSIONS_HOME/app/config
- Inclua um novo objeto com o código de idioma como a chave e os formatos de data como o valor.
export const DateFormatConfig: any = { 'en': { 'isfMedium': 'd MMM YYYY, h:mm a', 'isfFull': 'EEEE, d MMMM yyyy, h:mm a', 'isfMediumDate': 'd MMM yyyy', 'isfFullDate': 'EEEE, d MMMM yyyy', 'isfShortTime': 'h:mm a' } }
Formatos de data suportados
O Sterling Store Engagement usa um pipe de data personalizado, dateFormat, para formatação de data, que oferece suporte a todos os recursos suportados pelo DatePipe no Angular.
O arquivo date-format.config é usado para customizar o formato de data no aplicativo para diferentes códigos de idioma.
isfMedium-d MMM YYYY, h:mm aisfFull-EEEE, d MMMM yyyy, h:mm aisfMediumDate-d MMM yyyyisfFullDate-EEEE, d MMMM yyyyisfShortTime-h:mm a
O formato de data padrão é isfMediumDate