private/ConvertTo-SfPicklistValueTranslationXml.ps1

function ConvertTo-SfPicklistValueTranslationXml {

    [CmdletBinding()]
    param (
        [Parameter(Mandatory, Position=0)]
        [pscustomobject] $PicklistValue,

        [Parameter(Mandatory, Position=1)]
        [string] $LanguageCode
    )

    $ErrorActionPreference = 'Stop'
    [bool] $IsDebug   = $DebugPreference   -ne 'SilentlyContinue'
    [bool] $IsVerbose = $VerbosePreference -ne 'SilentlyContinue'

    $TranslationColumnName = "_Label-$LanguageCode"

    $xml = '<valueTranslation>'
    $xml += ConvertTo-XmlTag 'masterLabel' $PicklistValue._Label

    $TranslationTag = "<translation><!-- $(ConvertTo-EncodedString $PicklistValue._Label 'Xml') --></translation>"
    if (Test-Property $PicklistValue $TranslationColumnName) {
        if ($null -ne $PicklistValue.$TranslationColumnName) {
            if ('' -ne $PicklistValue.$TranslationColumnName) {
                $TranslationTag = ConvertTo-XmlTag 'translation' $PicklistValue.$TranslationColumnName -ForceEmptyTag
            }
        }
    }

    $xml += $TranslationTag
    $xml += '</valueTranslation>'

    return $xml
}