# Configuring Localize Pack Copy (Veeva Claims)

[Veeva Claims](/en/lr/54331/) Pack Copy Management provides users with the ability to [generate local pack copy from a global pack copy](/en/lr/78473/). Before generating local pack copy, users can optionally check for missing localizations and then select the global elements they want to include in the pack copy for the specified locations. Vault finds any existing local elements for the languages associated with the specified locations and adds them to the local pack copy, allowing users to reuse element translations for different geographical markets mapped to the same language.

## Configuration Overview {#overview}

Configuring your Vault to use Localize Pack Copy involves the following steps:

1. [Configure object types][7]
2. [Configure object layouts][8]
3. [Configure the _Localize Pack Copy_ object action][2]
4. [Create country-language mappings][3]
5. [Define Translator group settings][4]
6. [Configure user permissions][5]

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: Depending on your Vault’s creation date and which features are currently enabled and configured, some of the steps described in this article may be unavailable or already complete in your Vault.</p>
    </div>
  </div>
</div>



## Configuring Object Types {#ot}

If you've configured object types for the _Element_ or _Panel_ objects, you must [assign](/en/lr/32857/#assign) certain fields to all relevant object types:

* For the _Element_ object, the _Element Language_ field.
* For the _Panel_ object, the _Pack Copy Ref_ and _Pack Copy Country_ fields. Vault populates the _Pack Copy Country_ field when a user adds a _Panel_ to a local _Pack Copy_ and the field should not be visible to users on the _Panel_ object layout.

## Configuring Object Layouts {#pl}

You must configure the _Element_ and _Pack Copy_ [object layouts](/en/lr/26387/) to support Localize Pack Copy.

### Configuring the Element Object Layout {#pl-element}

You must configure the _Element_ [object layout](/en/lr/26387/) in the following ways:

* Insert a related object section for the _Usable Element Location_ object. This section will display local _Elements_, with references to the applicable _Claims_ and _Local Adaptations_ for _Claim_ types of _Elements_.
* Ensure you do not include the _Element Country_ and _Local Adaptation_ fields in the layout. We recommend also updating these fields to inactive status.

### Configuring the Pack Copy Object Layout {#pl-pc}

You must insert the applicable section to the _Pack Copy_ object layout for users to be able to provide element text inline for _Elements_ in a localized _Pack Copy_ and to view completed translations:

* **All Elements**: Displays all global or local _Elements_ associated with the _Pack Copy_.
* **Translator View**: Displays any existing translations for _Elements_ reused in multiple local _Pack Copies_, allowing users to add translated text for elements in languages [mapped][3] to a _Location_. 

To insert the _All Elements_ section or _Translator View_ section to the _Pack Copy_ object layout:

1. Navigate to **Admin > Configuration > Objects > Pack Copy > Layouts > [Layout]**.
2. Insert one (1) of the sections to the object layout:
    * **All Elements** control section with the slider (<img class="inline" src="https://platform.veevavault.help/assets/images/CPC-Icon-Slider.png" alt="Slider Icon" style="" />) icon.
    * **Translator View** control section with the slider (<img class="inline" src="https://platform.veevavault.help/assets/images/CPC-Icon-Slider.png" alt="Slider Icon" style="" />) icon.
3. In the dialog, you can make the following changes:
    * Optional: Change the **Section Label**.
    * Optional: In the **Show the section only in these lifecycle states** field, select one (1) or more lifecycle states. This option only appears if the object uses a [lifecycle](/en/lr/29798/).
    * Optional: Enter **Section Help** content to provide the user with any relevant information. Help content appears below the section label.
    * Optional: Select the **Expand the section by default** checkbox so that the section is always open when users open the records.
    * Optional for the _All Elements_ section: Enter **Criteria VQL** to narrow the display of elements in the section. This field does not support `IN` or `LIKE` operators. 
4. Click **Done**.

## Configuring the Localize Pack Copy Action {#lpc-action}

When users run the _Localize Pack Copy_ action, they can check for missing localizations and select which global _Elements_ they want to localize for specified locations in the _Localize Pack Copy_ dialog. When users click _Continue_ in the dialog, Vault creates new local _Pack Copies_ (with associated _Packaging Level_ and _Panel_ record hierarchies) for each selected _Location_ based on the global _Pack Copy_. Vault also creates or associates the applicable local _Elements_ for each generated _Pack Copy_, for which users can provide or reuse [translations](/en/lr/78473/#translate). The number of local _Elements_ Vaults creates or associates depends on your configuration:

* For any _Element Types_ you specify in the [Element Localization Setting][10], creates one (1) new local _Element_ per global _Element_. If any local versions of the selected _Elements_ already exist for a specified location, Vault instead associates the existing _Element_.
* For unspecified _Element Types_, creates new local _Elements_ for each [language mapped to each specified location][3]. If any local versions of the selected _Elements_ already exist for a language mapped to a specified location, Vault instead associates the existing local _Element_.

When the _Localize Pack Copy_ action completes, Vault also does the following: 

* Populates fields on generated _Pack Copies_ based on the global record.
* For _Claim_ types of generated local _Elements_, creates or references the appropriate _Local Adaptation_.
* If the _Element Language_ field is blank on any existing local _Elements_ referenced in the generated _Pack Copy_, populates the field with the same value defined in the global _Element_.
* Creates new join records to the global _Element_ in the new local _Elements_ from which the local copy was made.
* Creates _Usable Element Locations_ to associate each generated local _Element_ to the user-selected _Locations_, with references to the appropriate _Claim_ and _Local Adaptation_, when applicable.

Review the following behavior regarding the process of localizing a _Pack Copy_:

* Vault inserts "[_LPC-{Location Name}-#_]" to the local _Pack Copy_ title.
* The generation process adheres to the permissions of the user who initiated the action, allowing the user to view and copy only the records to which they have _Read_ and _Edit_ permission.
* The _Localize Pack Copy_ action fails if any of the following occur:
  * The field _Element Text_ in the _Element_ object has the attribute _Users must always enter a value (required)_ selected. Ensure you do not configure this field as required for the _Element_ object.
  * The user selects a _Location_ in the _Localize Pack Copy_ dialog that you have not [mapped][3] to any languages.

### How to Configure the Localize Pack Copy Action {#lpc-action-how}

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: If you configured the <em>Localize Pack Copy</em> action prior to 23R1, the action settings may be defined in a <a href="#cas"><em>Claim Admin Setting</em></a>. If this is the case in your Vault, we recommend deleting the <em>Claim Admin Setting</em> and reconfiguring the action as described in this section.</p>
    </div>
  </div>
</div>



To configure the _Localize Pack Copy_ object action:

1. [Assign](/en/lr/43127/#assign-actions) the _Localize Pack Copy_ action to the _Pack Copy_ object. Do not select _Assign to All Lifecycle States_. 
2. Configure the [user action](/en/lr/59885/#user-actions) on the appropriate lifecycle states of the _Pack Copy_ lifecycle and specify the following:
    1. Optional: Enter **Instructional Text**. This displays for users in the _Localize Pack Copy_ dialog.
    2. Optional: Specify which active _Elements_ object fields display to users in the _Localize Pack Copy_ dialog. The order in which you add fields dictates the order of columns displayed from left to right in the dialog. If you do not specify any fields, the dialog includes the _Element_, _Element Text_, _Element Type_, and _Element Language_ fields by default.
      * In the **Grid Columns (Ordered)** field, enter the names of up to ten (10)  [supported][6] _Element_ object fields, separating multiple values with a comma. This field supports up to 255 characters.
      * If you previously specified which fields to display in the _Localize Pack Copy_ dialog using the **Grid Columns** field, we recommend clearing the field. Any values in this field are ignored when you populate the _Grid Columns (Ordered)_ field.
    3. Enter an **Action Label**.
3. Optional: [Define localization settings][10] to selectively create _Elements_. 

#### Supported Field Types {#supported-fields}

The following object field types are supported to display as _Grid Columns_:

* Component (for lifecycles and lifecycle states)
* Currency
* Date
* Long Text
* Lookup
* Number
* Object
* Picklist
* Text
* Yes/No

#### Defining Element Localization Settings {#localization-settings}

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: If you configured the <em>Localize Pack Copy</em> action prior to 23R3, localization settings may be defined in a <a href="#cas"><em>Claim Admin Setting</em></a>. If this is the case in your Vault, we recommend deleting the <em>Claim Admin Setting</em> and redefining the settings in an Element Localization Setting component as described in this section.</p>
    </div>
  </div>
</div>



You can define certain _Element Types_ for which the _Localize Pack Copy_ action will create only one (1) local _Element_ for each user-specified location per global _Element_. For all other unspecified types, Vault creates or associates a local _Element_ for every [language you've mapped][3] to each user-selected location. To do this:

1. Navigate to **Admin > Configuration > Element Localization Setting**.
2. Click **Create**.
3. Enter a unique **Name** for the setting you are creating.
4. Specify if the setting is **Active**. If you select **No**, Vault ignores the setting.
5. For **Element Types for Localization**, enter the names of one (1) or more values from the [_Element Type_ picklist](/en/lr/63393/#picklists) on the _Element_ object, with each value separated by a comma. Element types you select here are not included in the [_Translator View_ section of _Pack Copy_][0] records.
6. Click **Save**.

You must define all localization settings in a single Element Localization Setting component.

#### About DAC for Objects {#dac}

When users create a new _Pack Copy_ by running the _Localize Pack Copy_ action, Vault sets the _Vault Owner_ group as the owner of the new _Pack Copy_  and its generated child records. 

If you [configure DAC](/en/lr/33946/) on the _Pack Copy_ object, Vault assigns the current user as the owner of the generated _Pack Copy_. For Vault to assign the current user as the owner for the generated child records, you must configure DAC for the following objects: 

* _Packaging Level_
* _Panel_
* _Panel Element_
* _Element_
* _Local Adaptation_

### Defining Action Settings in a Claim Admin Setting {#cas}

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: We recommend defining the action settings for the <a href="#lpc-action-how">user action</a> rather than in a <em>Claim Admin Setting</em> as described in this section.</p>
    </div>
  </div>
</div>



To configure selective creation of local _Pack Copy_ using a _Localize Pack Copy_ type of _Claim Admin Setting_:

1. Navigate to **Business Admin > Objects > Claim Admin Settings**.
2. Click **Create**.
3. Select **Localize Pack Copy** as the **Setting Type**.
4. Optional: Enter **Instructional Text**. This displays for users in the _Localize Pack Copy_ dialog.
5. Enter the names (not the labels) of up to ten (10) [supported][6] _Element_ fields to display as **Grid Columns** in the _Localize Pack Copy_ dialog. Separate values with a comma. The order in which you add _Element_ fields dictates the order of columns from left to right in the dialog. 
6. Optional: Select one (1) or more **Element Types for Localization**.
7. Click **Save**.
8. [Assign](/en/lr/43127/#assign-actions) the _Localize Pack Copy_ action to the _Pack Copy_ object. Do not select _Assign to All Lifecycle States_. 
9. Configure the [user action](/en/lr/59885/#user-actions) on the appropriate lifecycle states of the _Pack Copy_ lifecycle.

If you define localization settings in a _Claim Admin Setting_ and also create an [Element Localization Setting][10], Vault ignores the _Claim Admin Setting_.

## Creating Country-Language Mappings {#cl-mappings}

You must create country-language mappings before users can run the _Localize Pack Copy_ action. The action will fail if users try to localize pack copy for unmapped locations. See [Defining Country-Language Mappings](/en/lr/76208/) for more details.

## Defining Translator Group Settings {#groups}

As a requirement for the Localize Pack Copy functionality, you must create an appropriate custom Translator group and define group settings. This allows you to provide access for the appropriate users to enter translated element text in the _Translator View_ of the _Pack Copy_ object record page.

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: If you configured Translator groups prior to 23R3, group settings may be defined in a <a href="#translator-admin-settings"><em>Claim Admin Setting</em></a>. If this is the case in your Vault, we recommend deleting the Claim Admin Setting and redefining the settings in a Translator Group Setting component described in this section.</p>
    </div>
  </div>
</div>



To configure Translator group settings:

1. Optional: Create an appropriately-named [_Security Profile_](/en/lr/23647/) for Translators.
2. Create an appropriately-named custom [_Group_](/en/lr/3200/) for Translators and include any required security profiles. You can create multiple groups, if applicable.
3. Add Translator users to the group.
4. Create the Translator Group Setting component:
    1. Navigate to **Admin > Configuration > Translator Group Setting**.
    2. Click **Create**.
    3. Enter a unique **Name** for the setting you are creating.
    4. Specify if the setting is **Active**. If you select **No**, Vault ignores the setting.
    5. In the **Translator Group Name** field, enter the name of the custom Translator Group you created.
    6. Click **Save**.

### Defining Translator Group Settings in a Claim Admin Setting {#translator-admin-settings}

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: We recommend defining settings in a <a href="#groups">Translator Group Setting component</a> rather than in a <em>Claim Admin Setting</em> as described in this section.</p>
    </div>
  </div>
</div>



To define translator group settings in a _Claim Admin Setting_  after creating the custom group:

1. Navigate to **Business Admin > Objects > Claim Admin Settings**.
2. Click **Create**.
3. Select **Translator Group Setting** as the **Setting Type**.
4. Enter the custom group name (not the label) in the **Translator Group Name** field.
5. Click **Save**.

## Configuring User Permissions {#user-perms}
You must ensure users have the appropriate read and create [permissions](/en/lr/22824/) to access the appropriate objects and object fields in addition to the permission outlined below:

### Localize Pack Copy

* _Read_ and _Create_ permission on the following objects, including _Read_ permission on any custom fields:
  * _Local Adaptation_
  * _Pack Copy_
  * _Packaging Level_
  * _Panel_
  * _Panel Element_
* For the _Element_ object: _Read_ and _Create_ permission, including _Create_ permission on all _Element_ object fields to use the _Check for Missing Localizations_ button and to see all columns in the _Localize Pack Copy_ dialog.
* For the _Localize Pack Copy_ object action on the _Pack Copy_ object: _Execute_ permission.

### All Elements

For the _All Elements_ section to be available for users to provide element text, users must have the following object-level permissions:

* _Read_ permission on the following objects:
  * _Element_
  * _Panel_
  * _Panel Element_
* For the _Element_ object: _Edit_ permission, including _Edit_ permission on the _Element Text_ field.

### Translator View

For the _Translator View_ section to be available for users to provide element text, users must be assigned to the [Translator group][4] and have the following object-level permissions:

* For the _Element_ object: _Edit_ permission, including _Edit_ permission on the _Element Text_ field.

## Related Permissions {#permissions}

You can complete all steps in this article with the standard _System Administrator_ or _Vault Owner_ security profile. If your Vault uses custom security profiles, your profile must grant the following [permissions](/en/lr/22824/):

<table>
  <tr>
    <th><strong>Type</strong></th>
    <th><strong>Permission</strong></th>
    <th><strong>Controls</strong></th>
  </tr>
  <tr>
    <td>Security Profile</td>
    <td>Admin: Configuration: Object Lifecycle: Edit</td>
    <td>Ability to modify object lifecycles.</td>
  </tr>
  <tr>
    <td>Security Profile</td>
    <td>Admin: Configuration: Objects: Create, Edit</td>
    <td>Ability to create and modify Vault objects and Element Localization Setting and Translator Group Setting components
</td>
  </tr>
  <tr>
    <td>Security Profile</td>
    <td>Admin: Security: Groups: Create, Edit, Assign Users</td>
    <td>Ability to create and modify groups and to assign users to groups.</td>
  </tr>
  <tr>
    <td>Security Profile</td>
    <td>Admin: Security: Permission Sets: Edit</td>
    <td>Ability to modify permission sets for users.</td>
  </tr>
  <tr>
    <td>Security Profile</td>
    <td>Application: API: Metadata API</td>
    <td>Ability to access the <em>Element Localization Setting</em> and <em>Translator Group Setting</em> pages.</td>
  </tr>
</table>

[1]: #cas
[2]: #lpc-action
[3]: #cl-mappings
[4]: #groups
[5]: #user-perms
[6]: #supported-fields
[7]: #ot
[8]: #pl
[9]: #lpc-action-how
[0]: #pl-pc
[10]: #localization-settings

