SharePoint の 自動ドキュメント翻訳機能 (Microsoft Syntex) を試す！！！

こんにちは、アーキテクトのやまぱんです。

補足コメントや質問、<font color="red">**いいね、拡散**</font>、是非お願いします🥺！
間違ってたら<font color="red">**優しく**</font>教えてください！

今回は SharePoint のドキュメント翻訳機能を試してみます。
最近社内の方に教えてもらって**実際に使ってみたところ、便利だった**ので是非皆さん(使える方)もよろしければ使ってみてください。
この機能は [Microsoft Syntex](https://learn.microsoft.com/ja-jp/microsoft-365/syntex/syntex-overview) の機能の一部です。

:::note info
Microsoft Syntex は、Microsoft 365 の一部として提供される、AI（人工知能）を活用した コンテンツ管理および自動化ソリューションです。企業が膨大なコンテンツやドキュメントを効率的に管理し、自動化されたプロセスで作業を簡素化するためのツールセットを提供します。
Microsoft Syntex は、SharePoint や Microsoft Teams、OneDrive など、Microsoft 365 の他のサービスと統合して使用できます。

>**2025 年 6 月まで、従量課金制を設定している場合は、限られた量のドキュメント翻訳やその他の選択された Syntex サービスを無償で試すことができます**。 詳細と制限事項については、「Microsoft Syntexを試してサービスを調べる」を参照してください。

> ドキュメント翻訳は、.csv、.docx、.htm、.html、.markdown、.md、.msg、.pdf、.pptx、.txt、.xlsx のファイルの種類で使用できます。 従来のファイルの種類 .doc、.rtf、.xls、.ods、.ppt、および .odp の場合、翻訳されたコピーは最新の同等の (.docx、.xlsx、または .pptx) で作成されます。 現時点では、SharePoint サイト ページはサポートされていません。
+ Microsoft Syntexでのドキュメント翻訳の概要
https://learn.microsoft.com/ja-jp/microsoft-365/syntex/translation-overview
:::

## 試す！!
ものは試しという事で早速試してみます❕❕

とりあえず適当な英語版の ppt を作りたいので、以下 の PowerShell スクリプトで作成します。

<details><summary>今回翻訳した 英語版 ppt を作成した PowerShell </summary>
<div>

```powershell
# PowerPointアプリケーションを起動
$PowerPoint = New-Object -ComObject PowerPoint.Application
$PowerPoint.Visible = $true  # PowerPointウィンドウを表示

# 新しいプレゼンテーションを作成
$Presentation = $PowerPoint.Presentations.Add()

# スライド1: タイトルスライド
$Slide1 = $Presentation.Slides.Add(1, 1) # 1 = タイトルスライド
$Slide1.Shapes.Title.TextFrame.TextRange.Text = "Introduction to Cybersecurity"
$Slide1.Shapes.Placeholders.Item(2).TextFrame.TextRange.Text = "Understanding the Basics of Digital Security`n[Your Name]`n[Date]"

# スライド2: アジェンダ
$Slide2 = $Presentation.Slides.Add(2, 2) # 2 = タイトルと内容
$Slide2.Shapes.Title.TextFrame.TextRange.Text = "Agenda"
$Slide2.Shapes.Placeholders.Item(2).TextFrame.TextRange.Text = "• What is Cybersecurity?" + "`n" + 
                                                                 "• Types of Cyber Threats" + "`n" + 
                                                                 "• Best Practices for Cybersecurity" + "`n" + 
                                                                 "• Cybersecurity Tools" + "`n" + 
                                                                 "• Future Trends in Cybersecurity"

# スライド3: What is Cybersecurity?
$Slide3 = $Presentation.Slides.Add(3, 2)
$Slide3.Shapes.Title.TextFrame.TextRange.Text = "What is Cybersecurity?"
$Slide3.Shapes.Placeholders.Item(2).TextFrame.TextRange.Text = "• Definition: The practice of protecting systems, networks, and data from digital attacks." + "`n" +
                                                                 "• Importance: Safeguards personal, organizational, and government data." + "`n" +
                                                                 "• Key Areas: Network security, application security, information security, operational security."

# スライド4: Types of Cyber Threats
$Slide4 = $Presentation.Slides.Add(4, 2)
$Slide4.Shapes.Title.TextFrame.TextRange.Text = "Types of Cyber Threats"
$Slide4.Shapes.Placeholders.Item(2).TextFrame.TextRange.Text = "• Malware: Software designed to disrupt, damage, or gain unauthorized access." + "`n" +
                                                                 "• Phishing: Tricking individuals into revealing sensitive information." + "`n" +
                                                                 "• Ransomware: Malicious software that locks files and demands ransom." + "`n" +
                                                                 "• Denial of Service (DoS): Overwhelms servers, disrupting normal traffic."

# スライド5: Best Practices for Cybersecurity
$Slide5 = $Presentation.Slides.Add(5, 2)
$Slide5.Shapes.Title.TextFrame.TextRange.Text = "Best Practices for Cybersecurity"
$Slide5.Shapes.Placeholders.Item(2).TextFrame.TextRange.Text = "• Use Strong Passwords: Combine letters, numbers, and symbols." + "`n" +
                                                                 "• Enable Multi-Factor Authentication: Adds extra layer of security." + "`n" +
                                                                 "• Keep Software Updated: Regular updates protect against vulnerabilities." + "`n" +
                                                                 "• Backup Data Regularly: Protects against ransomware and data loss." + "`n" +
                                                                 "• Be Aware of Phishing Scams: Avoid clicking on suspicious links."

# スライド6: Cybersecurity Tools
$Slide6 = $Presentation.Slides.Add(6, 2)
$Slide6.Shapes.Title.TextFrame.TextRange.Text = "Cybersecurity Tools"
$Slide6.Shapes.Placeholders.Item(2).TextFrame.TextRange.Text = "• Antivirus Software: Detects and removes malicious software." + "`n" +
                                                                 "• Firewalls: Monitors and controls network traffic." + "`n" +
                                                                 "• Encryption Tools: Protects data confidentiality." + "`n" +
                                                                 "• Intrusion Detection Systems (IDS): Detects suspicious network activity."

# スライド7: Future Trends in Cybersecurity
$Slide7 = $Presentation.Slides.Add(7, 2)
$Slide7.Shapes.Title.TextFrame.TextRange.Text = "Future Trends in Cybersecurity"
$Slide7.Shapes.Placeholders.Item(2).TextFrame.TextRange.Text = "• AI and Machine Learning: Detects threats and automates responses." + "`n" +
                                                                 "• Quantum Computing: Revolutionizes encryption and data protection." + "`n" +
                                                                 "• Cloud Security: Critical for securing cloud-based data." + "`n" +
                                                                 "• IoT Security: Protecting interconnected devices from vulnerabilities."

# スライド8: Conclusion
$Slide8 = $Presentation.Slides.Add(8, 2)
$Slide8.Shapes.Title.TextFrame.TextRange.Text = "Conclusion"
$Slide8.Shapes.Placeholders.Item(2).TextFrame.TextRange.Text = "• Cybersecurity is essential for protecting sensitive information." + "`n" +
                                                                 "• Following best practices helps mitigate cyber threats." + "`n" +
                                                                 "• Continuous learning and staying updated on threats is crucial."

# カレントディレクトリを取得
$currentDir = Get-Location

# 完成したプレゼンテーションをカレントディレクトリに保存
$Presentation.SaveAs("$($currentDir.Path)\Cybersecurity_Presentation.pptx")
$Presentation.Close()

# PowerPointアプリケーションを終了
$PowerPoint.Quit()

# COMオブジェクトのクリーンアップ
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($PowerPoint)
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($Presentation)
```
</div>
</details>

+ 元の 英語版 ppt
全部で 8 ページ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/6022ceca-a3cc-406c-484a-7d304f2d93fd.png)






## デモ動画
実際に上記の PowerShell スクリプトで作成した英語のドキュメントを実際に翻訳してた gif 動画です。
およそ**2分30秒程度**で完了しました

![demo_translation.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/4f92962a-87b9-498c-9071-4203df60ef6a.gif)

## デモ画像
+ 翻訳前
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/6e607262-eb38-7e77-f4a0-4275856a91d6.png)

+ 翻訳後
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/44dfdeb9-4397-e309-73cb-15deadd1142b.png)



## 参考
+ SharePointでドキュメントを翻訳する

https://www.microsoft.com/ja-jp/translator/business/sharepoint/?msockid=226727511ed66f3f28e632001fae6e31

> Microsoft SharePointは、Translation in Translationの使用により、ファイルの翻訳コピーを作成する機能をネイティブでサポートしています。 **マイクロソフト・シンテックス**を搭載している。 Azure AI Translator サービス。ファイルは、手動でオンデマンドに翻訳することも、ルールを使用して自動的に翻訳することもできます（ドキュメントが作成されたとき、列のデータが変更されたときなど）。この機能は、SharePointライセンスまたはSharePointオンラインサブスクリプションの一部として無償で提供されます。


+ Microsoft Syntexの概要

https://learn.microsoft.com/ja-jp/microsoft-365/syntex/syntex-overview

> Microsoft Syntexは、インテリジェントなドキュメント処理、コンテンツ人工知能 (AI)、高度な機械学習を使用して、SharePoint ライブラリ、Microsoft Teams、OneDrive for Business、Exchange 内のドキュメントを自動的かつ慎重に検索、整理、分類するコンテンツ理解、処理、コンプライアンス サービスです。

+ Microsoft Syntexでのドキュメント翻訳の概要

https://learn.microsoft.com/ja-jp/microsoft-365/syntex/translation-overview

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/11974389-ae2c-96ca-b1ef-4b87db20784b.png)

>2025 年 6 月まで、従量課金制を設定している場合は、限られた量のドキュメント翻訳やその他の選択された Syntex サービスを無償で試すことができます。 詳細と制限事項については、「Microsoft Syntexを試してサービスを調べる」を参照してください。

> ドキュメント翻訳は、.csv、.docx、.htm、.html、.markdown、.md、.msg、.pdf、.pptx、.txt、.xlsx のファイルの種類で使用できます。 従来のファイルの種類 .doc、.rtf、.xls、.ods、.ppt、および .odp の場合、翻訳されたコピーは最新の同等の (.docx、.xlsx、または .pptx) で作成されます。 現時点では、SharePoint サイト ページはサポートされていません。




+ SharePoint content processing updates - translation and simple prebuilt models #Microsoft SharePoint Blog

https://techcommunity.microsoft.com/blog/spblog/sharepoint-content-processing-updates---translation-and-simple-prebuilt-models/4275859


+ ドキュメント変換とは / Document Translator
 裏側では Azure の Document Translatorが使われてるみたいです。
試していないですが、ppt 以外にもここに記載されているファイルも翻訳できるのではないかなと思います。
> pdf, csv, html, htm, xlf, markdown, mdwn, mkdn, md, mkd, mdwn, mdtext, rmd, mhtml, mht, xls, xlsx, msg, ppt, pptx, doc, docx, odt, odp, ods, rtf, tsv, tab, txt


https://learn.microsoft.com/ja-jp/azure/ai-services/translator/document-translation/overview