Multilingual Dexterity When Composing Teams Messages
Office 365 notification MC217362 of June 26 noted that language-aware spell checking would appear in the Teams Windows desktop client (but not for GCC tenants) with deployment to finish by the end of July. This change is documented as Microsoft 365 roadmap item 65446, which says “Users who write different messages in different languages will now see spellchecking relevant to the language they use when typing a message in the Microsoft Teams desktop app.” It’s another step forward to making Teams an app that works well in international settings.
Communicate Bilingually
The idea is simple: users often switch languages to better communicate with co-workers. Their PC is configured for a specific language and keyboard layout, which Teams uses to figure out the default language for spell checking. For instance, my PC is configured to use English, but sometimes I might need to chat with someone in French. Teams monitors text as it is entered, and if the client detects enough instances of a specific language, it prompts to allow the user to confirm that the switch should continue. As you can see, I’m asked “are you writing in French now” (Figure 1).
Figure 1: Teams concludes that it should switch to French for spell checking
Microsoft’s text is a little confusing about the prompt shown to users. MC217362 says “a user might see a compose notification UI letting them confirm/revert the switch.” The conditional tone of the statement means that it isn’t very clear as what will happen. Some experiments show that after Teams detects that a conversation is in a specific language, it switches spell check to that language and displays the prompt.
The Need for User Communication
Experience with the feature is mixed. Some report that users are confused (after all, it’s a change in client behavior) while some like the opportunity to have their text checked. Like most changes of this nature, it’s best to have some up-front communication with users to make sure that they’re not surprised.
Apart from the ability to turn spell checking on or off in Teams client settings, neither users nor administrators can control how automatic switching of spell check languages works.
Client-Side Spell Checking
Microsoft emphasizes that this is a client-side feature and that no data is transmitted back for server-side translation as is the case when Teams uses Microsoft Translator to translates chat and channel conversations when users read text. Because spell checking is done on the client, a dependency probably exists on some components that aren’t available on the Mac and Linux desktop clients, which is why these clients aren’t supported.
Some Improvement in Spell Checking Still Needed
Microsoft says that the change is “an improvement to existing spellchecking in Teams Desktop.” I guess that’s true, but Teams still lags when it comes to spell checking because it doesn’t allow users to add words to the custom Office dictionary. This means that any custom words learned in Word and the other Office apps show up as misspellings in Teams.
This is a small but irritating restriction that’s been around since Teams was introduced. At least, it is to those who care about proofing. I hear rumblings that improvements are coming, and it would be nice if Teams supported the Office custom dictionary and allowed new words to be added. We live in hope.
This is detail that probably won’t affect the success of an Office 365 deployment. But it’s nice to know, which is why we consider stuff like this as we put together the Office 365 for IT Pros eBook.
The information I’m missing here is: how safe is it to ignore the prompt? In your example, if you don’t click “Yes” to the question about typing in French, does it then keep spell checking in English, since you’ve not confirmed the change? Or does it spell check in French, since you’re not reverting its assumption?
My biggest problem with the prompt is that I’ve found it tends to reappear very often during a conversation, and when my hands are on the keyboard, not on the mouse, it’s a hassle to click it each time it wants information.
Is this language aware spell check a server side update or does it need an update of the Windows 10 Teams client? I’m waiting for this feature since a long time ago but I still don’t see it working at the 1.3.00.24755 (64 bits) version of that client. Thanks for the information about this topic.
[quote]Because spell checking is done on the client, a dependency probably exists on some components that aren’t available on the Mac and Linux desktop clients, which is why these clients aren’t supported.[/quote]
Somehow I’m baffled by reading this. Did you check that?
Linux (and I expect Mac as well) has had multiple client-side spell checkers for years, maybe even before Windows had one. One example is hunspell, which on my Linux distro has around 150 addon language packages.
It’s quite trivial to use hunspell, so it’s a matter of actually starting to use an existing spellchecker instead of -maybe?- trying to re-invent the wheel. Oh btw, Teams is written using Electron, right? There’s: https://www.npmjs.com/package/electron-hunspell. So..
However, could there be some license incompatibility issue at play here? It wouldn’t surprise me.
The dependency is no reflection on Linux. It’s more of a dependency on the components used by Teams on Windows. It seems like the devs haven’t selected an equivalent for Mac and Linux. No doubt this will happen over time.
I did it zillion times… Global IT from my company have also accessed my PC many times and no one is able to fix it. It seems that really is discontinued by Teams app…
This feature disappeared!!! not able to use it anymore, I handle teams in Brazil, Spain and US and now teams is not able to detect it anymore, do you know what happened?
As I mentioned before. At least I tried many times this resource you mentioned but no success at all… If I need a check spelling I need to change the check spell manually before sending the message… for me, no sense! mainly because this same resource is still running fine on Outlook…
{"id":null,"mode":"button","open_style":"in_modal","currency_code":"EUR","currency_symbol":"\u20ac","currency_type":"decimal","blank_flag_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":100,"top_media_type":"featured_image","featured_image_url":"https:\/\/office365itpros.com\/wp-content\/uploads\/2022\/11\/cover-141x200.jpg","featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Virtual Tip Jar","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Office 365 for IT Pros","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Office 365 for IT Pros","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for supporting the work of Office 365 for IT Pros!","payment_confirmation_title":"Office 365 for IT Pros","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}
The information I’m missing here is: how safe is it to ignore the prompt? In your example, if you don’t click “Yes” to the question about typing in French, does it then keep spell checking in English, since you’ve not confirmed the change? Or does it spell check in French, since you’re not reverting its assumption?
My biggest problem with the prompt is that I’ve found it tends to reappear very often during a conversation, and when my hands are on the keyboard, not on the mouse, it’s a hassle to click it each time it wants information.
You can safely ignore the prompt. I do!
Is this language aware spell check a server side update or does it need an update of the Windows 10 Teams client? I’m waiting for this feature since a long time ago but I still don’t see it working at the 1.3.00.24755 (64 bits) version of that client. Thanks for the information about this topic.
I believe it is a client-side feature. Maybe sign out and sign back in again. That sometimes fixes Teams issues.
How do I disable the prompt?
[quote]Because spell checking is done on the client, a dependency probably exists on some components that aren’t available on the Mac and Linux desktop clients, which is why these clients aren’t supported.[/quote]
Somehow I’m baffled by reading this. Did you check that?
Linux (and I expect Mac as well) has had multiple client-side spell checkers for years, maybe even before Windows had one. One example is hunspell, which on my Linux distro has around 150 addon language packages.
It’s quite trivial to use hunspell, so it’s a matter of actually starting to use an existing spellchecker instead of -maybe?- trying to re-invent the wheel. Oh btw, Teams is written using Electron, right? There’s: https://www.npmjs.com/package/electron-hunspell. So..
However, could there be some license incompatibility issue at play here? It wouldn’t surprise me.
The dependency is no reflection on Linux. It’s more of a dependency on the components used by Teams on Windows. It seems like the devs haven’t selected an equivalent for Mac and Linux. No doubt this will happen over time.
After last update on my Teams, this resource disappeared!!! Anyone knows if this resource was phased out or if it is an optional from now?
Sign out and sign back in again. That often fixes glitches in Teams clients.
I did it zillion times… Global IT from my company have also accessed my PC many times and no one is able to fix it. It seems that really is discontinued by Teams app…
I posted a bunch of messages to a channel conversation using the Teams browser client. After five messages in German, Teams asked me if I was writing in German… and switched. The feature is documented in https://support.microsoft.com/en-us/office/check-your-spelling-in-multiple-languages-0e269374-0cac-4a22-a377-53f01e05a6d4, so if it doesn’t work for you, report the issue to Microsoft and have the support team work the problem.
This feature disappeared!!! not able to use it anymore, I handle teams in Brazil, Spain and US and now teams is not able to detect it anymore, do you know what happened?
Nope, but signing out and back into Teams often cures issues with disappearing features…
As I mentioned before. At least I tried many times this resource you mentioned but no success at all… If I need a check spelling I need to change the check spell manually before sending the message… for me, no sense! mainly because this same resource is still running fine on Outlook…