More work on labels.
[timetracker.git] / WEB-INF / resources / pt.lang.php
1 <?php
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.
10 // |
11 // | There are only two ways to violate the license:
12 // |
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).
16 // |
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).
20 // |
21 // | This license applies to this document only, not any other software
22 // | that it may be combined with.
23 // |
24 // +----------------------------------------------------------------------+
25 // | Contributors:
26 // | https://www.anuko.com/time_tracker/credits.htm
27 // +----------------------------------------------------------------------+
28
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.
31
32 // Note to translators: Please use proper capitalization rules for your language.
33
34 $i18n_language = 'Português';
35 $i18n_months = array('Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Augosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro');
36 $i18n_weekdays = array('Domingo', 'Segunda-feira', 'Terça-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sábado');
37 $i18n_weekdays_short = array('Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab');
38 // format mm/dd
39 $i18n_holidays = array('01/01', '02/24', '04/10', '04/12', '04/25', '05/01', '06/10', '06/11', '08/15', '10/05', '01/11', '12/01', '12/08', '12/25');
40
41 $i18n_key_words = array(
42
43 // Menus - short selection strings that are displayed on top of application web pages.
44 // Example: https://timetracker.anuko.com (black menu on top).
45 'menu.login' => 'Login',
46 'menu.logout' => 'Logout',
47 // TODO: translate the following.
48 // 'menu.forum' => 'Forum',
49 'menu.help' => 'Ajuda',
50 // TODO: translate the following.
51 // 'menu.create_team' => 'Create Team',
52 'menu.profile' => 'Perfil',
53 'menu.time' => 'Tempo',
54 // TODO: translate the following.
55 // 'menu.expenses' => 'Expenses',
56 'menu.reports' => 'Relatórios',
57 // TODO: translate the following.
58 'menu.charts' => 'Charts',
59 'menu.projects' => 'Projetos',
60 // TODO: translate the following.
61 // 'menu.tasks' => 'Tasks',
62 // 'menu.users' => 'Users',
63 // 'menu.teams' => 'Teams',
64 // 'menu.export' => 'Export',
65 // 'menu.clients' => 'Clients',
66 'menu.options' => 'Opções',
67
68 // Footer - strings on the bottom of most pages.
69 // TODO: translate the following.
70 // 'footer.contribute_msg' => 'You can contribute to Time Tracker in different ways.',
71 // 'footer.credits' => 'Credits',
72 // 'footer.license' => 'License',
73 // 'footer.improve' => 'Contribute', // Translators: this could mean "Improve", if it makes better sense in your language.
74                                      // This is a link to a webpage that describes how to contribute to the project.
75
76 // Error messages.
77 // TODO: translate the following.
78 // 'error.access_denied' => 'Access denied.',
79 // 'error.sys' => 'System error.',
80 // 'error.db' => 'Database error.',
81 // 'error.field' => 'Incorrect "{0}" data.',
82 // 'error.empty' => 'Field "{0}" is empty.',
83 // 'error.not_equal' => 'Field "{0}" is not equal to field "{1}".',
84 // 'error.interval' => 'Field "{0}" must be greater than "{1}".',
85 // 'error.project' => 'Select project.',
86 // 'error.task' => 'Select task.',
87 // 'error.client' => 'Select client.',
88 // 'error.report' => 'Select report.',
89 // 'error.record' => 'Select record.',
90 // 'error.auth' => 'Incorrect login or password.',
91 // 'error.user_exists' => 'User with this login already exists.',
92 // 'error.project_exists' => 'Project with this name already exists.',
93 // 'error.task_exists' => 'Task with this name already exists.',
94 // 'error.client_exists' => 'Client with this name already exists.',
95 // 'error.invoice_exists' => 'Invoice with this number already exists.',
96 // 'error.no_invoiceable_items' => 'There are no invoiceable items.',
97 // 'error.no_login' => 'No user with this login.',
98 // 'error.no_teams' => 'Your database is empty. Login as admin and create a new team.',
99 // 'error.upload' => 'File upload error.',
100 // 'error.range_locked' => 'Date range is locked.',
101 // 'error.mail_send' => 'Error sending mail.',
102 // 'error.no_email' => 'No email associated with this login.',
103 // 'error.uncompleted_exists' => 'Uncompleted entry already exists. Close or delete it.',
104 // 'error.goto_uncompleted' => 'Go to uncompleted entry.',
105 // 'error.overlap' => 'Time interval overlaps with existing records.',
106 // 'error.future_date' => 'Date is in future.',
107
108 // Labels for buttons.
109 'button.login' => 'Login',
110 'button.now' => 'Hoje',
111 'button.save' => 'Salvar',
112 // TODO: translate the following.
113 // 'button.copy' => 'Copy',
114 'button.cancel' => 'Cancelar',
115 'button.submit' => 'Submeter',
116 // TODO: translate the following.
117 // 'button.add_user' => 'Add user',
118 'button.add_project' => 'Adicionar projeto',
119 // TODO: translate the following.
120 // 'button.add_task' => 'Add task',
121 // 'button.add_client' => 'Add client',
122 // 'button.add_invoice' => 'Add invoice',
123 // 'button.add_option' => 'Add option',
124 'button.add' => 'Adicionar',
125 // TODO: translate the following.
126 // 'button.generate' => 'Generate',
127 // 'button.reset_password' => 'Reset password',
128 'button.send' => 'Enviar',
129 'button.send_by_email' => 'Enviar por e-mail',
130 // TODO: translate the following.
131 // 'button.create_team' => 'Create team',
132 // 'button.export' => 'Export team',
133 // 'button.import' => 'Import team',
134 // 'button.close' => 'Close',
135 // 'button.stop' => 'Stop',
136
137 // Labels for controls on forms. Labels in this section are used on multiple forms.
138 // TODO: translate the following.
139 // 'label.team_name' => 'Team name',
140 // 'label.address' => 'Address',
141 // 'label.currency' => 'Currency',
142 // 'label.manager_name' => 'Manager name',
143 // 'label.manager_login' => 'Manager login',
144 // 'label.person_name' => 'Name',
145 // 'label.thing_name' => 'Name',
146 // 'label.login' => 'Login',
147 'label.password' => 'Senha',
148 'label.confirm_password' => 'Confirme a senha',
149 'label.email' => 'E-mail',
150 // TODO: translate the following.
151 // 'label.cc' => 'Cc',
152 // 'label.bcc' => 'Bcc',
153 'label.subject' => 'Assunto',
154 // TODO: translate the following.
155 // 'label.date' => 'Date',
156 // 'label.start_date' => 'Start date',
157 // 'label.end_date' => 'End date',
158 // 'label.user' => 'User',
159 // 'label.users' => 'Users',
160 // 'label.client' => 'Client',
161 // 'label.clients' => 'Clients',
162 // 'label.option' => 'Option',
163 // 'label.invoice' => 'Invoice',
164 // 'label.project' => 'Project',
165 // 'label.projects' => 'Projects',
166 // 'label.task' => 'Task',
167 // 'label.tasks' => 'Tasks',
168 // 'label.description' => 'Description',
169 // 'label.start' => 'Start',
170 // 'label.finish' => 'Finish',
171 // 'label.duration' => 'Duration',
172 // 'label.note' => 'Note',
173 // 'label.notes' => 'Notes',
174 // 'label.item' => 'Item',
175 // 'label.cost' => 'Cost',
176 // 'label.day_total' => 'Day total',
177 // 'label.week_total' => 'Week total',
178 // 'label.month_total' => 'Month total',
179 // 'label.today' => 'Today',
180 // 'label.total_hours' => 'Total hours',
181 // 'label.total_cost' => 'Total cost',
182 // 'label.view' => 'View',
183 // 'label.edit' => 'Edit',
184 'label.delete' => 'Apagar',
185 // TODO: translate the following.
186 // 'label.configure' => 'Configure',
187 // 'label.select_all' => 'Select all',
188 // 'label.select_none' => 'Deselect all',
189 // 'label.day_view' => 'Day view',
190 // 'label.week_view' => 'Week view',
191 // 'label.id' => 'ID',
192 // 'label.language' => 'Language',
193 // 'label.decimal_mark' => 'Decimal mark',
194 // 'label.date_format' => 'Date format',
195 // 'label.time_format' => 'Time format',
196 // 'label.week_start' => 'First day of week',
197 // 'label.comment' => 'Comment',
198 // 'label.status' => 'Status',
199 // 'label.tax' => 'Tax',
200 // 'label.subtotal' => 'Subtotal',
201 // 'label.total' => 'Total',
202
203
204
205 // TODO: refactoring ongoing down from here.
206
207 // 'label.page' => 'Page',
208 // 'label.condition' => 'Condition',
209 // TODO: translate the following.
210 // 'label.yes' => 'yes',
211 // 'label.no' => 'no',
212
213 // Form titles.
214 // TODO: the entire title section is missing here. See the English file.
215
216 // "form.filter.project" => 'project',
217 // "form.filter.filter" => 'favorite report',
218 // "form.filter.filter_new" => 'save as favorite',
219 // "form.filter.filter_confirm_delete" => 'are you sure you want to delete this favorite report?',
220
221 // login form attributes
222 "form.login.title" => 'login como usuário de debug',
223 // Note to translators: "form.login.login" => 'e-mail', // email has been changed to login
224
225 // password reminder form attributes
226 "form.fpass.title" => 'enviar senha',
227 // Note to translators: "form.fpass.login" => 'e-mail', // email has been changed to login
228 "form.fpass.send_pass_str" => 'senha foi enviada',
229 "form.fpass.send_pass_subj" => 'Sua senha do Anuko Time Tracker',
230 // Note to translators: the strings below are missing and must be added and translated
231 // "form.fpass.send_pass_body" => "Dear User,\n\nSomeone, possibly you, requested your Anuko Time Tracker password reset. Please visit this link if you want to reset your password.\n\n%s\n\nAnuko Time Tracker is a simple, easy to use, open source time tracking system. Visit https://www.anuko.com for more information.\n\n",
232 // "form.fpass.reset_comment" => "to reset your password please type it in and click on save",
233
234 // administrator form
235 // Note to translators: the strings below are missing and must be added and translated 
236 // "form.admin.title" => 'administrator',
237 // "form.admin.duty_text" => 'create a new team by creating a new team manager account.<br>you can also import team data from an xml file from another Anuko Time Tracker server (no login collisions are allowed).',
238
239 // "form.admin.change_pass" => 'change password of administrator account',
240 // "form.admin.profile.title" => 'teams',
241 // "form.admin.profile.noprofiles" => 'your database is empty. login as admin and create a new team.',
242 // "form.admin.profile.comment" => 'delete team',
243 // "form.admin.profile.th.id" => 'id',
244 // "form.admin.profile.th.name" => 'name',
245 // "form.admin.profile.th.edit" => 'edit',
246 // "form.admin.profile.th.del" => 'delete',
247 // "form.admin.profile.th.active" => 'active',
248 "form.admin.options" => 'opções',
249 // "form.admin.custom_date_format" => "date format",
250 // "form.admin.custom_time_format" => "time format",
251 // "form.admin.start_week" => "first day of week",
252
253 // my time form attributes
254 "form.mytime.title" => 'adicionar período',
255 // Note to translators: the strings below must be translated
256 // "form.mytime.edit_title" => 'editing time record',
257 // "form.mytime.del_str" => 'deleting time record',
258 // "form.mytime.time_form" => ' (hh:mm)',
259 "form.mytime.date" => 'data',
260 "form.mytime.project" => 'projeto',
261 "form.mytime.activity" => 'atividade',
262 "form.mytime.start" => 'início',
263 "form.mytime.finish" => 'fim',
264 "form.mytime.duration" => 'duração',
265 "form.mytime.note" => 'anotação',
266 // Note to translators: the string below must be translated
267 // "form.mytime.behalf" => 'daily work for',
268 "form.mytime.daily" => 'trabalho diário',
269 "form.mytime.total" => 'horas totais: ',
270 "form.mytime.th.project" => 'projeto',
271 "form.mytime.th.activity" => 'actividade',
272 "form.mytime.th.start" => 'início',
273 "form.mytime.th.finish" => 'finish',
274 "form.mytime.th.duration" => 'duração',
275 "form.mytime.th.note" => 'fim',
276 "form.mytime.th.edit" => 'editar',
277 "form.mytime.th.delete" => 'apagar',
278 "form.mytime.del_yes" => 'o período registrado foi apagado com sucesso',
279 // Note to translators: the strings below are missing and must be added and translated 
280 // "form.mytime.no_finished_rec" => 'this record was saved with only start time. it is not an error. logout if you need to.',
281 // "form.mytime.billable" => 'billable',
282 // "form.mytime.warn_tozero_rec" => 'this time record must be deleted because this time period is locked',
283 // "form.mytime.uncompleted" => 'uncompleted',
284
285 // profile form attributes
286 // Note to translators: we need a more accurate translation of form.profile.create_title
287 "form.profile.create_title" => 'criar nova conta de gerência',
288 "form.profile.edit_title" => 'editando perfil',
289 "form.profile.name" => 'nome',
290 // Note to translators: the string below is missing and must be added and translated 
291 // "form.profile.login" => 'login',
292
293 // Note to translators: the strings below are missing and must be added and translated 
294 // "form.profile.showchart" => 'show pie charts',
295 // "form.profile.lang" => 'language',
296 // "form.profile.custom_date_format" => "date format",
297 // "form.profile.custom_time_format" => "time format",
298 // "form.profile.default_format" => "(default)",
299 // "form.profile.start_week" => "first day of week",
300
301 // people form attributes
302 "form.people.ppl_str" => 'pessoas',
303 "form.people.createu_str" => 'adicionar novo usuário',
304 "form.people.edit_str" => 'editando usuário',
305 "form.people.del_str" => 'apagando usuário',
306 "form.people.th.name" => 'nome',
307 // Note to translators: "form.people.th.login" => 'e-mail', // email has been changed to login
308 "form.people.th.role" => 'regra',
309 "form.people.th.edit" => 'editar',
310 "form.people.th.del" => 'apagar',
311 "form.people.th.status" => 'status',
312 // Note to translators: the strings below are missing and must be added and translated 
313 // "form.people.th.project" => 'project',
314 // "form.people.th.rate" => 'rate',
315 "form.people.manager" => 'gerente',
316 // Note to translators: the string below is missing and must be added and translated 
317 // "form.people.comanager" => 'comanager',
318 "form.people.empl" => 'usuário',
319 "form.people.name" => 'nome',
320 // Note to translators: the string below is missing and must be added and translated 
321 // "form.people.login" => 'login',
322
323 "form.people.rate" => 'hourly rate',
324 // Note to translators: the strings below are missing and must be added and translated 
325 // "form.people.comanager" => 'co-manager',
326 // "form.people.projects" => 'projects',
327
328 // projects form attributes
329 "form.project.proj_title" => 'projetos',
330 "form.project.edit_str" => 'editando projeto',
331 "form.project.add_str" => 'adicionando novo projeto',
332 "form.project.del_str" => 'apagando projeto',
333 "form.project.th.name" => 'nome',
334 "form.project.th.edit" => 'editar',
335 "form.project.th.del" => 'apagar',
336 "form.project.name" => 'nome',
337
338 // activities form attributes
339 "form.activity.act_title" => 'atividades',
340 "form.activity.add_title" => 'adicionando nova atividade',
341 "form.activity.edit_str" => 'editando atividade',
342 // Note to translators: the string below must be translated
343 // "form.activity.del_str" => 'deleting activity',
344 "form.activity.name" => 'nome',
345 "form.activity.project" => 'project',
346 "form.activity.th.name" => 'nome',
347 "form.activity.th.project" => 'project',
348 "form.activity.th.edit" => 'editar',
349 "form.activity.th.del" => 'apagar',
350
351 // report attributes
352 "form.report.title" => 'relatórios',
353 "form.report.from" => 'data inicial',
354 "form.report.to" => 'data final',
355 // Note to translators: the strings below must be translated
356 // "form.report.groupby_user" => 'user',
357 // "form.report.groupby_project" => 'project',
358 // "form.report.groupby_activity" => 'activity',
359 "form.report.duration" => 'duração',
360 "form.report.start" => 'início',
361 "form.report.activity" => 'atividade',
362 // Note to translators: the string below must be translated
363 // "form.report.show_idle" => 'show idle',
364 "form.report.finish" => 'fim',
365 "form.report.note" => 'anotação',
366 "form.report.project" => 'projeto',
367 // Note to translators: the string below is missing and must be added and translated 
368 // "form.report.totals_only" => 'totals only',
369 "form.report.total" => 'horas totais',
370 "form.report.th.empllist" => 'usuário',
371 // Note to translators: the strings below must be translated
372 // "form.report.th.date" => 'data',
373 // "form.report.th.project" => 'project',
374 // "form.report.th.activity" => 'activity',
375 // "form.report.th.start" => 'start',
376 // "form.report.th.finish" => 'finish',
377 // "form.report.th.duration" => 'duration',
378 // "form.report.th.note" => 'note',
379
380 // mail form attributes
381 "form.mail.from" => 'de',
382 "form.mail.to" => 'para',
383 "form.mail.comment" => 'comentário',
384 "form.mail.above" => 'enviar este relatório por e-mail',
385 // Note to translators: the strings below must be translated
386 // "form.mail.footer_str" => 'Anuko Time Tracker is a simple, easy to use, open source<br>time tracking system. Visit <a href="https://www.anuko.com">www.anuko.com</a> for more information.',
387 // "form.mail.sending_str" => '<b>the message has been sent</b>',
388
389 // invoice attributes
390 // Note to translators: the strings below must be translated
391 // "form.invoice.title" => 'invoice',
392 // "form.invoice.caption" => 'invoice',
393 // "form.invoice.above" => 'additional information for invoice',
394 // "form.invoice.select_cust" => 'select client',
395 // "form.invoice.fillform" => 'fill the fields',
396 // "form.invoice.date" => 'invoice date',
397 // "form.invoice.number" => 'invoice number',
398 // "form.invoice.tax" => 'tax',
399 // "form.invoice.comment" => 'comment ',
400 // "form.invoice.th.username" => 'person',
401 // "form.invoice.th.time" => 'hours',
402 // "form.invoice.th.rate" => 'rate',
403 // "form.invoice.th.summ" => 'amount',
404 // "form.invoice.subtotal" => 'subtotal',
405 // "form.invoice.customer" =>'customer',
406 // Note to translators: the strings below must be translated
407 // "form.invoice.mailinv_above" => 'send this invoice by e-mail',
408 // "form.invoice.sending_str" => '<b>invoice has been sent</b>',
409
410 // Note to translators: the strings below are missing and must be added and translated 
411 // "form.migration.zip" => 'compression',
412 // "form.migration.file" => 'select file',
413 // "form.migration.import.title" => 'import data',
414 // "form.migration.import.success" => 'import completed successfully',
415 // "form.migration.import.text" => 'import team data from an xml file',
416 // "form.migration.export.title" => 'export data',
417 // "form.migration.export.success" => 'export completed successfully',
418 // "form.migration.export.text" => 'you can export all team data into an xml file. this could be useful if you are migrating data to your own server.',
419 // "form.migration.compression.none" => 'none',
420 // "form.migration.compression.gzip" => 'gzip',
421 // "form.migration.compression.bzip" => 'bzip',
422
423 // "form.client.title" => 'clients',
424 // "form.client.add_title" => 'add client',
425 // "form.client.edit_title" => 'edit client',
426 // "form.client.del_title" => 'delete client',
427 // "form.client.th.name" => 'name',
428 // "form.client.th.edit" => 'edit',
429 // "form.client.th.del" => 'delete',
430 // "form.client.name" => 'name',
431 // "form.client.tax" => 'tax',
432 // "form.client.comment" => 'comment ',
433
434 // miscellaneous strings
435 "forward.forgot_password" => 'esqueceu a senha?',
436 // Note to translators: the strings below must be translated 
437 // "forward.edit" => 'edit',
438 // "forward.delete" => 'delete',
439 // Note to translators: the string below must be translated 
440 // "forward.tocsvfile" => 'export data to .csv file',
441 // Note to translators: the strings below are missing and must be added and translated 
442 // "forward.toxmlfile" => 'export data to .xml file',
443 // "forward.geninvoice" => 'generate invoice',
444 // "forward.change" => 'configure clients',
445
446 // strings inside contols on forms
447 "controls.select.project" => '--- selecione projeto ---',
448 "controls.select.activity" => '--- selecione atividade ---',
449 // Note to translators: the strings below are missing and must be added and translated 
450 // "controls.select.client" => '--- select client ---',
451 // "controls.project_bind" => '--- all ---',
452 // "controls.all" => '--- all ---',
453 // "controls.notbind" => '--- no ---',
454 "controls.per_tm" => 'este mês',
455 "controls.per_lm" => 'último mês',
456 "controls.per_tw" => 'esta semana',
457 "controls.per_lw" => 'última semana',
458 // Note to translators: the strings below are missing and must be added and translated 
459 // "controls.per_td" => 'this day',
460 // "controls.per_at" => 'all time',
461 // "controls.per_ty" => 'this year',
462 "controls.sel_period" => '--- selecione o período de tempo ---',
463 // Note to translators: the strings below must be translated 
464 // "controls.sel_groupby" => '--- no grouping ---',
465 // "controls.inc_billable" => 'billable',
466 // "controls.inc_nbillable" => 'not billable',
467 // "controls.default" => '--- default ---',
468
469 // labels
470 // Note to translators: the strings below are missing and must be added and translated 
471 // "label.chart.title1" => 'activities for user',
472 // "label.chart.title2" => 'projects for user',
473 // "label.chart.period" => 'chart for period',
474
475 "label.pinfo" => '%s, %s',
476 "label.pinfo2" => '%s',
477 "label.pbehalf_info" => '%s %s <b>on behalf of %s</b>',
478 "label.pminfo" => ' (gerente)',
479 // Note to translators: the strings below are missing and must be added and translated 
480 // "label.pcminfo" => ' (co-manager)',
481 // "label.painfo" => ' (administrator)',
482 "label.time_noentry" => 'sem registro',
483 "label.today" => 'today',
484 "label.req_fields" => '* campos obrigatórios',
485 // Note to translators: the strings below must be translated 
486 // "label.sel_project" => 'select project',
487 // "label.sel_activity" => 'select activity',
488 "label.sel_tp" => 'selecione o período de tempo',
489 "label.set_tp" => 'ou selecionar datas',
490 "label.fields" => 'exibir campos',
491 // Note to translators: the strings below must be translated
492 // "label.group_title" => 'group by',
493 // "label.include_title" => 'include records',
494 // "label.inv_str" => 'invoice',
495 //" label.sel_all" => 'select all',
496 // "label.sel_none" => 'deselect all',
497 // "label.or" => 'or',
498 // "label.disable" => 'disable',
499 // "label.enable" => 'enable',
500 // "label.filter" => 'filter',
501 // "label.timeweek" => 'weekly total',
502 // "label.hrs" => 'hrs',
503 // "label.errors" => 'errors',
504 // "label.ldap_hint" => 'Type your <b>Windows login</b> and <b>password</b> in the fields below.',
505 // "label.calendar_today" => 'today',
506 // "label.calendar_close" => 'close',
507
508 // login hello text
509 // "login.hello.text" => "Anuko Time Tracker is a simple, easy to use, open source time tracking system.",
510 );