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 $i18n_language = 'Suomi';
30 $i18n_months = array('Tammikuu', 'Helmikuu', 'Maaliskuu', 'Huhtikuu', 'Toukokuu', 'Kesäkuu', 'Heinäkuu', 'Elokuu', 'Syyskuu', 'Lokakuu', 'Marraskuu', 'Joulukuu');
31 $i18n_weekdays = array('Sunnuntai', 'Maanantai', 'Tiistai', 'Keskiviikko', 'Torstai', 'Perjantai', 'Lauantai');
32 $i18n_weekdays_short = array('su', 'ma', 'ti', 'ke', 'to', 'pe', 'la');
34 $i18n_holidays = array('01/01', '01/06', '05/01', '06/24', '12/06', '12/25', '12/26');
36 $i18n_key_words = array(
38 // Menus - short selection strings that are displayed on the top of application web pages.
39 // Example: https://timetracker.anuko.com (black menu on top).
40 'menu.login' => 'Kirjaudu',
41 'menu.logout' => 'Kirjaudu ulos',
42 'menu.forum' => 'Keskustelupalsta',
43 'menu.help' => 'Apua',
44 'menu.create_team' => 'Luo tiimi',
45 'menu.profile' => 'Profiili',
46 'menu.time' => 'Tunnit',
47 // TODO: translate the following:
48 // 'menu.expenses' => 'Expenses',
49 'menu.reports' => 'Raportit',
50 'menu.charts' => 'Kaaviot',
51 'menu.projects' => 'Projektit',
52 'menu.tasks' => 'Tehtävät',
53 'menu.users' => 'Käyttäjät',
54 'menu.teams' => 'Tiimit',
55 'menu.export' => 'Vie',
56 'menu.clients' => 'Asiakkaat',
57 'menu.options' => 'Optiot',
59 // Footer - strings on the bottom of most pages.
60 // TODO: translate the following:
61 // 'footer.contribute_msg' => 'You can contribute to Time Tracker in different ways.',
62 // 'Credits' is a bit difficult to translate, the exact literal term might be 'Ansiot' or 'Antaa tunnustus' but that's not widely used in this meaning.
63 // The term that is used is something like 'We are thanking' ('Kiitämme') but that does not sound good, either. So I just let it be as it was for time being as everybody (?) understands the meaning anyway.
64 'footer.credits' => 'Credits',
65 'footer.license' => 'Lisenssi',
66 // TODO: translate the following:
67 // 'footer.improve' => 'Contribute', // Translators: this could mean "Improve", if it makes better sense in your language.
68 // This is a link to a webpage that describes how to contribute to the project.
71 'error.access_denied' => 'Pääsy estetty.',
72 'error.sys' => 'Järjestelmävirhe.',
73 'error.db' => 'Tietokantavirhe.',
74 'error.field' => 'Virheellinen "{0}" tieto.',
75 'error.empty' => 'Kenttä "{0}" on tyhjä.',
76 'error.not_equal' => 'Kentät "{0}" ja "{1}" eivät ole samat.',
77 'error.interval' => 'Kentän "{0}" arvon tulee olla suurempi kuin kentän "{1}".',
78 'error.project' => 'Valitse projekti.',
79 'error.task' => 'Valitse tehtävä.',
80 'error.client' => 'Valitse asiakas.',
81 'error.report' => 'Valitse raportti.',
82 'error.auth' => 'Virheellinen käyttäjänimi tai salasana.',
83 'error.user_exists' => 'Tämä käyttäjänimi on jo olemassa.',
84 'error.project_exists' => 'Tämän niminen projekti on jo olemassa.',
85 'error.task_exists' => 'Tämän niminen tehtävä on jo olemassa.',
86 'error.client_exists' => 'Tämän niminen asiakas on jo olemassa.',
87 'error.invoice_exists' => 'Tällä numerolla oleva lasku on jo olemassa.',
88 'error.no_invoiceable_items' => 'Ei laskutettavia syötteitä.',
89 'error.no_login' => 'Tuntematon käyttäjänimi.',
90 'error.no_teams' => 'Tietokanta on tyhjä. Kirjaudu ylläpitäjänä ja luo uusi tiimi.',
91 'error.upload' => 'Virhe tiedoston lataus.',
92 'error.period_locked' => 'Toimintoa ei voi suorittaa. Liian vanhojen tietueiden päivitys tai luonti ei onnistu. Tiimin esimies asettaa "Lukitusväli päivinä" arvon "Profiili"-sivulla. Arvolla 0 lukitusta ei tehdä. <br><br>Keskeneräiset tietueet (kestona 0 tai määrittelemätön) voidaan poistaa.',
93 'error.mail_send' => 'Virhe postinlähetyksessä.',
94 'error.no_email' => 'Käyttäjätunnukseen ei ole liitetty sähköpostiosoitetta.',
95 'error.uncompleted_exists' => 'Kesken oleva syötetieto on jo olemassa. Sulje tai poista se.',
96 'error.goto_uncompleted' => 'Siirry kesken olevaan syötteeseen.',
97 'error.overlap' => 'Aikavälillä on päällekkäisiä syötteitä.',
98 'error.future_date' => 'Aika on tulevaisuudessa.',
100 // Labels for buttons.
101 'button.login' => 'Kirjaudu',
102 'button.now' => 'Nyt',
103 'button.save' => 'Tallenna',
104 'button.copy' => 'Kopioi',
105 'button.cancel' => 'Keskeytä',
106 'button.submit' => 'Hyväksy',
107 'button.add_user' => 'Lisää käyttäjä',
108 'button.add_project' => 'Lisää projekti',
109 'button.add_task' => 'Lisää tehtävä',
110 'button.add_client' => 'Lisää asiakas',
111 'button.add_invoice' => 'Lisää lasku',
112 'button.add_option' => 'Lisää optio',
113 'button.add' => 'Lisää',
114 'button.generate' => 'Luo',
115 'button.reset_password' => 'Nollaa salasana',
116 'button.send' => 'Lähetä',
117 'button.send_by_email' => 'Lähetä sähköpostilla',
118 'button.create_team' => 'Luo tiimi',
119 'button.export' => 'Vie tiimi',
120 'button.import' => 'Tuo tiimi',
121 'button.close' => 'Sulje',
122 'button.stop' => 'Lopeta',
124 // Labels for controls on forms. Labels in this section are used on multiple forms.
125 'label.team_name' => 'Tiimin nimi',
126 'label.address' => 'Osoite',
127 'label.currency' => 'Valuutta',
128 'label.manager_name' => 'Esimies',
129 'label.manager_login' => 'Esimiehen käyttäjätunnus',
130 'label.person_name' => 'Nimi',
131 'label.thing_name' => 'Nimi',
132 'label.login' => 'Käyttäjätunnus',
133 'label.password' => 'Salasana',
134 'label.confirm_password' => 'Vahvista salasana',
135 'label.email' => 'Sähköposti',
136 'label.date' => 'Päiväys',
137 'label.start_date' => 'Aloituspäivä',
138 'label.end_date' => 'Päättymispäivä',
139 'label.user' => 'Käyttäjä',
140 'label.users' => 'Käyttäjät',
141 'label.client' => 'Asiakas',
142 'label.clients' => 'Asiakkaat',
143 'label.option' => 'Optio',
144 'label.invoice' => 'Lasku',
145 'label.project' => 'Projekti',
146 'label.projects' => 'Projektit',
147 'label.task' => 'Tehtävä',
148 'label.tasks' => 'Tehtävät',
149 'label.description' => 'Kuvaus',
150 'label.start' => 'Aloitus',
151 'label.finish' => 'Lopetus',
152 'label.duration' => 'Kesto',
153 'label.note' => 'Huom',
154 'label.item' => 'Syöte',
155 'label.cost' => 'Hinta',
156 'label.week_total' => 'Viikko yhteensä',
157 'label.day_total' => 'Päivä yhteensä',
158 'label.today' => 'Tänään',
159 'label.total_hours' => 'Tunnit yhteensä',
160 'label.total_cost' => 'Hinta yhteensä',
161 'label.view' => 'Näytä',
162 'label.edit' => 'Muokkaa',
163 'label.delete' => 'Poista',
164 'label.configure' => 'Aseta',
165 'label.select_all' => 'Valitse kaikki',
166 'label.select_none' => 'Poista kaikki valinnat',
168 'label.language' => 'Kieli',
169 'label.decimal_mark' => 'Desimaalierotin',
170 'label.lock_interval' => 'Lukitusväli päivinä',
171 'label.date_format' => 'Päiväyksen muoto',
172 'label.time_format' => 'Kellonajan muoto',
173 'label.week_start' => 'Viikon 1. päivä',
174 'label.comment' => 'Kommentti',
175 'label.status' => 'Tila',
176 'label.tax' => 'Vero',
177 'label.subtotal' => 'Välisumma',
178 'label.total' => 'Yhteensä',
179 'label.client_name' => 'Asiakkaan nimi',
180 'label.client_address' => 'Asiakkaan osoite',
182 'label.error' => 'Virhe',
183 'label.ldap_hint' => 'Syötä <b>Windows-käyttäjätunnuksesi</b> ja <b>salasanasi</b> ao. kenttiin.',
184 'label.required_fields' => '* - pakolliset kentät',
185 'label.on_behalf' => 'puolesta',
186 'label.role_manager' => '(esimies)',
187 'label.role_comanager' => '(apu-esimies)',
188 'label.role_admin' => '(ylläpitäjä)',
189 // Translate the following string.
190 // 'label.page' => 'Page',
191 // Labels for plugins (extensions to Time Tracker that provide additional features).
192 'label.custom_fields' => 'Omat kentät',
193 'label.type' => 'Tyyppi',
194 'label.type_dropdown' => 'pudotusvalikko',
195 'label.type_text' => 'teksti',
196 'label.required' => 'Pakollinen',
197 'label.fav_report' => 'Raporttipohja',
198 'label.cron_schedule' => 'Cron-ajoitus',
199 'label.what_is_it' => 'Mikä se on?',
202 'label.page' => 'Sivu',
205 'title.login' => 'Kirjautuminen',
206 'title.teams' => 'Tiimit',
207 'title.create_team' => 'Tiimin luonti',
208 'title.edit_team' => 'Tiimin muokkaus',
209 'title.delete_team' => 'Tiimin poisto',
210 'title.reset_password' => 'Salasanan nollaus',
211 'title.change_password' => 'Salasanan vaihto',
212 'title.time' => 'Tuntien kirjaus',
213 'title.edit_time_record' => 'Tuntikirjausten muokkaus',
214 'title.delete_time_record' => 'Tuntikirjausten poisto',
215 'title.expenses' => 'Kulut',
216 'title.edit_expense' => 'Kulutietojen muokkaus',
217 'title.delete_expense' => 'Kulutiedon poisto',
218 'title.reports' => 'Raportit',
219 'title.report' => 'Raportti',
220 'title.send_report' => 'Raportin lähetys',
221 'title.invoice' => 'Lasku',
222 'title.send_invoice' => 'Laskun lähetys',
223 'title.charts' => 'Kaaviot',
224 'title.projects' => 'Projektit',
225 'title.add_project' => 'Projektin lisäys',
226 'title.edit_project' => 'Projektin muokkaus',
227 'title.delete_project' => 'Projektin poisto',
228 'title.tasks' => 'Tehtävät',
229 'title.add_task' => 'Tehtävän lisäys',
230 'title.edit_task' => 'Tehtävän muokkaus',
231 'title.delete_task' => 'Tehtävän poisto',
232 'title.users' => 'Käyttäjät',
233 'title.add_user' => 'Käyttäjän lisäys',
234 'title.edit_user' => 'Käyttäjän muokkaus',
235 'title.delete_user' => 'Käyttäjän poisto',
236 'title.clients' => 'Asiakkaat',
237 'title.add_client' => 'Asiakkaan lisäys',
238 'title.edit_client' => 'Asiakkaan muokkaus',
239 'title.delete_client' => 'Asiakkaan poisto',
240 'title.invoices' => 'Laskut',
241 'title.add_invoice' => 'Laskun lisäys',
242 'title.view_invoice' => 'Laskun tarkastelu',
243 'title.delete_invoice' => 'Laskun poisto',
244 'title.notifications' => 'Ilmoitukset',
245 'title.add_notification' => 'Ilmoituksen lisäys',
246 'title.edit_notification' => 'Ilmoituksen muokkaus',
247 'title.delete_notification' => 'Ilmoituksen poisto',
248 'title.export' => 'Tiimitietojen vienti',
249 'title.import' => 'Tiimitietojen tunti',
250 'title.options' => 'Optiot',
251 'title.profile' => 'Profiili',
252 'title.cf_custom_fields' => 'Omat kentät',
253 'title.cf_add_custom_field' => 'Oman kentän lisäys',
254 'title.cf_edit_custom_field' => 'Oman kentän muokkaus',
255 'title.cf_delete_custom_field' => 'Oman kentän poisto',
256 'title.cf_dropdown_options' => 'Pudotusvalikon vaihtoehdot',
257 'title.cf_add_dropdown_option' => 'Vaihtoehdon lisäys',
258 'title.cf_edit_dropdown_option' => 'Vaihtoehdon muokkaus',
259 'title.cf_delete_dropdown_option' => 'Vaihtoehdon poisto',
261 // Section for common strings inside combo boxes on forms. Strings shared between forms shall be placed here.
262 // Strings that are used in a single form must go to the specific form section.
263 'dropdown.all' => '--- kaikki ---',
264 'dropdown.no' => '--- ei ---',
265 'dropdown.this_day' => 'tämä päivä',
266 'dropdown.this_week' => 'tämä viikko',
267 'dropdown.last_week' => 'viime viikko',
268 'dropdown.this_month' => 'tämä kuu',
269 'dropdown.last_month' => 'viime kuu',
270 'dropdown.this_year' => 'tämä vuosi',
271 'dropdown.all_time' => 'kaikki tunnit',
272 'dropdown.projects' => 'projektit',
273 'dropdown.tasks' => 'tehtävät',
274 'dropdown.clients' => 'asiakkaat',
275 'dropdown.select' => '--- valitse ---',
276 'dropdown.select_invoice' => '--- valitse lasku ---',
277 'dropdown.status_active' => 'aktiivinen',
278 'dropdown.status_inactive' => 'inaktiivinen',
279 'dropdown.delete'=>'poista',
280 'dropdown.do_not_delete'=>'älä poista',
282 // Below is a section for strings that are used on individual forms. When a string is used only on one form it should be placed here.
283 // One exception is for closely related forms such as "Time" and "Editing Time Record" with similar controls. In such cases
284 // a string can be defined on the main form and used on related forms. The reasoning for this is to make translation effort easier.
285 // Strings that are used on multiple unrelated forms should be placed in shared sections such as label.<stringname>, etc.
287 // Login form. See example at https://timetracker.anuko.com/login.php.
288 'form.login.forgot_password' => 'Salasana hukassa?',
289 'form.login.about' =>'Anuko <a href="https://www.anuko.com/lp/tt_2.htm" target="_blank">Time Tracker</a> on yksinkertainen ja helppokäyttöinen vapaan koodin tuntiseurantaohjelmisto.',
291 // Resetting Password form. See example at https://timetracker.anuko.com/password_reset.php.
292 'form.reset_password.message' => 'Salasanan nollauspyyntöviesti lähetetty.',
293 'form.reset_password.email_subject' => 'Anuko Time Tracker -salasanan nollauspyyntö',
294 'form.reset_password.email_body' => "Hyvä käyttäjä,\n\nJoku, mahdollisesti sinä itse, on pyytänyt nollaamaan Anuko Time Tracker -ohjelman salasanasi. Jos haluat nollata salasanasi, käy sivulla \n\n%s\n\nAnuko Time Tracker on yksinkertainen ja helppokäyttöinen vapaan koodin tuntiseurantaohjelmisto. Lisätietoja sivulla https://www.anuko.com.\n\n",
296 // Changing Password form. See example at https://timetracker.anuko.com/password_change.php?ref=1.
297 'form.change_password.tip' => 'Syötä uusi salasana ja osoita Tallenna.',
299 // Time form. See example at https://timetracker.anuko.com/time.php.
300 'form.time.duration_format' => '(hh:mm tai 0.0h)',
301 'form.time.billable' => 'Laskutettava',
302 'form.time.uncompleted' => 'Keskeneräinen',
304 // Editing Time Record form. See example at https://timetracker.anuko.com/time_edit.php (get there by editing an uncompleted time record).
305 'form.time_edit.uncompleted' => 'Vain aloitusaika tallennettiin tietueeseen. Kyseessä ei ole virhe.',
307 // Reports form. See example at https://timetracker.anuko.com/reports.php
308 'form.reports.save_as_favorite' => 'Tallenna raporttipohjaksi',
309 'form.reports.confirm_delete' => 'Haluatko varmasti poistaa tämän raporttipohjan?',
310 'form.reports.include_records' => 'Sisällytä tietueet',
311 'form.reports.include_billable' => 'laskutettavat',
312 'form.reports.include_not_billable' => 'ei-laskutettavat',
313 'form.reports.include_invoiced' => 'laskutettu',
314 'form.reports.include_not_invoiced' => 'laskuttamatta',
315 'form.reports.select_period' => 'Valitse ajanjakso',
316 'form.reports.set_period' => 'tai aseta päivät',
317 'form.reports.show_fields' => 'Näytä kentät',
318 'form.reports.group_by' => 'Ryhmittelyperuste',
319 'form.reports.group_by_no' => '--- ei ryhmitystä ---',
320 'form.reports.group_by_date' => 'päivä',
321 'form.reports.group_by_user' => 'käyttäjä',
322 'form.reports.group_by_client' => 'asiakas',
323 'form.reports.group_by_project' => 'projekti',
324 'form.reports.group_by_task' => 'tehtävä',
325 'form.reports.totals_only' => 'Vain yhteissummat',
327 // Report form. See example at https://timetracker.anuko.com/report.php
328 // (after generating a report at https://timetracker.anuko.com/reports.php).
329 'form.report.export' => 'Vie',
331 // Invoice form. See example at https://timetracker.anuko.com/invoice.php
332 // (you can get to this form after generating a report).
333 'form.invoice.number' => 'Laskun numero',
334 'form.invoice.person' => 'Henkilö',
335 'form.invoice.invoice_to_delete' => 'Poistettava lasku',
336 'form.invoice.invoice_entries' => 'Laskurivit',
338 // Charts form. See example at https://timetracker.anuko.com/charts.php
339 'form.charts.interval' => 'Ajalta',
340 'form.charts.chart' => 'Kaavio',
342 // Projects form. See example at https://timetracker.anuko.com/projects.php
343 'form.projects.active_projects' => 'Aktiiviset projektit',
344 'form.projects.inactive_projects' => 'Ei-aktiiviset projektit',
346 // Tasks form. See example at https://timetracker.anuko.com/tasks.php
347 'form.tasks.active_tasks' => 'Aktiiviset tehtävät',
348 'form.tasks.inactive_tasks' => 'Ei-aktiiviset tehtävät',
350 // Users form. See example at https://timetracker.anuko.com/users.php
351 'form.users.active_users' => 'Aktiiviset käyttäjät',
352 'form.users.inactive_users' => 'Ei-aktiiviset käyttäjät',
353 'form.users.role' => 'Rooli',
354 'form.users.manager' => 'Esimies',
355 'form.users.comanager' => 'Apuesimies',
356 'form.users.rate' => 'Taksa',
357 'form.users.default_rate' => 'Oletustuntitaksa',
359 // Client delete form. See example at https://timetracker.anuko.com/client_delete.php
360 'form.client.client_to_delete' => 'Poistettava asiakas',
361 'form.client.client_entries' => 'Asiakassyötteet',
363 // Clients form. See example at https://timetracker.anuko.com/clients.php
364 'form.clients.active_clients' => 'Aktiiviset asiakkaat',
365 'form.clients.inactive_clients' => 'Ei-aktiiviset asiakkaat',
367 // Strings for Exporting Team Data form. See example at https://timetracker.anuko.com/export.php
368 'form.export.hint' => 'Voit viedä tiimin tiedot xml-tiedostoksi, mikä voi helpottaa tietojen siirtoa omalle palvelimelle.',
369 'form.export.compression' => 'Pakkaus',
370 'form.export.compression_none' => 'ei pakata',
371 'form.export.compression_bzip' => 'bzip',
373 // Strings for Importing Team Data form. See example at https://timetracker.anuko.com/imort.php (login as admin first).
374 'form.import.hint' => 'Tuo tiimitiedot xml-tiedostosta.',
375 'form.import.file' => 'Valitse tiedosto',
376 'form.import.success' => 'Tietojen tuonti onnistui.',
378 // Teams form. See example at https://timetracker.anuko.com/admin_teams.php (login as admin first).
379 'form.teams.hint' => 'Luo uusi tiimi luomalla ensin tiimin esimiehen käyttäjätili.<br>Tiimin tiedot voi myös tuoda toiselta Anuko Time Tracker -palvelimelta xml-muodossa (käyttäjänimien oltava uusia).',
381 // Profile form. See example at https://timetracker.anuko.com/profile_edit.php.
382 'form.profile.12_hours' => '12-tuntinen',
383 'form.profile.24_hours' => '24-tuntinen',
384 'form.profile.tracking_mode' => 'Seurantamuoto',
385 'form.profile.mode_time' => 'aika',
386 'form.profile.mode_projects' => 'projektit',
387 'form.profile.mode_projects_and_tasks' => 'projektit ja tehtävät',
388 'form.profile.record_type' => 'Tietueen tyyppi',
389 'form.profile.type_all' => 'kaikki',
390 'form.profile.type_start_finish' => 'aloitus ja lopetus',
391 'form.profile.type_duration' => 'kesto',
392 'form.profile.plugins' => 'Lisäosat',
394 // Mail form. See example at https://timetracker.anuko.com/report_send.php when emailing a report.
395 'form.mail.from' => 'Lähettäjä',
396 'form.mail.to' => 'Vastaanottaja',
397 'form.mail.cc' => 'Kopio',
398 'form.mail.subject' => 'Aihe',
399 'form.mail.report_subject' => 'Time Tracker -raportti',
400 'form.mail.footer' => 'Anuko Time Tracker on yksinkertainen ja helppokäyttöinen vapaan koodin tuntiseurantaohjelmisto. Lisätietoja sivulla <a href="https://www.anuko.com">www.anuko.com</a>.',
401 'form.mail.report_sent' => 'Raportti lähetetty.',
402 'form.mail.invoice_sent' => 'Lasku lähetetty.',