def translate_word(word):
    """Translates a single word to Pig Latin"""
    VOWELS = {'a', 'e', 'i', 'o', 'u'}

    # Handle punctuations
    if not word.isalpha():
        return word

    # Handle capitalized words
    if word[0].isupper():
        return translate_word(word.lower()).capitalize()

    # Case: word begins with a vowel
    if word[0].lower() in VOWELS:
        return word.lower() + 'yay'

    # Case: word begins with a consonant        
    else:
        for index, char in enumerate(word):
            if char.lower() in VOWELS:
                return word[index:].lower() + word[:index].lower() + 'ay'

    # Case: word contains no vowels
    return word + 'ay'