2 // +----------------------------------------------------------------------+
 
   3 // | Anuko Time Tracker
 
   4 // +----------------------------------------------------------------------+
 
   5 // | Copyright (c) Anuko International Ltd. (https://www.anuko.com)
 
   6 // +----------------------------------------------------------------------+
 
   7 // | LIBERAL FREEWARE LICENSE: This source code document may be used
 
   8 // | by anyone for any purpose, and freely redistributed alone or in
 
   9 // | combination with other software, provided that the license is obeyed.
 
  11 // | There are only two ways to violate the license:
 
  13 // | 1. To redistribute this code in source form, with the copyright
 
  14 // |    notice or license removed or altered. (Distributing in compiled
 
  15 // |    forms without embedded copyright notices is permitted).
 
  17 // | 2. To redistribute modified versions of this code in *any* form
 
  18 // |    that bears insufficient indications that the modifications are
 
  19 // |    not the work of the original author(s).
 
  21 // | This license applies to this document only, not any other software
 
  22 // | that it may be combined with.
 
  24 // +----------------------------------------------------------------------+
 
  26 // | https://www.anuko.com/time_tracker/credits.htm
 
  27 // +----------------------------------------------------------------------+
 
  29 // Note: escape apostrophes with THREE backslashes, like here:  choisir l\\\'option 
 
  30 // Other characters (such as double-quotes in http links, etc.) do not have to be escaped.
 
  32 $i18n_language = 'Norsk';
 
  33 $i18n_months = array('Januar', 'Februar', 'Mars', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Desember');
 
  34 $i18n_weekdays = array('Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag');
 
  35 // TODO: check translation of $i18n_weekdays_short.
 
  36 $i18n_weekdays_short = array('Sø', 'Ma', 'Ti', 'On', 'To', 'Fr', 'Lø');
 
  38 $i18n_holidays = array('01/01', '04/05', '04/09', '04/10', '04/12', '04/13', '05/01', '05/17', '05/21', '05/31', '06/01', '12/25', '12/26');
 
  40 $i18n_key_words = array(
 
  43 'menu.login' => 'Innlogging',
 
  44 'menu.logout' => 'Logg ut',
 
  45 'menu.feedback' => 'Tilbakemelding',
 
  46 'menu.help' => 'Hjelp',
 
  47 // Note to translators: menu.create_team needs an improved translation.
 
  48 'menu.create_team' => 'Lag ny adminkonto',
 
  49 'menu.edit_profile' => 'Endre profil',
 
  50 'menu.my_time' => 'Min tid',
 
  51 'menu.reports' => 'Rapporter',
 
  52 'menu.charts' => 'Diagrammer',
 
  53 'menu.projects' => 'Prosjekter',
 
  54 'menu.activities' => 'Aktiviteter',
 
  55 'menu.people' => 'Personer',
 
  56 // Note to translators: check translation of menu.teams. This is for a list of teams in the time tracker for admin.
 
  57 // 'menu.teams' => 'team',
 
  58 'menu.export' => 'Eksport',
 
  59 'menu.clients' => 'Klienter',
 
  60 'menu.options' => 'Opsjoner',
 
  61 'menu.admin' => 'Admin',
 
  64 'error.db' => 'Databasefeil.',
 
  65 'error.field' => 'Feil "{0}" data.',
 
  66 'error.empty' => 'Feltet "{0}" er tomt.',
 
  67 'error.not_equal' => 'Feltet "{0}" stemmer ikke med "{1}".',
 
  68 'error.interval' => 'Feil intervall.',
 
  69 'error.project' => 'Velg prosjekt.',
 
  70 'error.activity' => 'Velg aktivitet.',
 
  71 'error.auth' => 'Feil brukernavn eller passord.',
 
  72 'error.user_exists' => 'Bruker med et slikt brukernavn eksisterer allerede.',
 
  73 'error.project_exists' => 'Et prosjekt med dette navnet er allerede opprettet.',
 
  74 'error.activity_exists' => 'En aktivitet med dette navnet er allerede opprettet.',
 
  75 'error.client_exists' => 'En klient med dette navnet er allerede opprettet.',
 
  76 'error.no_login' => 'Det er ingen bruker med dette brukernavnet.',
 
  77 'error.upload' => 'Feil med lasting av fil.',
 
  78 // TODO: translate error.period_locked.
 
  79 // 'error.period_locked' => 'can\\\'t complete the operation. records older than a certain number of days cannot be created or modified. team manager defines this in the "Lock interval in days" value on the "Profile" page. set it to 0 to remove locking. <br><br>uncompleted records (with 0 or empty duration) can be deleted.',
 
  80 'error.mail_send' => 'Feil ved sending av e-post.',
 
  81 'error.no_email' => 'Det er ingen e-post knyttet til dette brukernavnet.',
 
  82 'error.uncompleted_exists' => 'Ufullført registrering finnes allerede. Lukk eller slett den.',
 
  83 'error.goto_uncompleted' => 'Gå til ufullført registrering.',
 
  85 // Labels for buttons.
 
  86 'button.login' => 'Innlogging',
 
  88 // 'button.set' => 'Sette',
 
  89 'button.save' => 'Lagre',
 
  90 'button.cancel' => 'Avbryt',
 
  91 // TODO: check translation of button.submit. It is used on several pages, including https://timetracker.anuko.com/time.php.
 
  92 // 'button.submit' => 'Registrer',
 
  93 'button.add_user' => 'Legg til bruker',
 
  94 'button.add_project' => 'Legg til prosjekt',
 
  95 'button.add_activity' => 'Legg til aktivitet',
 
  96 'button.add_client' => 'Legg til klient',
 
  97 'button.add' => 'Legg til',
 
  98 'button.generate' => 'Generer',
 
  99 'button.reset_password' => 'Resett passord',
 
 100 'button.send' => 'Send',
 
 101 'button.send_by_email' => 'Send som e-post',
 
 102 'button.save_as_new' => 'Lagre som ny',
 
 103 'button.create_team' => 'Opprett team',
 
 104 'button.export' => 'Eksport team',
 
 105 'button.import' => 'Importer team',
 
 106 // 'button.apply' => 'bruk',
 
 107 // TODO: translate button.close.
 
 108 // 'button.close' => 'Close',
 
 110 // Labels for controls on forms. Labels in this section are used on multiple forms.
 
 111 // TODO: translate label.team_name
 
 112 // 'label.team_name' => 'Team name',
 
 113 'label.currency' => 'Valuta',
 
 114 // TODO: translate these strings.
 
 115 // 'label.manager_name' => 'manager name',
 
 116 // 'label.manager_login' => 'manager login',
 
 117 // 'label.person_name' => 'Name',
 
 118 // 'label.thing_name' => 'Name',
 
 119 'label.password' => 'Passord',
 
 120 'label.confirm_password' => 'Bekreft passord',
 
 121 // 'label.email' => 'email',
 
 122 'label.total' => 'totalt',
 
 123 // Translate the following string.
 
 124 // 'label.page' => 'Page',
 
 126 // TODO: Please check the translation against the current English file as many things are being refactored. For example, many labels have been added after label.email.
 
 128 // "form.filter.project" => 'prosjekt',
 
 129 // "form.filter.filter" => 'favorittrapport',
 
 130 // "form.filter.filter_new" => 'lagre som favoritt',
 
 131 // "form.filter.filter_confirm_delete" => 'er du sikker på at du vil slette denne favorittrapporten?',
 
 133 // login form attributes
 
 134 "form.login.title" => 'innlogging',
 
 135 "form.login.login" => 'innlogging',
 
 137 // password reminder form attributes
 
 138 // Note to translators: "form.fpass.title" => 'remind password', // the string must be translated
 
 139 "form.fpass.login" => 'innlogging',
 
 140 "form.fpass.send_pass_str" => 'passordet er sendt',
 
 141 "form.fpass.send_pass_subj" => 'Anuko Time Tracker passordet ditt',
 
 142 // Note to translators: strings below need to be translated.
 
 143 // "form.fpass.send_pass_body" => "Kjære bruker,\n\nNoen, trolig deg, bad om å få ditt Anuko Time Tracker password resatt. Vær vennlig å besøk denne lenken dersom du ønsker at passordet ditt skal resettes.\n\n%s\n\nAnuko Time Tracker er et enkelt og brukervennlig system for tidsregistrering basert på åpen kildekode. Les mer på https://www.anuko.com.\n\n",
 
 144 // "form.fpass.reset_comment" => "vennligst skriv inn passordet og klikk på lagre for å resette passsordet.",
 
 146 // Note to translators: the strings below must be translated
 
 147 // // administrator form
 
 148 // "form.admin.title" => 'administrator',
 
 149 // "form.admin.duty_text" => 'opprett et nytt team ved å opprette en ny team manager konto.<br>du kan også importere team data fra en xml fil fra en annen Anuko Time Tracker server (ingen login kollisjoner er tillatt).',
 
 151 // "form.admin.change_pass" => 'bytt passord på administratorkontoen',
 
 152 // "form.admin.profile.title" => 'team',
 
 153 // "form.admin.profile.noprofiles" => 'databasen din er tom. logg inn som admin og opprett et nytt team.',
 
 154 // "form.admin.profile.comment" => 'slett team',
 
 155 // "form.admin.profile.th.id" => 'id',
 
 156 // "form.admin.profile.th.name" => 'navn',
 
 157 // "form.admin.profile.th.edit" => 'endre',
 
 158 // "form.admin.profile.th.del" => 'slett',
 
 159 // "form.admin.profile.th.active" => 'aktiv',
 
 160 // "form.admin.lock.period" => 'lås intervallet i antall dager',
 
 161 // "form.admin.options" => 'opsjoner',
 
 162 // "form.admin.lang_default" => 'sidens språk',
 
 163 // "form.admin.custom_date_format" => "datoformat",
 
 164 // "form.admin.custom_time_format" => "tidsformat",
 
 165 // "form.admin.start_week" => "første ukedag",
 
 167 // my time form attributes
 
 168 // Note to translators: the 2 strings below must be translated
 
 169 // "form.mytime.title" => 'min tid',
 
 170 // "form.mytime.edit_title" => 'endre tidsoppføringen',
 
 171 "form.mytime.del_str" => 'slett tids oppføringen',
 
 172 "form.mytime.time_form" => ' (tt:mm)',
 
 173 // Note to translators: "form.mytime.date" => 'dato', // the string must be translated
 
 174 "form.mytime.project" => 'prosjekt',
 
 175 "form.mytime.activity" => 'aktivitet',
 
 176 "form.mytime.start" => 'starttid',
 
 177 "form.mytime.finish" => 'ferdig',
 
 178 "form.mytime.duration" => 'varighet',
 
 179 "form.mytime.note" => 'notat',
 
 180 "form.mytime.behalf" => 'daglig arbeide for',
 
 181 "form.mytime.daily" => 'daglig arbeide',
 
 182 "form.mytime.total" => 'totalt antall timer: ',
 
 183 "form.mytime.th.project" => 'prosjekt',
 
 184 "form.mytime.th.activity" => 'aktivitet',
 
 185 "form.mytime.th.start" => 'starttid',
 
 186 "form.mytime.th.finish" => 'ferdig',
 
 187 "form.mytime.th.duration" => 'varighet',
 
 188 "form.mytime.th.note" => 'notat',
 
 189 "form.mytime.th.edit" => 'endre',
 
 190 "form.mytime.th.delete" => 'slett',
 
 191 // Note to translators: the strings below must be translated
 
 192 // "form.mytime.del_yes" => 'tidsoppføringen er slettet', 
 
 193 // "form.mytime.no_finished_rec" => 'Denne oppføringen ble lagret kun med starttid. Det er ikke en feil. Logg ut om nødvendig.',
 
 194 // "form.mytime.billable" => 'kan faktureres',
 
 195 // "form.mytime.warn_tozero_rec" => 'Denne oppføringen må slettes fordi tidsperioden er låst',
 
 196 // "form.mytime.uncompleted" => 'uferdig',
 
 198 // profile form attributes
 
 199 // Note to translators: we need a more accurate translation of form.profile.create_title
 
 200 "form.profile.create_title" => 'lag ny adminkonto',
 
 201 "form.profile.edit_title" => 'endre profil',
 
 202 "form.profile.name" => 'navn',
 
 203 "form.profile.login" => 'innlogging',
 
 205 // Note to translators: the strings below are missing and must be added and translated
 
 206 // "form.profile.showchart" => 'vis kakediagram',
 
 207 // "form.profile.lang" => 'språk',
 
 208 // "form.profile.custom_date_format" => "dato format",
 
 209 // "form.profile.custom_time_format" => "tims format",
 
 210 // "form.profile.default_format" => "(default)",
 
 211 // "form.profile.start_week" => "første dag i uken",
 
 213 // people form attributes
 
 214 "form.people.ppl_str" => 'personer',
 
 215 "form.people.createu_str" => 'legg til ny bruker',
 
 216 "form.people.edit_str" => 'endre bruker',
 
 217 "form.people.del_str" => 'slett bruker',
 
 218 "form.people.th.name" => 'navn',
 
 219 "form.people.th.login" => 'innlogging',
 
 220 "form.people.th.role" => 'rolle',
 
 221 "form.people.th.edit" => 'endre',
 
 222 "form.people.th.del" => 'slett',
 
 223 "form.people.th.status" => 'status',
 
 224 // Note to translators: the 2 strings below are missing and must be added and translated
 
 225 // "form.people.th.project" => 'prosjekt',
 
 226 // "form.people.th.rate" => 'timesats',
 
 227 // Note to translators: the strings below must be correctly translated
 
 228 // "form.people.manager" => 'admin',
 
 229 // "form.people.comanager" => 'co-manager',
 
 230 "form.people.empl" => 'bruker',
 
 231 "form.people.name" => 'navn',
 
 232 "form.people.login" => 'innlogging',
 
 234 "form.people.rate" => 'timesats',
 
 235 // Note to translators: the strings below are missing and must be added and translated
 
 236 // "form.people.comanager" => 'co-manager',
 
 237 // "form.people.projects" => 'prosjekter',
 
 239 // projects form attributes
 
 240 "form.project.proj_title" => 'prosjekter',
 
 241 "form.project.edit_str" => 'endre prosjekt',
 
 242 "form.project.add_str" => 'legg til nytt prosjekt',
 
 243 "form.project.del_str" => 'slett prosjekt',
 
 244 "form.project.th.name" => 'navn',
 
 245 "form.project.th.edit" => 'endre',
 
 246 "form.project.th.del" => 'slett',
 
 247 "form.project.name" => 'navn',
 
 249 // activities form attributes
 
 250 "form.activity.act_title" => 'aktiviteter',
 
 251 "form.activity.add_title" => 'legg til ny aktivitet',
 
 252 "form.activity.edit_str" => 'endre aktivitet',
 
 253 // Note to translators: "form.activity.del_str" => 'slett aktivitet', // the string is incompletely translated
 
 254 "form.activity.name" => 'navn',
 
 255 "form.activity.project" => 'prosjekt',
 
 256 "form.activity.th.name" => 'navn',
 
 257 "form.activity.th.project" => 'prosjekt',
 
 258 "form.activity.th.edit" => 'endre',
 
 259 "form.activity.th.del" => 'slett',
 
 262 "form.report.title" => 'rapporter',
 
 263 "form.report.from" => 'starttid',
 
 264 "form.report.to" => 'ferdig',
 
 265 "form.report.groupby_user" => 'bruker',
 
 266 "form.report.groupby_project" => 'prosjekt',
 
 267 "form.report.groupby_activity" => 'aktivitet',
 
 268 "form.report.duration" => 'varighet',
 
 269 "form.report.start" => 'starttid',
 
 270 "form.report.activity" => 'aktivitet',
 
 271 "form.report.show_idle" => 'antall dager ikke aktiv',
 
 272 "form.report.finish" => 'ferdig',
 
 273 "form.report.note" => 'notat',
 
 274 "form.report.project" => 'prosjekt',
 
 275 // Note to translators: the strings below must be translated 
 
 276 // "form.report.totals_only" => 'kun summer',
 
 277 "form.report.total" => 'totalt antall timer',
 
 278 "form.report.th.empllist" => 'bruker',
 
 279 "form.report.th.date" => 'dato',
 
 280 "form.report.th.project" => 'prosjekt',
 
 281 "form.report.th.activity" => 'aktivitet',
 
 282 "form.report.th.start" => 'starttid',
 
 283 "form.report.th.finish" => 'ferdig',
 
 284 "form.report.th.duration" => 'varighet',
 
 285 "form.report.th.note" => 'notat',
 
 287 // mail form attributes
 
 288 "form.mail.from" => 'fra',
 
 289 "form.mail.to" => 'til',
 
 290 "form.mail.cc" => 'cc',
 
 291 "form.mail.subject" => 'emne',
 
 292 "form.mail.comment" => 'kommentar',
 
 293 "form.mail.above" => 'send denne rapporten som e-post',
 
 294 // Note to translators: the strings below must be translated
 
 295 // "form.mail.footer_str" => 'Anuko Time Tracker is et enkelt, brukervennlig tidsregistreringssystem<br>basert på åpen kildekode. Besøk <a href="https://www.anuko.com">www.anuko.com</a> for flere opplysninger.',
 
 296 // "form.mail.sending_str" => '<b>the message has been sent</b>',
 
 298 // invoice attributes
 
 299 "form.invoice.title" => 'faktura',
 
 300 "form.invoice.caption" => 'faktura',
 
 301 "form.invoice.above" => 'tilleggsinformasjon for faktura',
 
 302 // Note to translators: the strings below are missing and must be added and translated
 
 303 // "form.invoice.select_cust" => 'velg klient',
 
 304 // "form.invoice.fillform" => 'fyll inn i feltene',
 
 305 "form.invoice.date" => 'dato',
 
 306 "form.invoice.number" => 'fakturanummer',
 
 307 "form.invoice.tax" => 'MVA',
 
 308 // Note to translators: the strings below are missing and must be added and translated
 
 309 // "form.invoice.daily_subtotals" => 'daglige delbeløp',
 
 310 "form.invoice.yourcoo" => 'ditt navn<br> og adresse',
 
 311 "form.invoice.custcoo" => 'kundens navn<br> og adresse',
 
 312 "form.invoice.comment" => 'notat',
 
 313 "form.invoice.th.username" => 'person',
 
 314 "form.invoice.th.time" => 'timer',
 
 315 "form.invoice.th.rate" => 'sats',
 
 316 "form.invoice.th.summ" => 'antall',
 
 317 "form.invoice.subtotal" => 'delsum',
 
 318 "form.invoice.customer" => 'kommentar',
 
 319 "form.invoice.mailinv_above" => 'send denne fakturaen som e-post',
 
 320 // Note to translators: "form.invoice.sending_str" => '<b>invoice has been sent</b>', // the string must be translated
 
 322 // Note to translators: the strings below are missing and must be added and translated
 
 323 // "form.migration.zip" => 'komprimering',
 
 324 // "form.migration.file" => 'velg fil',
 
 325 // "form.migration.import.title" => 'import data',
 
 326 // "form.migration.import.success" => 'import gjennomført vellykket',
 
 327 // "form.migration.import.text" => 'import team data fra en xml fil',
 
 328 // "form.migration.export.title" => 'export data',
 
 329 // "form.migration.export.success" => 'eksport gjennomført vellykket',
 
 330 // "form.migration.export.text" => 'du kan eksportere alle team data til en XML fil. dette kan være nyttig dersom du skal migrere data til din egen server.',
 
 331 // "form.migration.compression.none" => 'ingen',
 
 332 // "form.migration.compression.gzip" => 'gzip',
 
 333 // "form.migration.compression.bzip" => 'bzip',
 
 335 // "form.client.title" => 'klienter',
 
 336 // "form.client.add_title" => 'legg til klient',
 
 337 // "form.client.edit_title" => 'endre klient',
 
 338 // "form.client.del_title" => 'slett klient',
 
 339 // "form.client.th.name" => 'navn',
 
 340 // "form.client.th.edit" => 'endre',
 
 341 // "form.client.th.del" => 'slett',
 
 342 // "form.client.name" => 'navn',
 
 343 // "form.client.tax" => 'avgift',
 
 344 // "form.client.daily_subtotals" => 'daglige delbeløp',
 
 345 // "form.client.yourcoo" => 'ditt navn<br> og adresse i faktura',
 
 346 // "form.client.custcoo" => 'adresse',
 
 347 // "form.client.comment" => 'kommentar ',
 
 349 // miscellaneous strings
 
 350 "forward.forgot_password" => 'glemt passordet?',
 
 351 "forward.edit" => 'endre',
 
 352 "forward.delete" => 'slett',
 
 353 "forward.tocsvfile" => 'eksporter data til en .csv fil',
 
 354 // Note to translators: the strings below are missing and must be translated and added
 
 355 // "forward.toxmlfile" => 'eksporter data til en .xml fil',
 
 356 // "forward.geninvoice" => 'lag faktura',
 
 357 // "forward.change" => 'konfigur klienter',
 
 359 // strings inside contols on forms
 
 360 "controls.select.project" => '--- velg prosjekt ---',
 
 361 "controls.select.activity" => '--- velg aktivitet ---',
 
 362 // Note to translators: the string below is missing and must be translated and added
 
 363 // "controls.select.client" => '--- velg klient ---',
 
 364 "controls.project_bind" => '--- alle ---',
 
 365 "controls.all" => '--- alle ---',
 
 366 // Note to translators: the strings below are missing and must be translated and added 
 
 367 // "controls.notbind" => '--- no ---',
 
 368 "controls.per_tm" => 'denne måneden',
 
 369 "controls.per_lm" => 'forrige måned',
 
 370 "controls.per_tw" => 'denne uken',
 
 371 "controls.per_lw" => 'forrige uke',
 
 372 // Note to translators: the strings below are missing and must be translated and added
 
 373 // "controls.per_td" => 'i dag',
 
 374 // "controls.per_at" => 'all tid',
 
 375 // "controls.per_ty" => 'dette årr',
 
 376 "controls.sel_period" => '--- velg tidsperiode ---',
 
 377 "controls.sel_groupby" => '--- ingen sortering ---',
 
 378 // Note to translators: the strings below are missing and must be translated and added
 
 379 // "controls.inc_billable" => 'fakturerbar',
 
 380 // "controls.inc_nbillable" => 'ikke fakturerbar',
 
 381 // "controls.default" => '--- default ---',
 
 384 // Note to translators: the strings below are missing and must be translated and added
 
 385 // "label.chart.title1" => 'aktiviteter for bruker',
 
 386 // "label.chart.title2" => 'prosjekter for bruker',
 
 387 // "label.chart.period" => 'diagram for perioden',
 
 389 "label.pinfo" => '%s, %s',
 
 390 "label.pinfo2" => '%s',
 
 391 "label.pbehalf_info" => '%s %s <b>på vegne av %s</b>',
 
 392 // Note to translators: the strings below must be correctly translated
 
 393 // "label.pminfo" => ' (admin)',
 
 394 // "label.pcminfo" => ' (co-manager)',
 
 395 // "label.painfo" => ' (administrator)',
 
 396 "label.time_noentry" => 'ingen tilgang',
 
 397 "label.today" => 'i dag',
 
 398 "label.req_fields" => '* obligatoriske felt',
 
 399 "label.sel_project" => 'velg prosjekt',
 
 400 "label.sel_activity" => 'velg aktivitet',
 
 401 "label.sel_tp" => 'velg tidsperiode',
 
 402 "label.set_tp" => 'eller sett dato',
 
 403 "label.fields" => 'vis feltene',
 
 404 "label.group_title" => 'sorter på',
 
 405 // Note to translators: the strings below must be translated
 
 406 // "label.include_title" => 'ta med oppføringer',
 
 407 // "label.inv_str" => 'faktura',
 
 408 "label.set_empl" => 'velg brukere',
 
 409 // Note to translators: the strings below are missing and must be translated and added
 
 410 // "label.sel_all" => 'velg alle',
 
 411 // "label.sel_none" => 'velg ingen',
 
 412 // "label.or" => 'or',
 
 413 // "label.disable" => 'slå av',
 
 414 // "label.enable" => 'slå på',
 
 415 // "label.filter" => 'filter',
 
 416 // "label.timeweek" => 'uken totalt',
 
 417 // "label.hrs" => 'timer',
 
 418 // "label.errors" => 'feil',
 
 419 // "label.ldap_hint" => 'Skriv din <b>Windows login</b> og <b>passord</b> i feltene nedenfor.',
 
 420 // "label.calendar_today" => 'i dag',
 
 421 // "label.calendar_close" => 'lukk',
 
 424 // "login.hello.text" => "Anuko Time Tracker er et enkelt, brukervennlig tidsregistreringssystem basert på åpen kildekode.",