Here is my dilemma:
On a site with multiple cultures, the client wants the back-end form to have a URL selector instead of a Page selector to be able to have a choice between internal and external links. The XML transformation code deciphers where it's external or internal by doing a query for NodeAliasPath, and if internal, uses some of the internal page properties to populate the web page.
With cultures on, if the page is internal it will add the culture name (e.g. en-us) to the beginning of the URL string and the query returns NULL. I can trim the culture from the URL and the do the query, but then the content returned will be that of the default culture and will not be translated.
Is there a way to translate the content back to the current culture after the query?
Example code:
{% if(!String.IsNullOrEmpty(CLP_Grid1)){ %} <!-- {% doc1 = Documents.WithAllData.Where("NodeAliasPath='" + CLP_Grid1.Substring(6) + "'")[0] %} --> <div class="landing-grid-img"> <img src="{% !String.IsNullOrEmpty(CLP_GridImageOverride1) ? CLP_GridImageOverride1 : doc1.General_Thumbnail %}" /> <span class="action--arrow">{% !String.IsNullOrEmpty(CLP_Title1) ? CLP_Title1 : doc1.DocumentName %}</span> <div class="overlay"> <div class="expand"> <p>{% !String.IsNullOrEmpty(CLP_Title1) ? CLP_Title1 : doc1.DocumentName %}</p> <div class="truncate desc">{% !String.IsNullOrEmpty(CLP_GridCaption1) ? CLP_GridCaption1 : doc1.General_Description %}</div> <a href="{% CLP_Grid1 %}">{% !String.IsNullOrEmpty(CLP_GridLinkText1) ? CLP_GridLinkText1.ToUpper() : "LEARN MORE" %}</a> <a class="close-overlay hidden">x</a> </div> </div> </div> {% } %}
I found my answer. I can use
doc1.CultureVersions[CurrentDocument.DocumentCulture].FieldName
to translate it to the current user's culture.
Please, sign in to be able to submit a new answer.