178 lines
3.1 KiB
JavaScript
178 lines
3.1 KiB
JavaScript
|
import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.mjs";
|
||
|
|
||
|
const eraValues = {
|
||
|
narrow: ["AC", "DC"],
|
||
|
abbreviated: ["AC", "DC"],
|
||
|
wide: ["antes de cristo", "depois de cristo"],
|
||
|
};
|
||
|
|
||
|
const quarterValues = {
|
||
|
narrow: ["1", "2", "3", "4"],
|
||
|
abbreviated: ["T1", "T2", "T3", "T4"],
|
||
|
wide: ["1º trimestre", "2º trimestre", "3º trimestre", "4º trimestre"],
|
||
|
};
|
||
|
|
||
|
const monthValues = {
|
||
|
narrow: ["j", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"],
|
||
|
abbreviated: [
|
||
|
"jan",
|
||
|
"fev",
|
||
|
"mar",
|
||
|
"abr",
|
||
|
"mai",
|
||
|
"jun",
|
||
|
"jul",
|
||
|
"ago",
|
||
|
"set",
|
||
|
"out",
|
||
|
"nov",
|
||
|
"dez",
|
||
|
],
|
||
|
|
||
|
wide: [
|
||
|
"janeiro",
|
||
|
"fevereiro",
|
||
|
"março",
|
||
|
"abril",
|
||
|
"maio",
|
||
|
"junho",
|
||
|
"julho",
|
||
|
"agosto",
|
||
|
"setembro",
|
||
|
"outubro",
|
||
|
"novembro",
|
||
|
"dezembro",
|
||
|
],
|
||
|
};
|
||
|
|
||
|
const dayValues = {
|
||
|
narrow: ["D", "S", "T", "Q", "Q", "S", "S"],
|
||
|
short: ["dom", "seg", "ter", "qua", "qui", "sex", "sab"],
|
||
|
abbreviated: [
|
||
|
"domingo",
|
||
|
"segunda",
|
||
|
"terça",
|
||
|
"quarta",
|
||
|
"quinta",
|
||
|
"sexta",
|
||
|
"sábado",
|
||
|
],
|
||
|
|
||
|
wide: [
|
||
|
"domingo",
|
||
|
"segunda-feira",
|
||
|
"terça-feira",
|
||
|
"quarta-feira",
|
||
|
"quinta-feira",
|
||
|
"sexta-feira",
|
||
|
"sábado",
|
||
|
],
|
||
|
};
|
||
|
|
||
|
const dayPeriodValues = {
|
||
|
narrow: {
|
||
|
am: "a",
|
||
|
pm: "p",
|
||
|
midnight: "mn",
|
||
|
noon: "md",
|
||
|
morning: "manhã",
|
||
|
afternoon: "tarde",
|
||
|
evening: "tarde",
|
||
|
night: "noite",
|
||
|
},
|
||
|
abbreviated: {
|
||
|
am: "AM",
|
||
|
pm: "PM",
|
||
|
midnight: "meia-noite",
|
||
|
noon: "meio-dia",
|
||
|
morning: "manhã",
|
||
|
afternoon: "tarde",
|
||
|
evening: "tarde",
|
||
|
night: "noite",
|
||
|
},
|
||
|
wide: {
|
||
|
am: "a.m.",
|
||
|
pm: "p.m.",
|
||
|
midnight: "meia-noite",
|
||
|
noon: "meio-dia",
|
||
|
morning: "manhã",
|
||
|
afternoon: "tarde",
|
||
|
evening: "tarde",
|
||
|
night: "noite",
|
||
|
},
|
||
|
};
|
||
|
|
||
|
const formattingDayPeriodValues = {
|
||
|
narrow: {
|
||
|
am: "a",
|
||
|
pm: "p",
|
||
|
midnight: "mn",
|
||
|
noon: "md",
|
||
|
morning: "da manhã",
|
||
|
afternoon: "da tarde",
|
||
|
evening: "da tarde",
|
||
|
night: "da noite",
|
||
|
},
|
||
|
abbreviated: {
|
||
|
am: "AM",
|
||
|
pm: "PM",
|
||
|
midnight: "meia-noite",
|
||
|
noon: "meio-dia",
|
||
|
morning: "da manhã",
|
||
|
afternoon: "da tarde",
|
||
|
evening: "da tarde",
|
||
|
night: "da noite",
|
||
|
},
|
||
|
wide: {
|
||
|
am: "a.m.",
|
||
|
pm: "p.m.",
|
||
|
midnight: "meia-noite",
|
||
|
noon: "meio-dia",
|
||
|
morning: "da manhã",
|
||
|
afternoon: "da tarde",
|
||
|
evening: "da tarde",
|
||
|
night: "da noite",
|
||
|
},
|
||
|
};
|
||
|
|
||
|
const ordinalNumber = (dirtyNumber, options) => {
|
||
|
const number = Number(dirtyNumber);
|
||
|
|
||
|
if (options?.unit === "week") {
|
||
|
return number + "ª";
|
||
|
}
|
||
|
return number + "º";
|
||
|
};
|
||
|
|
||
|
export const localize = {
|
||
|
ordinalNumber,
|
||
|
|
||
|
era: buildLocalizeFn({
|
||
|
values: eraValues,
|
||
|
defaultWidth: "wide",
|
||
|
}),
|
||
|
|
||
|
quarter: buildLocalizeFn({
|
||
|
values: quarterValues,
|
||
|
defaultWidth: "wide",
|
||
|
argumentCallback: (quarter) => quarter - 1,
|
||
|
}),
|
||
|
|
||
|
month: buildLocalizeFn({
|
||
|
values: monthValues,
|
||
|
defaultWidth: "wide",
|
||
|
}),
|
||
|
|
||
|
day: buildLocalizeFn({
|
||
|
values: dayValues,
|
||
|
defaultWidth: "wide",
|
||
|
}),
|
||
|
|
||
|
dayPeriod: buildLocalizeFn({
|
||
|
values: dayPeriodValues,
|
||
|
defaultWidth: "wide",
|
||
|
formattingValues: formattingDayPeriodValues,
|
||
|
defaultFormattingWidth: "wide",
|
||
|
}),
|
||
|
};
|