简介
@jadbox/google-spreadsheet-i18n
是一个使用Google电子表格作为多语言数据源的npm包,它提供了一种简单的方法来管理网站或应用程序的多语言文本。
本文将介绍如何使用该包,以及如何将它与您的项目集成。
安装
使用npm安装该包:
npm install @jadbox/google-spreadsheet-i18n --save
准备工作
首先,您需要在Google Sheets中创建一张电子表格,用来存储多语言文本。电子表格的第一列应该是文本的键值,例如:
键值 | 英文 | 法语 | 西班牙语 |
---|---|---|---|
hello | Hello | Bonjour | Hola |
goodbye | Goodbye | Au revoir | Adiós |
... |
使用
首先,您需要设置Google Sheets API的凭据。您可以在Google Cloud控制台上创建一个服务账号,并下载JSON凭据文件,如下所示:
-- -------------------- ---- ------- - ------- ------------------ ------------- ---------------- ----------------- ------ -------------- ----------- ------- ----------------------- ------- ------------ --------------- ----------------------------------------------------------- ------------ ------ ----------- -------------------------------------------- ------------ -------------------------------------- ------------------------------ --------------------------------------------- ----------------------- ----- -
然后,您需要使用凭据文件初始化Google Sheets API客户端:
const { GoogleSpreadsheetI18n } = require("@jadbox/google-spreadsheet-i18n"); const credentials = require("./credentials.json"); // 路径根据实际情况修改 const spreadsheetId = "your-spreadsheet-id"; // 电子表格的ID const i18n = new GoogleSpreadsheetI18n(credentials, spreadsheetId);
现在,您可以使用i18n.translate(key, language)
方法来翻译文本。例如:
const text = i18n.translate("hello", "fr"); // 'Bonjour'
如果未找到指定的语言文本,则会返回未翻译的英文文本。
const text = i18n.translate("hello", "zh"); // 'Hello'
您还可以使用i18n.availableLanguages
属性获取可用的语言列表。
console.log(i18n.availableLanguages); // ['en', 'fr', 'es', ...]
示例
考虑以下示例场景:
您正在创建一个多语言网站,您已有一个index.html
文件,其中包含以下内容:
-- -------------------- ---- ------- ------ ------ ----- ---------------- --------- --------------- ------- ------ ---------- ----------- ------- -- -- ------------ ------- -------
您想要添加多语言支持,使用Google Sheets作为数据源。
首先,创建一个新的电子表格,按照上述要求配置第一列,保存其ID。
Copy 该ID。
然后,使用以下代码:
-- -------------------- ---- ------- ----- - --------------------- - - ------------------------------------------- ----- ----------- - ------------------------------ -- ---------- ----- ------------- - ---------------------------- -- ------------- ----- ---- - --- ---------------------------------- --------------- -- ---- ----- ------ - ----------------------- ------ ----- ----- - ------------------------------------ ------ -- -------- ----- -- - ----------------------------- -------------- - ------- ----- - - ---------------------------- ------------- - ------
该代码将使用Google Sheets中的所有文本来翻译网站内容。当用户更改页面语言时,只需按i18n.translate(key, language)
读取适当的翻译即可。
总结
使用@jadbox/google-spreadsheet-i18n
,您可以轻松地将Google Sheets用作多语言数据源。本文提供了一个基本的使用示例,可用于集成到您的项目中。
希望这篇文章可以帮助您理解并使用Google Sheet作为多语字典数据源。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60067359890c4f7277583e34