コンテンツにスキップ

ロケール(地域設定)の取得

特定のスプレッドシートから、ロケール(地域設定)を取得する方法を解説します。

Spreadsheet.getSpreadsheetLocale();

Spreadsheet クラスに用意されている、getSpreadsheetLocale() を使用します。

取得できるのは、スプレッドシートの[ファイル]→[設定]の「地域」で指定されているロケールです。日付や数値、通貨の表示形式に影響する設定で、閲覧しているユーザーの表示言語とは異なります。

返り値は、ja_JP のように言語コードと国・地域コードを _(アンダースコア)でつないだ形式の文字列になります(言語コードのみの場合もあります)。ロケール識別子の考え方については Unicode の UTS #35 も参考になります。

実行にあたってスプレッドシートにアクセスすることになるため、初回実行時に認証が必要になる場合があります。

/**
* 対象スプレッドシートのID
* https://docs.google.com/spreadsheets/d/〇〇〇/edit の〇〇〇の部分
*/
const SPREAD_SHEET_ID = '_______________';
/**
* スプレッドシートのロケール(地域設定)を返却します
*/
const getSheetLocale = () => {
/** 対象スプレッドシート */
const ss = SpreadsheetApp.openById(SPREAD_SHEET_ID);
/** 言語情報 */
const locale = ss.getSpreadsheetLocale();
console.log(locale);
return locale;
};

実行すると、スプレッドシートのロケール(地域設定)が返却されます。

地域が「日本」に設定されていれば "ja_JP" が取得できます。