多言語SMS
顧客が希望する言語でメッセージを送信できれば、顧客のエンゲージメントを高め、信頼関係を深めることができます。複数の言語が存在する地域をまたがって事業を展開する場合、多言語SMS を活用することで、一貫性のあるコミュニケーションを実現できます。規制の厳しい市場では、現地語によるコミュニケーションが法律で義務付けられている場合があります。NTT CPaaS SMSは、幅広いエンコーディングに対応しており、多様な言語圏や地域へメッセージを確実に配信できるように設計されています。
技術的な考慮事項 [#technical-considerations]
複数の言語でSMSを送信する際には、技術的な考慮事項が伴います:
- 文字セット: 言語が異なれば、必要な文字も異なります。GSM 7ビットアルファベットは基本的なラテン文字を網羅していますが、多くの言語ではUnicodeエンコーディングが必要となります。
- エンコーディング: Unicode (UCS-2) を使用すると、1メッセージあたりの最大文字数が(160文字から70文字に)減少するため、文字列の連結が必要になり、コストが増加する可能性があります。
- Unicodeの互換性: 一部の通信事業者や端末では、すべてのUnicode文字範囲に対応していない場合があり、これによりメッセージの配信に影響が出たり、文字が置き換えられたりすることがあります。
SMSでの文字エンコーディング [#character-encoding]
SMSメッセージは、使用される言語や文字に応じて、様々な文字エンコーディングで送信できます。選択するエンコーディングによって、メッセージの長さ、連結、配信やコストに影響が出ます。
使用可能な言語と対応地域 [#supported-languages-and-regions-character-encoding]
次の表は、各エンコーディングが通常どの言語や地域に対応しているかを示しています。
| エンコーディング | 使用可能な言語 | 代表的な地域 |
|---|---|---|
| GSM 7ビットアルファベット | 英語、ドイツ語、イタリア語、スペイン語(アクセントなし)、ポルトガル語、およびその他の西ヨーロッパ諸語 | ヨーロッパ、北米、ラテンアメリカ |
| Unicode (UCS-2) | アラビア語、キリル文字(ロシア語、セルビア語など)、ギリシャ語、中国語、日本語、韓国語、ヒンディー語、およびアクセント記号付きのラテン文字 | 中東、東ヨーロッパ、アジア、アフリカ |
メッセージに7ビットアルファベットのみが含まれる場合は、文字数を最大化し、コストを最小限に抑えるためにGSMエンコーディングを使用してください。アラビア語、キリル文字、アジア系文字など、GSMの範囲外の文字が必要な場合は、Unicodeを使用してください。常に対象言語でメッセージをテストし、あらゆるデバイスで正しいエンコーディング、配信、表示が行われることを確認するようにしてください。
GSM 7ビットアルファベット [#gsm-7bit-character-encoding]
GSM 7ビットアルファベットは、SMSのデフォルトのエンコーディングです。
使用可能な文字: 基本ラテン文字(A-Z、a-z)、数字、および一般的な記号。拡張文字(^、{、}、€、[ ] など)には、メッセージの長さを短縮するエスケープ処理が適用されます。
代表的な言語: 英語、スペイン語(アクセント記号なし)、ドイツ語、イタリア語、および多くの西ヨーロッパ諸語。
メッセージの長さ: パーツ(分割単位)が1つだけのSMSの場合、一通あたり最大160文字まで送信できます。拡張文字が含まれる場合、160文字未満になることがあります。
基本文字:
拡張文字 (エスケープシーケンスが必要、メッセージの長さを短縮):
連結されたGSMメッセージ [#concatenated-gsm-character-encoding]
メッセージが160文字を超える場合は、複数のパーツに分割されます(連結)。受信側の端末でメッセージを再構成する際に必要なヘッダー用に追加のバイトが確保されるため、各パーツには最大153文字までを含めることができます。
Unicode (UCS-2) [#unicode-character-encoding]
メッセージにGSM 7ビットアルファベット以外の文字が含まれる場合、Unicodeエンコーディングが使用されます。
| 機能 | 説明 |
|---|---|
| 使用可能な文字 | アラビア語、キリル文字、中国語、ヒンディー語、ギリシャ語、アクセント付きラテン文字など、世界中のほぼすべての文字体系 |
| 使用時の処理 | メッセージにGSM 7ビットでサポートされていない文字が含まれている場合に自動的に適用 |
| メッセージの長さ | パーツ(分割単位)が1つだけのSMSの場合、一通あたり最大70文字 |
連結されたUnicodeメッセージ [#concatenated-unicode-character-encoding]
Unicodeメッセージの長さが70文字を超える場合、そのメッセージは複数のパーツに分割されます。連結ヘッダーがあるため、各パーツの最大文字数は67文字が上限となります。
配信とコストへの影響 [#delivery-cost-character-encoding]
選択するエンコーディングによって、メッセージの長さ、配信やコストに次のような影響が出ます。
| 機能 | 説明 |
|---|---|
| メッセージの長さ | Unicodeメッセージは、GSMメッセージに比べて、パーツ(分割単位)あたりの文字数が少なくなります。そのため、送信されるパートの数が増えることがよくあります。 |
| 配信 | GSMメッセージとUnicodeメッセージはいずれも世界で広くサポートされていますが、一部の通信事業者や端末では、Unicodeの全文字範囲に対応していない場合があり、その結果、メッセージの配信に影響が出たり、文字が置き換えられたりすることがあります。 |
| コスト | SMSはパーツ(分割単位)ごとに個別に課金されます。Unicodeで送信すると、必要なパーツ数が増えるため、総コストが膨らんでしまうことがよくあります。 |
メッセージをテストして、GSMエンコーディングとUnicodeエンコーディングのどちらが使用されているかを確認するようにします。コストを抑えたい場合は、可能な限り、Unicodeをトリガーする特殊文字の使用を避けてください。GSMエンコーディングを維持しつつ、非ラテン文字をサポートするには、翻字をご活用ください。
エンコーディングへの影響の軽減 [#reducing-encoding-impact]
メッセージにGSM-7でサポートされていない文字が1つでも含まれている場合、メッセージ全体がUnicodeでエンコーディングされるため、最大文字数は70文字に制限されます。この1つのGSM非対応文字によって、メッセージ全体がUnicodeエンコーディングで処理されることになります。
エンコーディングへの影響を軽減し、標準的なメッセージ長を維持する方法として、NTT CPaaSでは以下の2つの対応策が利用可能です:
国別言語識別子 [#national-language-identifier-reducing-encoding-impact]
国別言語識別子 (NLI) は、は、SMSメッセージのコンテンツの言語を識別できるようにするGSM規格内のエンコーディング技術です。これにより、メッセージに言語固有の文字が含まれており、それらを完全なUnicodeに変換することなく、元のテキストのまま配信する必要があることが示されます。
NLI形式でエンコーディングされたメッセージには、最大155文字 まで含めることができます(そのうち5文字は、選択された言語やSMSの表示方法を受信側の端末に通知するためのメタデータとして予約されています)。
使用可能な言語:
- トルコ語 (TR)
- ポルトガル語 (PT)
- スペイン語 (ES)
- AUTODETECT:メッセージの内容から言語を自動的に検出します。検出対象はトルコ語、ポルトガル語、スペイン語に限定されます。使用可能な言語が検出されない場合、メッセージは標準エンコーディングで処理されます。
使用可能なトルコ語の文字:
使用可能なポルトガル語の文字:
使用可能なスペイン語の文字:
NLIの構成は、APIまたはWebインターフェースから行うことができます。APIを使用する場合は、SMSリクエストにlanguageCodeパラメーターを含めます。Webインターフェースを使用する場合は、適切なNLI文字セット(トルコ語NLI、ポルトガル語NLIまたは スペイン語NLI)を選択します。APIの詳細については、 SMSメッセージの送信について詳述しているドキュメントをご参照ください。
重要な注意事項:
- 一部の通信事業者では、言語機能がサポートされていない場合があります。この機能は、すべての送信先で正常に動作するとは限りません。例えば、中国のプロバイダーを経由して送信されたトルコ語のメッセージは、受信者の端末では正しく表示されない場合があります。
- 非標準文字を使用すると、メッセージがUnicodeでエンコーディングされ、使用可能な文字数が制限される場合があります。
- メッセージのエンコーディングを確認するために、必ずメッセージのテストを事前に行うようにしてください。
トルコ語、ポルトガル語またはスペイン語に固有の文字が含まれるメッセージを送信する際、文字数が70文字を超える場合は、NLIをお使いください。
SMSの翻字 [#sms-transliteration-reducing-encoding-impact]
SMSの翻字 とは、現地文字で書かれたテキストを、同じメッセージのラテン文字版に変換することです。翻字を行うと、特殊な(未対応の)文字は、GSM-7と互換性のある類似の文字に置き換えられ、70文字という制限ではなく、最大160文字まで使用できるようになります。
翻字を行うと、メッセージの見た目が変わる可能性があります。送信する前に、メッセージをプレビューしてすべての表示オプションを確認するようにしてください。
使用可能な言語:
- トルコ語
- ギリシャ語
- キリル文字
- セルビア語キリル文字
- ブルガリア語キリル文字
- 中央ヨーロッパ諸語
- ポルトガル語
- コロンビア語
- バルト語
- NON_UNICODE
希望する出力アルファベットを指定すると、未対応の文字は、選択した言語に最も適した文字に応じて異なる方法で変換されます。選択した言語で認識されず、GSMアルファベットにも含まれていない文字は、すべてドット(.)に置き換えられます。
翻字に使用可能なギリシャ語の文字:
翻字に使用可能キリル文字:
トルコ語の翻字文字マッピング:
| 元の文字 | 翻字した文字 |
|---|---|
| Ö ö | O o |
| Ç ç | C c |
| Ğ ğ | G g |
| İ ı | I i |
| Ş ş | S s |
| Ü ü | U u |
NON_UNICODE 翻字:
任意のUnicodeテキストを、各文字を最も近いGSM相当文字にマッピングすることで、GSM 7ビットアルファベットに変換します。マッピングできない文字はドット(.)になります。
その他の言語の翻字 (ポルトガル語、コロンビア語、バルト語、セルビア語(キリル文字)、ブルガリア語(キリル文字)、中央ヨーロッパ諸語)も、GSM 7ビットの制約の範囲内で可読性を維持するため、同様の文字マッピングパターンに従っています。
NON_UNICODEの翻字例:
| 翻字前 | 翻字後 |
|---|---|
| 元の文字:"©™ø- ˆ¨л- ˙˚λ- ∆ƒ∂" | "..ø- ..l- ..A- ..." |
ギリシャ語の翻字例:
| 翻字前 | 翻字後 |
|---|---|
| Ως Μεγαρικό ψήφισμα είναι γνωστή η απόφαση της Εκκλησίας του δήμου των Αθηναίων (πιθανόν γύρω στο 433/2 π.Χ.) να επιβάλει αυστηρό και καθολικό εμπάργκο στα | ΩΣ MEΓAPIKO ΨHΦIΣMA EINAI ΓNΩΣTH H AΠOΦAΣH THΣ EKKΛHΣIAΣ TOY ΔHMOY TΩN AΘHNAIΩN (ΠIΘANON ΓYPΩ ΣTO 433/2 Π.X.)NA EΠIBAΛEI AYΣTHPO KAI KAΘOΛIKO EMΠAPΓKO ΣTA |
翻字を使用すると、GSMアルファベットで対応していないギリシャ語の小文字が、対応している大文字に変換されます。これにより、160文字の制限を守りつつ、メッセージを読みやすい状態に保つことができます。
翻字の構成は、APIまたはWebインターフェースを通じて行うことができます。APIでは、希望する出力アルファベット(TURKISH、GREEK、CYRILLICなど)を含む transliterationパラメーターを含めるようにします。Webインターフェースでは、利用可能なオプションから適切な文字セットを選択するようにします。APIの詳細については、 SMS メッセージの送信について詳述しているドキュメントをご参照ください。
ギリシャ語、キリル文字、トルコ語、またはその他の使用可能な言語でメッセージを送信する際、Unicode分割なしで160文字の制限をフルに活用したい場合は、翻字を使用するようにします。
SMSメッセージエンドポイントの送信
APIを介してNLIと翻字を実装する方法について詳述しています(Webインターフェイスからでも可能です)。
送信と追跡
SMSの送信と追跡について詳述しています。
通信オプション
一方向および双方向のSMSについて詳述しています。
SMSの利用開始
クイックチュートリアルを使って利用開始できます。