i18n

RS writes that " i18n stands for that word with 'i' in front, 'n' at the end, and 18 letters in between - internationalization, adapting software to non-English language environments." Also, he provides an algorithmlet to produce such abbreviations:

proc n2n s {
    return [string index $s 0][string length [string range $s 1 end-1]][string index $s end]
}
% n2n internationalization
i18n
% n2n localization
l10n

AMG: I'd avoid generating the substring only to take its length:

proc n2n {s} {
    return [string index $s 0][expr {[string length $s] - 2}][string index $s end]
}