You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: powerapps-docs/developer/common-data-service/entity-attribute-metadata.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -62,7 +62,7 @@ These are the localizable values that are used to refer to the attributes in an
62
62
The `AttributeTypeName` property describes the type of an attribute. This property contains a value of type `AttributeTypeDisplayName` which provides a label for each the different types of attributes that exist.
63
63
64
64
> [!NOTE]
65
-
> Don't be confused by the `AttributeType` property. The values in this older property are mostly aligned with `AttributeTypeName` except that it shows `ImageType` attributes as `Virtual`. You should refer to the `AttributeTypeName` property rather than the `AttributeType` property.
65
+
> Don't be confused by the [AttributeType](/dotnet/api/microsoft.xrm.sdk.metadata.attributemetadata.attributetype#Microsoft_Xrm_Sdk_Metadata_AttributeMetadata_AttributeType) property. The values in this older property are mostly aligned with [AttributeTypeName](/dotnet/api/microsoft.xrm.sdk.metadata.attributemetadata.attributetypename#Microsoft_Xrm_Sdk_Metadata_AttributeMetadata_AttributeTypeName) except that it shows `ImageAttributeMetadata` and `MultiSelectPicklistAttributeMetadata`as `Virtual`. Refer to the `AttributeTypeName` property rather than the `AttributeType` property.
Copy file name to clipboardExpand all lines: powerapps-docs/maker/common-data-service/export-customized-entity-field-text-translation.md
+18-3Lines changed: 18 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: "Export customized entity and field text for translation with Power Apps | MicrosoftDocs"
3
3
description: "Learn how to export entity and field text for translation"
4
4
ms.custom: ""
5
-
ms.date: 06/15/2020
5
+
ms.date: 08/05/2020
6
6
ms.reviewer: ""
7
7
ms.service: powerapps
8
8
ms.suite: ""
@@ -23,16 +23,31 @@ search.app:
23
23
- PowerApps
24
24
- D365CE
25
25
---
26
-
# Translate customized entity and field text into other languages
26
+
# Translate customized entity, form, and field text into other languages
27
27
After you create customized entity and field text in your unmanaged solution, you may want to translate it into other languages.
28
+
29
+
> [!IMPORTANT]
30
+
> When you export translations, the export translations feature exports translations for the entity. So, that means even if the solution contains only a single form, labels for all the forms for the entity will be exported. Make sure you only modify the form's labels when importing the translations back otherwise another component translation you modify will be added as a dependency to the solution.
28
31
29
32
1. Sign into [Power Apps](https://make.powerapps.com/?utm_source=padocs&utm_medium=linkinadoc&utm_campaign=referralsfromdoc) and select **Solutions** from the left navigation.
30
33
31
34
2. Select the unmanaged solution you want, on the command bar select **…**, select **Translations**, and then select **Export translations**.
32
35
33
36
3. After the export completes the exported translations compressed (zip) file is downloaded to your browser’s default download folder and contains the exported labels.
34
37
35
-
4. Extract the XML file from the compressed (.zip) file and translate it.
38
+
4. Extract the XML file from the compressed (.zip) file.
39
+
40
+
5. Open the CrmTranslations.xml file in Excel.
41
+
42
+
6. Select the sheet named **Localized Labels**.
43
+
44
+
7. Notice there is already a column with the base language code id, such as 1033 (English U.S.) Add a column with the language code id for every language you want to translate labels. For example, add a column for 1034 (Spanish traditional).
45
+
46
+
8. Add the translated text in the new column for the object names and object ids that you want.
47
+
> [!div class="mx-imgBorder"]
48
+
> 
49
+
50
+
9. When you're finished adding your translations, save, and zip up the package so you can [Import translated entity and field text](import-translated-entity-field-text.md).
Copy file name to clipboardExpand all lines: powerapps-docs/maker/common-data-service/import-translated-entity-field-text.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ search.app:
23
23
- PowerApps
24
24
- D365CE
25
25
---
26
-
# Import translated entity and field text back into an app
26
+
# Import translated entity, form, and field text back into an app
27
27
28
28
If you have customized entity or field text, such as field labels or drop-down list values, you can provide the users in your organization who are not working with the base language version of your environment with this customized text in their own languages. To do so, you export the text strings for all your customizations so that they can be translated into the languages you use in your organization.
Copy file name to clipboardExpand all lines: powerapps-docs/maker/common-data-service/import-update-export-solutions.md
+20-3Lines changed: 20 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: "Import solutions | MicrosoftDocs"
3
3
description: "Learn how to import a solution in Power Apps"
4
4
ms.custom: ""
5
-
ms.date: 05/26/2020
5
+
ms.date: 08/06/2020
6
6
ms.reviewer: ""
7
7
ms.service: powerapps
8
8
ms.topic: "article"
@@ -54,11 +54,28 @@ To import a solution:
54
54
When you download the log file, you will find an XML file that you can open using Office Excel to view the contents.
55
55
56
56
> [!NOTE]
57
-
> You can’t edit an active routing rule set. Therefore, if you’re importing a solution that includes an active routing rule set into an environment where the rule already exists with the same ID, the import will fail. More information: [Create rules to automatically route cases](https://docs.microsoft.com/dynamics365/customer-engagement/customer-service/create-rules-automatically-route-cases)
57
+
> You can’t edit an active routing rule set. Therefore, if you’re importing a solution that includes an active routing rule set into an environment where the rule already exists with the same ID, the import will fail. More information: [Create rules to automatically route cases](https://docs.microsoft.com/dynamics365/customer-engagement/customer-service/create-rules-automatically-route-cases)
58
58
59
-
<aname="BKMK_UpdateSolutions"></a>
59
+
## Troubleshooting solution import
60
+
61
+
### There's an active unmanaged layer created after importing a managed solution
62
+
63
+
During solution import the system must ensure that there is a fallback form for an entity. This requirement is enforced on the customization settings when you create entities or forms. But, if for some reason, an import is causing a scenario where there's no fallback form for an entity, then the import will create an active unmanaged layer for one of the main forms and the unmanaged customization will configure the form as the fallback. This makes sure that users who don't have access to any of the forms for an entity can view the fallback form. More information: [Set the fallback form for an entity](../model-driven-apps/control-access-forms.md#set-the-fallback-form-for-an-entity)
64
+
65
+
### Form doesn't appear in target environment after importing unmanaged solution
66
+
67
+
During export of unmanaged solutions some forms which are not modified get exported with the attribute `unmodified=1` for the form XML in the customizations.xml file located in the solution package. This ensures that, while these forms are part of the solution exported, when the same solution is imported in a new environment these forms are skipped during the import. To avoid this scenario the form needs to have active customizations for it to be exported without the unmodified=1 attribute. You can determine whether the form XML has the unmodified=1 attribute by extracting the exported solution. Then, search customizations.xml for the form and check for the unmodified attribute.
68
+
69
+
### *Microsoft.Crm.CrmInvalidOperationException: full formXml is expected to create a form <formid>* message during solution import
70
+
71
+
This error can occur when the form you are importing doesn't exist in the target environment and the form that you're trying to import doesn't have the full component and metadata. Subsequently, the form XML only contains the changes when the full form XML is required. For example, this error can occur when you add a custom entity to a solution and don't select the **Include all components** option before export (also known as a segmented solution). To verify if the solution is segmented, open the customizations.xml file in the solution and search for the form id displayed in the error message. If the form XML contains an attribute named `solutionaction` the form XML doesn't include all components but only has changes to the form. To resolve this issue, include all components when you add the entity to your solution. More information: [Use segmented solutions](/power-platform/alm/segmented-solutions-alm)
72
+
73
+
### *Microsoft.Crm.CrmException: You cannot delete this form because it is the only fallback form of type main for the 'Entity' entity. Each entity must have at least one fallback form for each form type* message during solution upgrade or uninstall
74
+
75
+
The underlying cause of this error is due to trying to delete the last remaining form for an entity during a solution upgrade or uninstall. This behavior is by design. Each entity must be able to display a form for any user, at least one form must be designated as a fallback form. A fallback form is visible to users whose security roles do not have any forms explicitly assigned to them. The solution uninstall or upgrade may be causing the removal of the fallback form. To workaround this issue, create a temporary form configured as the fallback form for the entity, and then try the upgrade or uninstall again. More information: [Set the fallback form for an entity](../model-driven-apps/control-access-forms.md#set-the-fallback-form-for-an-entity)
Copy file name to clipboardExpand all lines: powerapps-docs/maker/common-data-service/solution-layers.md
+27-4Lines changed: 27 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: "Solution layers | MicrosoftDocs"
3
3
description: "Learn how you can use solution layers"
4
4
keywords:
5
-
ms.date: 03/13/2020
5
+
ms.date: 08/05/2020
6
6
ms.service: powerapps
7
7
ms.custom:
8
8
ms.topic: article
@@ -36,14 +36,14 @@ When you prepare your managed solution for distribution, remember that an enviro
36
36
The processes that Common Data Service uses to merge customizations emphasize maintaining the functionality of the solution. While every effort is made to preserve the presentation, some incompatibilities between customizations may require that the computed resolution will change some presentation details in favor of maintaining the customization functionality. More information: [Understand how managed solutions are merged](../../developer/common-data-service/understand-managed-solutions-merged.md)
37
37
38
38
## View the solution layers for a component
39
-
The solution layers feature allows you to view all component changes that occur due to solution changes over time. Within a solution layer, you can drill down to view specific changed and unchanged property details for a component. You can access solution layers from the **Components**list or from the **Dependency Details** dialog box in solution explorer.
39
+
The see solution layers feature allows you to view all component changes that occur due to solution changes over time. Within a solution layer, you can drill down to view specific changed and unchanged property details for a component. You can access solution layers from the **Solutions**area in Power Apps.
40
40
41
-
The solution layers feature:
41
+
The see solution layers feature:
42
42
- Lets you see the order in which a solution changed a component.
43
43
- Lets you view all properties of a component within a specific solution, including the changes to the component.
44
44
- Can be used to troubleshoot dependency or solution-layering issues by displaying change details for a component that was introduced by a solution change.
45
45
46
-
1.To view solution layers from the**Components** list, open [solution explorer](../model-driven-apps/advanced-navigation.md#solution-explorer). In the **Components**list, select a component, such as **Account**, and then select **Solution Layers** on the toolbar.
46
+
1.Sign in to Power Apps, select**Solutions**, open the solution you want, select **...**next to a component, such as **Account**, and then select **See solution layers**.
There are additional tabs available for specific component solution layers.
72
+
73
+
|Tab name |Description |Possible value |
74
+
|---------|---------|---------|
75
+
|RolePrivileges | Displays the privileges for a security role. | Added, Updated, Removed, Unchanged |
76
+
|AttributePicklistValues (optionset) | When selected for a global optionset, displays the possible values for an optionset. | Added, Updated, Removed, Unchanged |
77
+
|AttributePicklistValues (optionset attribute) | When selected for an optionset attribute, displays the values for the attribute. | Added, Updated, Removed, Unchanged |
78
+
79
+
<!--## Remove an unmanaged layer
80
+
Unmanaged customizations reside at the top layer for a component and subsequently define the runtime behavior of the component. In most situations you don't want unmanaged customizations determining the behavior of your components. To remove the unmanaged layer for a component, follow these steps:
81
+
82
+
[!IMPORTANT]
83
+
> Removing active unmanaged customizations can't be reversed or undone. All data associated with the unmanaged customization may be lost.
84
+
85
+
1. Open the solution you want, select **...** next to a component, such as **Account**, and then select **See solution layers**.
86
+
2. If an unmanaged layer is detected, a message appears indicating the layer. On the left **Properties** pane, select **Remove unmanaged layer**.
title: "Translate label text for customized entities | MicrosoftDocs"
3
+
description: "Overview of label text translation for custom entities"
4
+
ms.custom: ""
5
+
ms.date: 08/05/2020
6
+
ms.reviewer: ""
7
+
ms.service: powerapps
8
+
ms.suite: ""
9
+
ms.tgt_pltfrm: ""
10
+
ms.topic: "article"
11
+
applies_to:
12
+
- "Dynamics 365 (online)"
13
+
- "Dynamics 365 Version 9.x"
14
+
- "powerapps"
15
+
author: "Mattp123"
16
+
ms.assetid: 7e269d09-4453-490a-b50c-f0795ff6f348
17
+
caps.latest.revision: 34
18
+
ms.author: "matp"
19
+
manager: "kvivek"
20
+
search.audienceType:
21
+
- maker
22
+
search.app:
23
+
- PowerApps
24
+
- D365CE
25
+
---
26
+
# Translate label text
27
+
28
+
The standard entities include default text for labels that are available in many different languages. However, when you customize a form, such as adding or changing fields, or create custom entities, you may need the labels for those components to appear in different languages. You can import translated label text for customized entities for your apps so that the label text displays in languages other than the base language.
29
+
30
+
When you translate label text for a form, you are modifying the base language of the form as part of a form customization. When you do this, you create active unmanaged changes to the labels. Subsequently, if you don’t modify the base language translation for a component, such as a field, and then export the translation file, the field's object id won't be exported. This is because the export doesn't see any modifications done to the base language label of that field.
31
+
32
+
## High-level process
33
+
34
+
1. Export the translations from the solution that contains the entities that you want to translate label text. Then, open the translations XML file and add the translated text. More information: [Translate customized entity and field text into other languages](export-customized-entity-field-text-translation.md)
35
+
2. Import the translations. More information: [Import translated entity and field text back into an app](import-translated-entity-field-text.md)
36
+
37
+
38
+
## Common issues with translating form label text
39
+
40
+
<!-- THIS SHOULD GO IN ANOTHER TOPIC ### Active customizations prevent customizations from appearing
41
+
42
+
Active customizations can prevent customizations from appearing at runtime. For example, managed solution changes don't appear at runtime or some components are missing. This behavior can occur if there is an active unmanaged layer for the component. You can resolve this by removing the component's unmanaged layer. More information: [Remove the unmanaged layer](solution-layers.md#remove-the-unmanaged-layer) -->
43
+
44
+
### Form label translations don't appear in the layers
45
+
46
+
Imported translations may not appear when you view the solution layers for a component. Make sure the translations are on the <Label> level when you view the solution layer. Note that “displayname” tags are at the attribute level, so they will not translate labels. The “DisplayName” tags are actually for form labels and will translate form’s labels. For more information about viewing solution layers, see [Solution layers](solution-layers.md).
47
+
48
+
### Form label translations don't appear specifically for the base language
49
+
50
+
The translation export and import feature is a tool for used so your apps can display translated label text for customized components. It isn't designed to be used in managing all labels including the base language.
51
+
52
+
On translation export, if no changes were made to the base language label, no translations will be exported in CrmTranslations.xml.
53
+
54
+
On translation import, if translations for any label in the base language column were changed in CrmTranslations.xml, the changes won't take effect.
55
+
56
+
If the issue is base language specific, do the following:
57
+
1. Change the translations for the base language using the form designer for each label that was changed.
58
+
2. Use translation export and import to add translations for other provisioned languages.
59
+
3. Export the active unmanaged solution as managed.
60
+
4. Import this solution into the target environment.
61
+
62
+
### Form Label translation descriptions appear when exporting as unmanaged, but are "" when exporting as managed
63
+
This can happen because the label has no translations. The following behavior occurs:
64
+
- The unmanaged solution is filled with the display name: <label description="example" languagecode="1033">
65
+
- The managed solution is empty, which is seen as non-existent and falls back to the display name: <label description="" languagecode="1033">
66
+
67
+
### See also
68
+
[Translate customized entity and field text into other languages](export-customized-entity-field-text-translation.md) <br />
69
+
[Import translated entity and field text back into an app](import-translated-entity-field-text.md)
0 commit comments