Files
smart-city-digital-twin-mar…/smart-app-city/frontend/node_modules/dayjs/esm/locale/is.js
Eric FELIXINE e30ae8ed09 feat(smart-app): implement complete mobile app MVP
- App.tsx: full navigation (Auth stack + Main tabs with 5 screens)
- Auth: LoginScreen, RegisterScreen, ForgotPasswordScreen
- HomeScreen: dashboard with IoT metrics, weather widget, alerts, quick actions, sensors
- MapScreen: interactive map with layer toggles (6 layers)
- MarketplaceScreen: categories (6), products (5), search
- ChatScreen: AI chat with quick prompts (4), bot responses
- ProfileScreen: user info, stats, menu (9 items), logout
- AlertsScreen: alert list with severity, acknowledge
- SensorsScreen: sensor list with type filters (6 types), search
- ZonesScreen: zone cards with stats
- SettingsScreen: language picker (FR/EN/ES/DE), privacy, about
- Stores: iotStore (sensors, zones, alerts), notificationStore, uiStore + i18n
- Hooks: useSensors, useAlerts, useNotifications, useLocation
- Components: Card, Button, LoadingSpinner, ErrorBoundary, Header
- Services: iotService, notificationService (with axios API client)
- Utils: formatters (temp, AQI, noise, dates), validators (email, password, IBAN)
- Theme: colors.ts with full design system (Blue Ocean palette)
- Ditto: fixed MongoDB connection, new JWT secrets, official gateway image
2026-06-01 18:00:35 -04:00

68 lines
2.3 KiB
JavaScript

// Icelandic [is]
import dayjs from '../index';
var texts = {
s: ['nokkrar sekúndur', 'nokkrar sekúndur', 'nokkrum sekúndum'],
m: ['mínúta', 'mínútu', 'mínútu'],
mm: ['mínútur', 'mínútur', 'mínútum'],
h: ['klukkustund', 'klukkustund', 'klukkustund'],
hh: ['klukkustundir', 'klukkustundir', 'klukkustundum'],
d: ['dagur', 'dag', 'degi'],
dd: ['dagar', 'daga', 'dögum'],
M: ['mánuður', 'mánuð', 'mánuði'],
MM: ['mánuðir', 'mánuði', 'mánuðum'],
y: ['ár', 'ár', 'ári'],
yy: ['ár', 'ár', 'árum']
};
function resolveTemplate(key, number, isFuture, withoutSuffix) {
var suffixIndex = isFuture ? 1 : 2;
var index = withoutSuffix ? 0 : suffixIndex;
var keyShouldBeSingular = key.length === 2 && number % 10 === 1;
var correctedKey = keyShouldBeSingular ? key[0] : key;
var unitText = texts[correctedKey];
var text = unitText[index];
return key.length === 1 ? text : "%d " + text;
}
function relativeTimeFormatter(number, withoutSuffix, key, isFuture) {
var template = resolveTemplate(key, number, isFuture, withoutSuffix);
return template.replace('%d', number);
}
var locale = {
name: 'is',
weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),
months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),
weekStart: 1,
weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),
monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),
weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),
ordinal: function ordinal(n) {
return n;
},
formats: {
LT: 'H:mm',
LTS: 'H:mm:ss',
L: 'DD.MM.YYYY',
LL: 'D. MMMM YYYY',
LLL: 'D. MMMM YYYY [kl.] H:mm',
LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm'
},
relativeTime: {
future: 'eftir %s',
past: 'fyrir %s síðan',
s: relativeTimeFormatter,
m: relativeTimeFormatter,
mm: relativeTimeFormatter,
h: relativeTimeFormatter,
hh: relativeTimeFormatter,
d: relativeTimeFormatter,
dd: relativeTimeFormatter,
M: relativeTimeFormatter,
MM: relativeTimeFormatter,
y: relativeTimeFormatter,
yy: relativeTimeFormatter
}
};
dayjs.locale(locale, null, true);
export default locale;