123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js";
- const eraValues = {
- narrow: ["f.Kr.", "e.Kr."],
- abbreviated: ["f.Kr.", "e.Kr."],
- wide: ["före Kristus", "efter Kristus"],
- };
- const quarterValues = {
- narrow: ["1", "2", "3", "4"],
- abbreviated: ["Q1", "Q2", "Q3", "Q4"],
- wide: ["1:a kvartalet", "2:a kvartalet", "3:e kvartalet", "4:e kvartalet"],
- };
- const monthValues = {
- narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
- abbreviated: [
- "jan.",
- "feb.",
- "mars",
- "apr.",
- "maj",
- "juni",
- "juli",
- "aug.",
- "sep.",
- "okt.",
- "nov.",
- "dec.",
- ],
- wide: [
- "januari",
- "februari",
- "mars",
- "april",
- "maj",
- "juni",
- "juli",
- "augusti",
- "september",
- "oktober",
- "november",
- "december",
- ],
- };
- const dayValues = {
- narrow: ["S", "M", "T", "O", "T", "F", "L"],
- short: ["sö", "må", "ti", "on", "to", "fr", "lö"],
- abbreviated: ["sön", "mån", "tis", "ons", "tors", "fre", "lör"],
- wide: ["söndag", "måndag", "tisdag", "onsdag", "torsdag", "fredag", "lördag"],
- };
- // https://www.unicode.org/cldr/charts/32/summary/sv.html#1888
- const dayPeriodValues = {
- narrow: {
- am: "fm",
- pm: "em",
- midnight: "midnatt",
- noon: "middag",
- morning: "morg.",
- afternoon: "efterm.",
- evening: "kväll",
- night: "natt",
- },
- abbreviated: {
- am: "f.m.",
- pm: "e.m.",
- midnight: "midnatt",
- noon: "middag",
- morning: "morgon",
- afternoon: "efterm.",
- evening: "kväll",
- night: "natt",
- },
- wide: {
- am: "förmiddag",
- pm: "eftermiddag",
- midnight: "midnatt",
- noon: "middag",
- morning: "morgon",
- afternoon: "eftermiddag",
- evening: "kväll",
- night: "natt",
- },
- };
- const formattingDayPeriodValues = {
- narrow: {
- am: "fm",
- pm: "em",
- midnight: "midnatt",
- noon: "middag",
- morning: "på morg.",
- afternoon: "på efterm.",
- evening: "på kvällen",
- night: "på natten",
- },
- abbreviated: {
- am: "fm",
- pm: "em",
- midnight: "midnatt",
- noon: "middag",
- morning: "på morg.",
- afternoon: "på efterm.",
- evening: "på kvällen",
- night: "på natten",
- },
- wide: {
- am: "fm",
- pm: "em",
- midnight: "midnatt",
- noon: "middag",
- morning: "på morgonen",
- afternoon: "på eftermiddagen",
- evening: "på kvällen",
- night: "på natten",
- },
- };
- const ordinalNumber = (dirtyNumber, _options) => {
- const number = Number(dirtyNumber);
- const rem100 = number % 100;
- if (rem100 > 20 || rem100 < 10) {
- switch (rem100 % 10) {
- case 1:
- case 2:
- return number + ":a";
- }
- }
- return number + ":e";
- };
- 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",
- }),
- };
|