Record Type Name not being translated

Hello -

Having a problem with the translations for Record Type Names.  There are several situations detailed below.

1) View Mode - When displaying an existing record’s RecordType.Name field, the value displayed is not the translated value that corresponds to the language setting.

Steps to Repro
a) Create a custom object with record types
b) Translate the record type via translation workbench
c)  Create skuid page on custom object and include the record type name in the field editor
d) Preview the page

Actual Result
The Record Type Name is in english (default)

Expected Result
The Record Type name should be translated based on current language

Sample Page
RecordTypeTranslationViewRepro

2) New Mode - When creating a new record, the initial value for the record type name displayed is translated, however autocomplete searches always searches on and pulls back english and not the translated value.  The same effect can be seen when the field is set to picklist instead of autocomplete (picklist values are in English).

Steps to Repro
a) Create a custom object with record types
b) Translate the record type via translation workbench
c) Create skuid page on custom object for “New” and include record type in the field editor
d) Preview the page

Actual Result
On initial display, the record type name is translated.  However, the model data contains the english (even though the UI shows the translated value).  Searches operate/display on the english, not the translated value

Expected Result
The Name field should be translated in display and searches should use the translated value.

Notes
a) SamplePage = RecordTypeTranslationNewRepro
b) If the Record Type Id field in the editor is set to a picklist, the page flashes with the correct translated values but then the picklist values are updated with the english.  Initially, it appears to have the correct info but then it’s overwritten.  Inside of prototype.createRow, the values appear to be set correctly (note that only Name field is passed to UpdateRow and likely needs to include DeveloperName to support conditional rendering - See #3 below). On the models.loaded event is where the english comes back in to play.  It appears that a “temporary” model is being built and then used for the picklist and this ends up changing everything back to english since the soql pulls back field defaults (english).  The SOQL used to retrieve the temporary model data does not use toLabel(Name) which I believe is required to ensure translated values are pulled back.


3) Conditional Rendering - The resulting value on the CustomObject__c.RecordType.DeveloperName field is not being set on initial page load when there is a matching condition on CustomObject__c.RecordType.DeveloperName.  This results in conditional rendering rules all evaluating to false.  Once a value is selected by the user in the record type field, the DeveloperName is returned in the search results and conditional rendering rules work as expected.  As noted above in, it appears that the Name field is forced on initial load but not the DeveloperName field.  Since conditional rendering rules must be written against DeveloperName (Name is translated and Id doesn’t support deployments to multiple orgs), I think ensuring DeveloperName is always included during this process should resolve the issue.

Steps to Repro
a) Create Custom object with record types
b) Translate the record type via translation workbench
c) Create skuid page on custom object for “New” and include record type in field editor
d) Add condition to model for RecordType.DeveloperName where equal to url parameter value
e) Add another field to field editor and write conditional rendering rule based on RecordType.DeveloperName

Actual Result
Field never renders (evaluation = false) because DeveloperName is not in CustomObject__c.RecordType object.

Expected Result
Field should display/hide based on selected record type

Notes
a) Sample Page = RecordTypeTranslationNewRepro
b) I’ve tried forcing DeveloperName via a model condition on RecordType.DeveloperName and via code (see Resource updateRecordTypeRef) but neither approach seems to work.  When both model conditions and javascript are “enabled”, updating the model in javascript doesn’t force a render of the fields in the field editor - likely because the RecordTypeId field itself isn’t changing.  The only way to currently get desired behavior is remove model conditions and establish value in javascript.  Doing this requires taking data from different places in order to get the correct results because of translation issues.  See comments in javascript on the same page.

4) Record Type Model is not translated - A Name field value of a model defined against RecordType SObject always contains the default (English) values.

Steps to Reproduce:
a) Create Custom Object with record types
b) Translate the record type via translation workbench
c) Create skuid page on custom object for “tab” including Name field

Actual Result
Field values are always in english (default)

Expected Result
Field values should be translated based on language setting

Notes
Sample Page = RecordTypeNameTranslationRepro

I’ve granted login access to my org that contains the test page with all the translations already complete.  I’ll email OrgId to support.

Using Skuid 6.8.17.

Thank you!

Hello - Any updates/insight on this one?  Thanks!

I am having the same issue. It is a mission-critical problem for us. The record types have been translated using translation workbench and are showing as translated in classic Salesforce.

Barry & Michael~

I am able to reproduce the problem with the record type name not being translated in Skuid pages. I am bringing this bug to the devs to work into a future release. We will update this post when a fix is available.

Thank you for helping Skuid to be a better product!
Karen