3
.. i18n: single: menu; configuring
7
single: menu; configuring
9
.. i18n: Configuring the menu
10
.. i18n: ====================
16
.. i18n: Open ERP's menu organization isn't subject to any restriction, so you can modify the whole
17
.. i18n: structure, the terminology and all access rights to it to meet your specific needs in the best
18
.. i18n: possible way. However, before you do all that and just as you would for any other customizable
19
.. i18n: software, you should balance both the benefits you see in such changes and the costs, such as the
20
.. i18n: need to train users, to maintain new documentation and to continue the alterations through
21
.. i18n: subsequent versions of the software.
24
Open ERP's menu organization isn't subject to any restriction, so you can modify the whole
25
structure, the terminology and all access rights to it to meet your specific needs in the best
26
possible way. However, before you do all that and just as you would for any other customizable
27
software, you should balance both the benefits you see in such changes and the costs, such as the
28
need to train users, to maintain new documentation and to continue the alterations through
29
subsequent versions of the software.
31
.. i18n: This section describes how to proceed to change the structure of the menu and the welcome page, to
32
.. i18n: configure the terminology of the menus and forms in the user interface and for managing users'
33
.. i18n: access rights to the menus and the various underlying business objects.
36
This section describes how to proceed to change the structure of the menu and the welcome page, to
37
configure the terminology of the menus and forms in the user interface and for managing users'
38
access rights to the menus and the various underlying business objects.
41
.. i18n: single: menu; duplicating
45
single: menu; duplicating
47
.. i18n: Changing the menu
48
.. i18n: -----------------
54
.. i18n: As administrator, and using the web client, select a menu item (but don't click it).
55
.. i18n: Click on the line containing
56
.. i18n: :menuselection:`Administration --> Translations --> Import/Export --> Export a Translation File`
57
.. i18n: (but not on the string \ ``Export a Translation File``\ itself) and click the
58
.. i18n: :guilabel:`Switch` button to bring up the menu item as an
59
.. i18n: editable form (you can do the same using the GTK client – there you select the line and click the
60
.. i18n: :guilabel:`View` button instead).
63
As administrator, and using the web client, select a menu item (but don't click it).
64
Click on the line containing
65
:menuselection:`Administration --> Translations --> Import/Export --> Export a Translation File`
66
(but not on the string \ ``Export a Translation File``\ itself) and click the
67
:guilabel:`Switch` button to bring up the menu item as an
68
editable form (you can do the same using the GTK client – there you select the line and click the
69
:guilabel:`View` button instead).
71
.. i18n: You could now edit this form (**but don't do that, read the next paragraph first!**) – change
72
.. i18n: its :guilabel:`Parent Menu`, which moves the entry to a
73
.. i18n: different part of the menu system; edit its :guilabel:`Menu` name to change how it appears in the
74
.. i18n: menu tree, or give it a new :guilabel:`Icon`. Or you could give it a new :guilabel:`Action` entirely
75
.. i18n: (but this would lose the point of this particular exercise).
78
You could now edit this form (**but don't do that, read the next paragraph first!**) – change
79
its :guilabel:`Parent Menu`, which moves the entry to a
80
different part of the menu system; edit its :guilabel:`Menu` name to change how it appears in the
81
menu tree, or give it a new :guilabel:`Icon`. Or you could give it a new :guilabel:`Action` entirely
82
(but this would lose the point of this particular exercise).
84
.. i18n: Instead of editing this form, which is the original menu entry, duplicate it. With the web
85
.. i18n: client you must first make the form read-only by clicking the :guilabel:`Cancel` button, then you
86
.. i18n: click the :guilabel:`Duplicate` button that appears (in the GTK client, click :menuselection:`Form
87
.. i18n: --> Duplicate` from the top menu). The form that remains is now the duplicate entry, not the
91
Instead of editing this form, which is the original menu entry, duplicate it. With the web
92
client you must first make the form read-only by clicking the :guilabel:`Cancel` button, then you
93
click the :guilabel:`Duplicate` button that appears (in the GTK client, click :menuselection:`Form
94
--> Duplicate` from the top menu). The form that remains is now the duplicate entry, not the
97
.. i18n: To move this duplicate entry, change the :guilabel:`Parent Menu` field by deleting what's there and
98
.. i18n: replacing it with another menu that everyone can see, such as :guilabel:`Tools` or :guilabel:`Human
99
.. i18n: Resources`, and make sure that the entry moves to the end of the menu list by replacing the
100
.. i18n: :guilabel:`Sequence` with \ ``99``\ . You can experiment with icons if you like. Save the form and
101
.. i18n: then click :guilabel:`Main Menu` to see the results.
104
To move this duplicate entry, change the :guilabel:`Parent Menu` field by deleting what's there and
105
replacing it with another menu that everyone can see, such as :guilabel:`Tools` or :guilabel:`Human
106
Resources`, and make sure that the entry moves to the end of the menu list by replacing the
107
:guilabel:`Sequence` with \ ``99``\ . You can experiment with icons if you like. Save the form and
108
then click :guilabel:`Main Menu` to see the results.
110
.. i18n: .. tip:: Duplicating the menu
112
.. i18n: If you're planning to modify a menu you should duplicate it first.
113
.. i18n: In this way you'll always keep a link to the original menu that works if you need it to.
116
.. tip:: Duplicating the menu
118
If you're planning to modify a menu you should duplicate it first.
119
In this way you'll always keep a link to the original menu that works if you need it to.
122
.. i18n: single: welcome page
124
.. i18n: Personalizing the welcome page for each user
125
.. i18n: --------------------------------------------
131
Personalizing the welcome page for each user
132
--------------------------------------------
134
.. i18n: When you sign into Open ERP for the first time, a welcome page appears. In a minimal system, such
135
.. i18n: as that created in the original \ ``openerp_ch02``\ database before it was expanded in
136
.. i18n: :ref:`ch-guided`, and in the \ ``openerp_ch03``\ database, you only get the main menu – the same as you
137
.. i18n: get by default when you click the :menuselection:`Main Menu` button. As you add functionality to
138
.. i18n: your database you get more choices for the welcome page, with different dashboards automatically
139
.. i18n: assigned to various company roles as they're created in the demonstration data.
142
When you sign into Open ERP for the first time, a welcome page appears. In a minimal system, such
143
as that created in the original \ ``openerp_ch02``\ database before it was expanded in
144
:ref:`ch-guided`, and in the \ ``openerp_ch03``\ database, you only get the main menu – the same as you
145
get by default when you click the :menuselection:`Main Menu` button. As you add functionality to
146
your database you get more choices for the welcome page, with different dashboards automatically
147
assigned to various company roles as they're created in the demonstration data.
149
.. i18n: The administrator can change both the welcome page and the main menu page individually for each user
150
.. i18n: of the system, and can adapt OpenERP to each role in the company to best fit the needs of everyone.
153
The administrator can change both the welcome page and the main menu page individually for each user
154
of the system, and can adapt OpenERP to each role in the company to best fit the needs of everyone.
156
.. i18n: To make modifications for a particular user, edit the user configuration again in
157
.. i18n: :menuselection:`Administration --> Users --> Users`. Open the form for a particular user, and select
158
.. i18n: different menu entries for the two fields :guilabel:`Home Action` and :guilabel:`Menu Action`.
161
To make modifications for a particular user, edit the user configuration again in
162
:menuselection:`Administration --> Users --> Users`. Open the form for a particular user, and select
163
different menu entries for the two fields :guilabel:`Home Action` and :guilabel:`Menu Action`.
165
.. i18n: .. figure:: images/new_home.png
167
.. i18n: :align: center
169
.. i18n: *Selecting a new welcome page*
172
.. figure:: images/new_home.png
176
*Selecting a new welcome page*
178
.. i18n: The :guilabel:`Home Action` is the menu item that is automatically opened when you first sign on,
179
.. i18n: and is also reached when you click the :guilabel:`Home` link in the top right toolbar of the web
180
.. i18n: client. There you can choose any page that you'd reach through any menu – one of the dashboards
181
.. i18n: could be most useful. The :guilabel:`Menu Action` is the one you reach through the :guilabel:`Main
182
.. i18n: Menu` button in the web client (the :guilabel:`Menu` button in the GTK client). You can choose the
183
.. i18n: main menu and the dashboards there.
186
The :guilabel:`Home Action` is the menu item that is automatically opened when you first sign on,
187
and is also reached when you click the :guilabel:`Home` link in the top right toolbar of the web
188
client. There you can choose any page that you'd reach through any menu – one of the dashboards
189
could be most useful. The :guilabel:`Menu Action` is the one you reach through the :guilabel:`Main
190
Menu` button in the web client (the :guilabel:`Menu` button in the GTK client). You can choose the
191
main menu and the dashboards there.
193
.. i18n: .. tip:: Actions on the administrator's menu
195
.. i18n: It's very easy to change the welcome page and the menu of the different users.
196
.. i18n: However, you shouldn't change the main administrator's menu because you could make certain menus
197
.. i18n: completely inaccessible by mistake.
200
.. tip:: Actions on the administrator's menu
202
It's very easy to change the welcome page and the menu of the different users.
203
However, you shouldn't change the main administrator's menu because you could make certain menus
204
completely inaccessible by mistake.
207
.. i18n: single: field; default value
209
.. i18n: Assigning default values to fields
210
.. i18n: ----------------------------------
214
single: field; default value
216
Assigning default values to fields
217
----------------------------------
219
.. i18n: You can quite easily configure the system to put default values in various fields as you open new
220
.. i18n: forms. This enables you to pre-complete the fields with default data to simplify your users' work in
221
.. i18n: entering new documents.
224
You can quite easily configure the system to put default values in various fields as you open new
225
forms. This enables you to pre-complete the fields with default data to simplify your users' work in
226
entering new documents.
228
.. i18n: * If you're using the web client hold :kbd:`Ctrl` down and Right-Click at the same time (that's a mouse right-click while the mouse
229
.. i18n: pointer is in the field and the Control key is held down on the keyboard).
231
.. i18n: * If you're using the GTK client, you just need to right-click the mouse while the pointer is in the
234
.. i18n: An administrator has the choice of making the default work just for that user, or for all users of the database.
237
* If you're using the web client hold :kbd:`Ctrl` down and Right-Click at the same time (that's a mouse right-click while the mouse
238
pointer is in the field and the Control key is held down on the keyboard).
240
* If you're using the GTK client, you just need to right-click the mouse while the pointer is in the
243
An administrator has the choice of making the default work just for that user, or for all users of the database.
245
.. i18n: .. figure:: images/set_default.png
247
.. i18n: :align: center
249
.. i18n: *Inserting a new default value*
252
.. figure:: images/set_default.png
256
*Inserting a new default value*
258
.. i18n: To check this new configuration, open a new partner form: the field :guilabel:`Country` should now
259
.. i18n: contain the entry \ ``New Zealand``\ .
262
To check this new configuration, open a new partner form: the field :guilabel:`Country` should now
263
contain the entry \ ``New Zealand``\ .
265
.. i18n: This is a very powerful feature! An administrator can use this functionality to redefine the
266
.. i18n: behavior of your whole system. You can test that in database \ ``openerp_ch13``\ by opening up a
267
.. i18n: new :guilabel:`Purchase Order` form, clicking the second tab :guilabel:`Purchase Shippings`,
268
.. i18n: selecting \ ``From Picking``\ in the :guilabel:`Invoicing Control` field and then making that the
272
This is a very powerful feature! An administrator can use this functionality to redefine the
273
behavior of your whole system. You can test that in database \ ``openerp_ch13``\ by opening up a
274
new :guilabel:`Purchase Order` form, clicking the second tab :guilabel:`Purchase Shippings`,
275
selecting \ ``From Picking``\ in the :guilabel:`Invoicing Control` field and then making that the
278
.. i18n: From that moment on, you'd automatically create draft purchase invoices only when goods are
279
.. i18n: received, so you could very easily restrict your accountants from paying any invoices that turn up
280
.. i18n: until you were sure you had received the goods. It wouldn't stop anyone from selecting another
281
.. i18n: method of invoice control, but they'd start with the default definition.
284
From that moment on, you'd automatically create draft purchase invoices only when goods are
285
received, so you could very easily restrict your accountants from paying any invoices that turn up
286
until you were sure you had received the goods. It wouldn't stop anyone from selecting another
287
method of invoice control, but they'd start with the default definition.
289
.. i18n: Changing the terminology
290
.. i18n: ------------------------
293
Changing the terminology
294
------------------------
296
.. i18n: You can use Open ERP's language translation functionality to substitute its standard terminology
297
.. i18n: with terminology that fits your company better. It's quite straightforward to adapt the software
298
.. i18n: with different terms specific to your industry. Moreover, this can strengthen acceptance of your new
299
.. i18n: Open ERP system, because everybody will be able to retain their usual vocabulary.
302
You can use Open ERP's language translation functionality to substitute its standard terminology
303
with terminology that fits your company better. It's quite straightforward to adapt the software
304
with different terms specific to your industry. Moreover, this can strengthen acceptance of your new
305
Open ERP system, because everybody will be able to retain their usual vocabulary.
307
.. i18n: You can do this one of two ways:
310
You can do this one of two ways:
312
.. i18n: * translate them in a CSV file, which gives you a global overview of all of the system terms so that
313
.. i18n: you can search and replace specific occurrences everywhere,
315
.. i18n: * translate the phrases directly in the client, which means that you can change them in their
316
.. i18n: context, and that can be helpful to you while you're translating.
319
* translate them in a CSV file, which gives you a global overview of all of the system terms so that
320
you can search and replace specific occurrences everywhere,
322
* translate the phrases directly in the client, which means that you can change them in their
323
context, and that can be helpful to you while you're translating.
325
.. i18n: The same approach is used to translate terms that haven't been created yet. This can be useful, for
326
.. i18n: example, with modules that haven't yet been translated into English or any other language that you
330
The same approach is used to translate terms that haven't been created yet. This can be useful, for
331
example, with modules that haven't yet been translated into English or any other language that you
335
.. i18n: single: translation
341
.. i18n: Translation through a CSV file
342
.. i18n: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
345
Translation through a CSV file
346
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
348
.. i18n: To translate or modify all of the system's phrases you first have to export a translation file in
349
.. i18n: CSV form. And to do that, you have to install a language into OpenERP. To load a translation
350
.. i18n: that already exists in OpenERP use
351
.. i18n: :menuselection:`Administration --> Translations --> Load an Official Translation`
352
.. i18n: choose a language and then click :guilabel:`Start Installation`.
355
To translate or modify all of the system's phrases you first have to export a translation file in
356
CSV form. And to do that, you have to install a language into OpenERP. To load a translation
357
that already exists in OpenERP use
358
:menuselection:`Administration --> Translations --> Load an Official Translation`
359
choose a language and then click :guilabel:`Start Installation`.
361
.. i18n: Then export it using
362
.. i18n: :menuselection:`Administration --> Translations --> Import/Export --> Export a Translation file.
363
.. i18n: Select the language, then the :guilabel:`CSV File` format, then one or more (or all) modules.
364
.. i18n: Click :guilabel:`Get File` to start the download process, then click the small
365
.. i18n: :guilabel:`Save` icon to save the file somewhere. A French translation would be
366
.. i18n: named :file:`fr_FR.csv` by default, but you can name it whatever you like.
370
:menuselection:`Administration --> Translations --> Import/Export --> Export a Translation file.
371
Select the language, then the :guilabel:`CSV File` format, then one or more (or all) modules.
372
Click :guilabel:`Get File` to start the download process, then click the small
373
:guilabel:`Save` icon to save the file somewhere. A French translation would be
374
named :file:`fr_FR.csv` by default, but you can name it whatever you like.
376
.. i18n: .. note:: UTF-8 format
378
.. i18n: The CSV file is encoded in the UTF-8 format.
379
.. i18n: Make sure that you retain this format when you open the file in a spreadsheet program because
380
.. i18n: if you **don't** retain it you risk seeing strange character strings in place of accented
384
.. note:: UTF-8 format
386
The CSV file is encoded in the UTF-8 format.
387
Make sure that you retain this format when you open the file in a spreadsheet program because
388
if you **don't** retain it you risk seeing strange character strings in place of accented
391
.. i18n: .. figure:: images/csv_transl.png
393
.. i18n: :align: center
395
.. i18n: *CSV translation file with a translation in view*
398
.. figure:: images/csv_transl.png
402
*CSV translation file with a translation in view*
404
.. i18n: The file contains six columns: :guilabel:`module` ,
405
.. i18n: :guilabel:`type` , :guilabel:`name`, :guilabel:`res_id`,
406
.. i18n: :guilabel:`src`, and :guilabel:`value`. You have to ensure that the first line, which specifies
407
.. i18n: these column names, remains untouched.
410
The file contains six columns: :guilabel:`module` ,
411
:guilabel:`type` , :guilabel:`name`, :guilabel:`res_id`,
412
:guilabel:`src`, and :guilabel:`value`. You have to ensure that the first line, which specifies
413
these column names, remains untouched.
415
.. i18n: The :guilabel:`src` field contains the base text in English,
416
.. i18n: and the :guilabel:`value` field contains a translation into another conventional language or into a
417
.. i18n: specialist technical phrase. If there's nothing at all in the :guilabel:`value` field then the
418
.. i18n: English translation will automatically be used on the the form you see.
421
The :guilabel:`src` field contains the base text in English,
422
and the :guilabel:`value` field contains a translation into another conventional language or into a
423
specialist technical phrase. If there's nothing at all in the :guilabel:`value` field then the
424
English translation will automatically be used on the the form you see.
426
.. i18n: .. tip:: Where should you modify the text?
428
.. i18n: Most of the time, you will find the text that you want to modify in several lines of the CSV
430
.. i18n: Which line should you modify?
431
.. i18n: Refer to the two columns :guilabel:`type` (in column B) and :guilabel:`name` (in column C).
432
.. i18n: Some lines have the name :guilabel:`ir.ui.menu` in the :guilabel:`name` column which shows that this is a menu entry.
433
.. i18n: Others have :guilabel:`selection` in the :guilabel:`type` column, which indicates that you'd see this entry in a drop-down
437
.. tip:: Where should you modify the text?
439
Most of the time, you will find the text that you want to modify in several lines of the CSV
441
Which line should you modify?
442
Refer to the two columns :guilabel:`type` (in column B) and :guilabel:`name` (in column C).
443
Some lines have the name :guilabel:`ir.ui.menu` in the :guilabel:`name` column which shows that this is a menu entry.
444
Others have :guilabel:`selection` in the :guilabel:`type` column, which indicates that you'd see this entry in a drop-down
447
.. i18n: You should then load the new file into your Open ERP system using the menu
448
.. i18n: :menuselection:`Administration --> Translations --> Import/Export --> Import a Translation file`.
449
.. i18n: You've then got two ways forward:
452
You should then load the new file into your Open ERP system using the menu
453
:menuselection:`Administration --> Translations --> Import/Export --> Import a Translation file`.
454
You've then got two ways forward:
456
.. i18n: * you can overwrite the previous translation by using the same name as before (so you could have a
457
.. i18n: special 'standard French' translation by reusing the :guilabel:`Name` \ ``Français``\ and
458
.. i18n: :guilabel:`Code` \ ``fr_FR``\ ),
460
.. i18n: * you could create a new translation file which users can select in their :guilabel:`Preferences`.
463
* you can overwrite the previous translation by using the same name as before (so you could have a
464
special 'standard French' translation by reusing the :guilabel:`Name` \ ``Français``\ and
465
:guilabel:`Code` \ ``fr_FR``\ ),
467
* you could create a new translation file which users can select in their :guilabel:`Preferences`.
469
.. i18n: If you're not connected to the translated language, click :guilabel:`Preferences`, select the
470
.. i18n: language in :guilabel:`Language` and finally click :guilabel:`OK` to load the new language with its
471
.. i18n: new terminology.
474
If you're not connected to the translated language, click :guilabel:`Preferences`, select the
475
language in :guilabel:`Language` and finally click :guilabel:`OK` to load the new language with its
478
.. i18n: .. tip:: Partial translations
480
.. i18n: You can load a selection of the lines in a translation file by deleting most of the lines in the
481
.. i18n: file and then loading back only the changed ones. Open ERP then changes only the uploaded lines
482
.. i18n: and leaves the original ones alone.
485
.. tip:: Partial translations
487
You can load a selection of the lines in a translation file by deleting most of the lines in the
488
file and then loading back only the changed ones. Open ERP then changes only the uploaded lines
489
and leaves the original ones alone.
491
.. i18n: Changes through the client interface
492
.. i18n: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
495
Changes through the client interface
496
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
498
.. i18n: You can also change labels and other screen items on screen in the web client.
499
.. i18n: To do that, open the form that you want to translate, then click the
500
.. i18n: :guilabel:`Translate this resource.` icon to its top right.
501
.. i18n: You then have the choice of translating:
504
You can also change labels and other screen items on screen in the web client.
505
To do that, open the form that you want to translate, then click the
506
:guilabel:`Translate this resource.` icon to its top right.
507
You then have the choice of translating:
509
.. i18n: * the data in the system (contained in the :guilabel:`Fields`),
511
.. i18n: * the field titles (the :guilabel:`Labels`),
513
.. i18n: * all of the :guilabel:`Action` buttons to the right of the form (the :guilabel:`Relates` option),
515
.. i18n: * the terms used in the form :guilabel:`View`.
518
* the data in the system (contained in the :guilabel:`Fields`),
520
* the field titles (the :guilabel:`Labels`),
522
* all of the :guilabel:`Action` buttons to the right of the form (the :guilabel:`Relates` option),
524
* the terms used in the form :guilabel:`View`.
526
.. i18n: You can modify any of these.
529
You can modify any of these.
531
.. i18n: The procedure is slightly different using the GTK client. In this you just right-click on a label or button
532
.. i18n: with the mouse. You can choose to translate the item itself or the whole view.
535
The procedure is slightly different using the GTK client. In this you just right-click on a label or button
536
with the mouse. You can choose to translate the item itself or the whole view.
538
.. i18n: This method is simple and quick when you only have a few entries to modify, but it can become
539
.. i18n: tiresome and you can lose a lot of time if you've got to change some terms across the whole system.
542
This method is simple and quick when you only have a few entries to modify, but it can become
543
tiresome and you can lose a lot of time if you've got to change some terms across the whole system.
545
.. i18n: In that case it would be better to use the translation method that employs a CSV file.
548
In that case it would be better to use the translation method that employs a CSV file.
550
.. i18n: .. tip:: Tacking account of translations
552
.. i18n: In the GTK client the modified terms aren't updated immediately.
553
.. i18n: To see the effects of the modifications you must close the current window and then reopen the
557
.. tip:: Tacking account of translations
559
In the GTK client the modified terms aren't updated immediately.
560
To see the effects of the modifications you must close the current window and then reopen the
563
.. i18n: .. Copyright © Open Object Press. All rights reserved.
566
.. Copyright © Open Object Press. All rights reserved.
568
.. i18n: .. You may take electronic copy of this publication and distribute it if you don't
569
.. i18n: .. change the content. You can also print a copy to be read by yourself only.
572
.. You may take electronic copy of this publication and distribute it if you don't
573
.. change the content. You can also print a copy to be read by yourself only.
575
.. i18n: .. We have contracts with different publishers in different countries to sell and
576
.. i18n: .. distribute paper or electronic based versions of this book (translated or not)
577
.. i18n: .. in bookstores. This helps to distribute and promote the OpenERP product. It
578
.. i18n: .. also helps us to create incentives to pay contributors and authors using author
579
.. i18n: .. rights of these sales.
582
.. We have contracts with different publishers in different countries to sell and
583
.. distribute paper or electronic based versions of this book (translated or not)
584
.. in bookstores. This helps to distribute and promote the OpenERP product. It
585
.. also helps us to create incentives to pay contributors and authors using author
586
.. rights of these sales.
588
.. i18n: .. Due to this, grants to translate, modify or sell this book are strictly
589
.. i18n: .. forbidden, unless Tiny SPRL (representing Open Object Press) gives you a
590
.. i18n: .. written authorisation for this.
593
.. Due to this, grants to translate, modify or sell this book are strictly
594
.. forbidden, unless Tiny SPRL (representing Open Object Press) gives you a
595
.. written authorisation for this.
597
.. i18n: .. Many of the designations used by manufacturers and suppliers to distinguish their
598
.. i18n: .. products are claimed as trademarks. Where those designations appear in this book,
599
.. i18n: .. and Open Object Press was aware of a trademark claim, the designations have been
600
.. i18n: .. printed in initial capitals.
603
.. Many of the designations used by manufacturers and suppliers to distinguish their
604
.. products are claimed as trademarks. Where those designations appear in this book,
605
.. and Open Object Press was aware of a trademark claim, the designations have been
606
.. printed in initial capitals.
608
.. i18n: .. While every precaution has been taken in the preparation of this book, the publisher
609
.. i18n: .. and the authors assume no responsibility for errors or omissions, or for damages
610
.. i18n: .. resulting from the use of the information contained herein.
613
.. While every precaution has been taken in the preparation of this book, the publisher
614
.. and the authors assume no responsibility for errors or omissions, or for damages
615
.. resulting from the use of the information contained herein.
617
.. i18n: .. Published by Open Object Press, Grand Rosière, Belgium
620
.. Published by Open Object Press, Grand Rosière, Belgium