[SalesForce] How to retrieve translations using Metadata API

I'm trying to deploy the work that was done via Rename Tabs and Labels and Translation Workbench using Workbench and the Metadata API.

According to this answer, my package.xml should look like

<types>
    <members>*</members>
    <name>CustomObjectTranslation</name>
</types>

which is what I did.

However, when deploying this to my target org, I notice the work done in Translation Workbench has not been deployed. When I check out the files in the objectTranslations folder, I see they only contain this:

<?xml version="1.0" encoding="UTF-8"?>
<CustomObjectTranslation xmlns="http://soap.sforce.com/2006/04/metadata">
    <caseValues>
        <plural>false</plural>
        <value>Verkoopproces</value>
    </caseValues>
    <caseValues>
        <plural>true</plural>
        <value>Verkoopprocessen</value>
    </caseValues>
    <gender>Feminine</gender>
</CustomObjectTranslation>

which is basically what was done via Rename Tabs and Labels.

What am I missing? How do I also get my translated custom fields, picklist values etc. in there?

Best Answer

Include your objects in that package.xml and you will be golden. Here is what your package.xml should look like:

<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types>
        <members>Account</members>
        <members>AccountContactRole</members>
        <members>Activity</members>
        <members>Asset</members>
        <members>AssistantProgress</members>
        <members>Campaign</members>
        <members>CampaignMember</members>
        <members>Case</members>
        <members>CaseContactRole</members>
        <members>CaseMilestone</members>
        <members>Contact</members>
        <members>ContentVersion</members>
        <members>Contract</members>
        <members>ContractContactRole</members>
        <members>ContractLineItem</members>
        <members>DuplicateRecordItem</members>
        <members>DuplicateRecordSet</members>
        <members>Entitlement</members>
        <members>EntitlementContact</members>
        <members>Event</members>
        <members>FeedItem</members>
        <members>ForecastingAdjustment</members>
        <members>ForecastingCategoryMapping</members>
        <members>ForecastingOwnerAdjustment</members>
        <members>ForecastingQuota</members>
        <members>ForecastingTypeToCategory</members>
        <members>Idea</members>
        <members>Lead</members>
        <members>LiveAgentSession</members>
        <members>LiveChatTranscript</members>
        <members>LiveChatTranscriptEvent</members>
        <members>LiveChatTranscriptSkill</members>
        <members>LiveChatVisitor</members>
        <members>Macro</members>
        <members>MacroAction</members>
        <members>MacroInstruction</members>
        <members>Opportunity</members>
        <members>OpportunityCompetitor</members>
        <members>OpportunityContactRole</members>
        <members>OpportunityLineItem</members>
        <members>PartnerRole</members>
        <members>Pricebook2</members>
        <members>PricebookEntry</members>
        <members>Product2</members>
        <members>Question</members>
        <members>QuickText</members>
        <members>Quote</members>
        <members>QuoteLineItem</members>
        <members>Reply</members>
        <members>ServiceContract</members>
        <members>Site</members>
        <members>SocialPersona</members>
        <members>Solution</members>
        <members>StreamingChannel</members>
        <members>Task</members>
        <members>Territory2</members>
        <members>Territory2Model</members>
        <members>User</members>
        <members>UserProvisioningRequest</members>
        <members>UserTerritory2Association</members>
        <members>WorkBadge</members>
        <members>WorkBadgeDefinition</members>
        <members>WorkThanks</members>
        <members>*</members>
        <name>CustomObject</name>
    </types>
    <types>
        <members>*</members>
        <name>CustomObjectTranslation</name>
    </types>
    <version>36.0</version>
</Package>

You may not need all the standard objects that I have listed here but this is what I have found works best.