搜索
首页web前端js教程我已经本地化了全球最好的短链平台

作为与Tolgee一起玩的一部分,我尝试将dub.co(一家成熟的开源公司)翻译成其他语言!我花了1个小时,结果令人惊讶!

I have localized the best short-linking platform in the world


在本教程中,我将引导您使用 Tolgee(一个专为快速自主翻译管理而设计的平台)在 Next.js 应用程序中轻松高效地进行本地化。

您还将学习如何将 Tolgee 与 Dub.co 集成,Dub.co 是一个流行的链接管理平台,允许用户以自己喜欢的语言访问应用程序并与之交互。

先决条件

要完全理解本教程,您需要对 React 或 Next.js 有基本的了解。

您还需要设置以下内容:

  • Tolgee 项目 - 至少有两种语言翻译的现有项目。
  • Tolgee CLI - 允许您使用命令行从计算机与 Tolgee 平台交互。
  • Docker - 运行 Dub.co 所必需的。它是一个开源平台,使用容器化来更轻松地创建、部署和运行应用程序。
  • Docker Compose - 用于定义和运行多容器 Docker 应用程序的软件应用程序。
  • Python(版本 3.8 或更高版本):配置 Dub.co 的某些包所必需的。

托尔吉是什么?

Tolgee 是一个开发人员友好的本地化平台,允许您将应用程序翻译成任何语言,而无需修改代码。它专为 Web 应用程序设计,但也支持移动和桌面应用程序。

使用 Tolgee,您无需在源代码中查找密钥、编辑本地化文件或为翻译人员执行手动导出数据。 Tolgee 提供上下文翻译、用于跟踪已翻译字符串的翻译记忆库、机器和自动翻译等。

I have localized the best short-linking platform in the world

请帮我们加一颗星。 ?

这会帮助我们创作更多这样的文章?

为 Tolgee 存储库加注星标 ⭐


如何在本地计算机上设置 Dub.co

Dub.co 是一个开源链接管理平台,允许营销团队为其链接添加强大的分析功能、创建短链接、为链接生成二维码等等。它是由 Steven Tey(前 Vercel 公司)创建的。

按照以下步骤在您的计算机上设置 Dub.co:

通过运行下面的代码片段克隆 Dub.co GitHub 存储库。

git clone https://github.com/dubinc/dub.git

导航到 dub 文件夹并安装项目依赖项:

git clone https://github.com/dubinc/dub.git

apps/web文件夹中,将.env.example文件重命名为.env

创建一个新的 Tinybird 帐户,并将您的管理员身份验证令牌复制到.env文件中。

pnpm install

导航到 packages/tinybird 目录并使用以下命令安装 Tinybird CLI:

TINYBIRD_API_KEY=<your_admin_auth_token>
</your_admin_auth_token>

在终端中执行以下命令,并在提示使用 Tinybird CLI 进行身份验证时输入您的管理员身份验证令牌:

pip3 install tinybird-cli

通过运行下面的代码片段来发布 Tinybird 数据源和端点:

tb auth

创建 Upstash 数据库,并将以下凭据从 REST API 部分复制到 .env 文件:

tb push

导航到 QStash 选项卡并将以下凭据复制到 .env 文件中。

UPSTASH_REDIS_REST_URL=<your_rest_url>
UPSTASH_REDIS_REST_TOKEN=<your_rest_token>
</your_rest_token></your_rest_url>

接下来,在 apps/web 目录中,运行以下命令来启动 Docker Compose 堆栈:

QSTASH_TOKEN=
QSTASH_CURRENT_SIGNING_KEY=
QSTASH_NEXT_SIGNING_KEY=

使用以下命令生成 Prisma 客户端并创建其数据库表:

docker-compose up

Dub.co 支持多种身份验证方式。 创建一个 GitHub 应用并复制下面的 URL 作为其回调 URL。

npx prisma generate
npx prisma db push

最后,启动开发服务器:

http://localhost:8888/api/auth/callback/github

您可以通过在浏览器中导航至 http://localhost:8888 来访问 Web 应用程序,创建工作区并开始使用。如果您遇到任何问题,请参阅完整的安装指南以获得更详细的帮助。

I have localized the best short-linking platform in the world


如何在 Next.js 应用程序中配置 Tolgee

在本节中,您将学习如何将 Tolgee 添加到 Next.js 应用程序并将其配置为支持多种语言,从而允许用户以其首选语言访问该应用程序。

要在 Next.js 应用程序中实现本地化,您需要安装 Tolgee React SDK。

pnpm dev

接下来,创建一个 Tolgee 平台帐户并登录到您的仪表板。

I have localized the best short-linking platform in the world

通过单击“项目”按钮并选择项目的首选语言来添加新项目。对于此应用程序,我们将使用五种语言:英语(作为基本语言)、中文、印地语、西班牙语和阿拉伯语。

I have localized the best short-linking platform in the world

单击仪表板右上角的个人资料图标,然后选择“项目 API 密钥”为您的 Tolgee 项目创建 API 密钥。

I have localized the best short-linking platform in the world

创建 .env.development.local 并将您的 API 密钥复制到文件中:

git clone https://github.com/dubinc/dub.git

从侧边栏菜单中选择翻译并将新翻译添加到项目中。

I have localized the best short-linking platform in the world

您可以创建翻译键,添加需要翻译的内容或字符串,提供描述,然后保存。

I have localized the best short-linking platform in the world

Tolgee 默认提供各种机器翻译选项,让您轻松将内容翻译成项目中可用的语言。

I have localized the best short-linking platform in the world

恭喜!您已成功在应用程序中设置了用于翻译的 Tolgee 平台。接下来,让我们在 Dub.co 项目中配置 Tolgee,以便直接在应用程序中轻松生成翻译。

如何在 Dub.co 中设置本地化

在本节中,我将指导您配置 Tolgee 以支持 Dub.co 项目中的客户端-服务器交互。

首先,安装 Tolgee CLI 软件包。

pnpm install

运行以下代码片段以使用您的项目 API 密钥登录您的 Tolgee 平台。

TINYBIRD_API_KEY=<your_admin_auth_token>
</your_admin_auth_token>

I have localized the best short-linking platform in the world

接下来,在 apps/web 目录中创建一个 i18n 文件夹。该文件夹将存储 JSON 文件,其中包含 Tolgee 平台项目中可用的各种语言的翻译。

pip3 install tinybird-cli

apps/web 目录中,通过运行以下代码片段来获取在 Tolgee 项目中创建的语言翻译:

tb auth

I have localized the best short-linking platform in the world

上面的代码片段会使用在 Tolgee 平台中创建的各种语言翻译自动填充 i18n 文件夹。

tb push

创建一个 tolgee 文件夹,其中将包含 apps/web 目录中的 Tolgee 配置:

git clone https://github.com/dubinc/dub.git

tolgee目录中添加shared.ts文件,然后将以下代码片段复制到该文件中:

pnpm install

上面的代码片段使用默认语言和后备语言配置 Tolgee,以在应用程序中启用本地化。

接下来,在 tolgee 目录中创建一个 client.tsx 文件,然后将以下代码片段复制到该文件中:

TINYBIRD_API_KEY=<your_admin_auth_token>
</your_admin_auth_token>

client.tsx 文件用于翻译客户端组件,还为服务器渲染组件启用上下文功能。上面的代码片段定义了 TolgeeNextProvider 组件,它包装了整个 Dub.co 应用程序,提供管理语言更改和翻译所需的配置。

tolgee 文件夹中创建自定义 locale.ts 文件,并将以下代码片段复制到其中:

pip3 install tinybird-cli

最后,在 tolgee 文件夹中创建一个 server.tsx 文件,然后将以下代码片段复制到该文件中:

tb auth

应用程序利用 React 服务器缓存在单个渲染中跨组件共享 Tolgee 实例。这允许应用程序在服务器组件中的任何位置使用 Tolgee 实例。

恭喜!您已成功配置 Tolgee,现在可以开始向应用程序内的各种内容添加翻译。


如何使用 Tolgee 翻译您的申请内容

在这里,您将学习如何翻译 Web 应用程序中的内容,并了解 Tolgee 如何实现轻松的应用内翻译。

首先,您需要使用 TolgeeNextProvider 组件包装整个 Dub.co 应用程序,该组件在 tolgee/client.tsx 中定义。导航到 apps/web/app 文件夹,然后转到 app.dub.co/(dashboard) 目录,并更新 layout.tsx 文件如下图:

tb push

上面的代码片段使用 Tolgee 提供程序包装仪表板路由,从而在整个应用程序中实现语言切换和本地化。

Tolgee 提供了两个钩子来帮助您在应用程序中选择和翻译文本:useTolgeeuseTranslate

  • useTolgee 钩子返回 Tolgee 实例,允许您订阅各种在翻译文本时触发重新渲染的事件。
  • useTranslate 挂钩包含一个翻译函数(t 函数),可直接在应用程序内呈现实际翻译。

通过添加以下代码片段来更新 app.dub.co/(dashboard)/[slug] 目录中的 page.tsx 文件:

“使用客户端”;
从“@/ui/layout/page-content”导入{ PageContent };
从“./page-client”导入 WorkspaceLinksClient;
//??托尔吉装置
从“@tolgee/react”导入{ useTolgee, useTranslate };
从“tolgee/locale”导入{ setUserLocale };


导出默认函数 WorkspaceLinks() {
  const { t } = useTranslate();
  const tolgee = useTolgee(["pendingLanguage"]);
  const 语言 = tolgee.getPendingLanguage();

  返回 (
    <pagecontent title="链接">
    {/**-- 用于选择首选语言的 HTML 输入 --*/}
      <div classname="flex w-full flex-col px-10">
        <p>选择语言</p>
        



<p>上面的代码片段显示了一个 HTML <strong><select></select></strong> 标签,允许用户选择和在不同语言之间切换。 <strong>{t("hello")}</strong> 元素使用 Tolgee 的翻译函数根据所选语言呈现“hello”键的值。</p>

<p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173093241088271.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="I have localized the best short-linking platform in the world"></p>

<p>最后,您可以更新整个应用程序的剩余内容以支持语言更改,从而允许用户以所选语言查看所有组件。</p>

<p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173093241165470.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="I have localized the best short-linking platform in the world"></p>

<p>Tolgee 还提供上下文翻译功能,让您可以直接在应用程序中翻译字符串,无论是在开发还是生产中,只需单击文本并按住 Alt 或 Option 键即可。</p>

<p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173093241362494.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="I have localized the best short-linking platform in the world"></p>

<p>恭喜!您已成功完成本教程的项目。</p>

<p>本教程的源代码可在此处获取:</p>

<p>https://github.com/JanCizmar/dub-with-tolgee</p>


<hr>

<h2>
  
  
  结论
</h2>

<p>到目前为止,您已经学习了如何使用 Tolgee 将本地化添加到您的软件应用程序、实现对多种语言的支持,以及如何在实际项目中实现语言无缝切换。</p>

<p>Tolgee 是一个快速、以开发人员为中心的本地化平台,可让您为内容提供上下文并在几秒钟内生成翻译。它还支持多种 JavaScript 框架,包括 Vue、Angular 和 Svelte,并与 Figma 和 REST API 等工具集成以实现灵活性。</p>

<p>如果您希望为用户创建个性化体验,Tolgee 是一个绝佳的选择。请随意为我们的 GitHub 存储库做出贡献并加注星标,并加入我们的 Slack 社区与其他人联系并与团队互动。</p>
<p>感谢您的阅读!</p>


          </div>

            
        </pagecontent>

以上是我已经本地化了全球最好的短链平台的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
在JavaScript中替换字符串字符在JavaScript中替换字符串字符Mar 11, 2025 am 12:07 AM

JavaScript字符串替换方法详解及常见问题解答 本文将探讨两种在JavaScript中替换字符串字符的方法:在JavaScript代码内部替换和在网页HTML内部替换。 在JavaScript代码内部替换字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 该方法仅替换第一个匹配项。要替换所有匹配项,需使用正则表达式并添加全局标志g: str = str.replace(/fi

自定义Google搜索API设置教程自定义Google搜索API设置教程Mar 04, 2025 am 01:06 AM

本教程向您展示了如何将自定义的Google搜索API集成到您的博客或网站中,提供了比标准WordPress主题搜索功能更精致的搜索体验。 令人惊讶的是简单!您将能够将搜索限制为Y

构建您自己的Ajax Web应用程序构建您自己的Ajax Web应用程序Mar 09, 2025 am 12:11 AM

因此,在这里,您准备好了解所有称为Ajax的东西。但是,到底是什么? AJAX一词是指用于创建动态,交互式Web内容的一系列宽松的技术。 Ajax一词,最初由Jesse J创造

示例颜色json文件示例颜色json文件Mar 03, 2025 am 12:35 AM

本文系列在2017年中期进行了最新信息和新示例。 在此JSON示例中,我们将研究如何使用JSON格式将简单值存储在文件中。 使用键值对符号,我们可以存储任何类型的

8令人惊叹的jQuery页面布局插件8令人惊叹的jQuery页面布局插件Mar 06, 2025 am 12:48 AM

利用轻松的网页布局:8个基本插件 jQuery大大简化了网页布局。 本文重点介绍了简化该过程的八个功能强大的JQuery插件,对于手动网站创建特别有用

什么是这个&#x27;在JavaScript?什么是这个&#x27;在JavaScript?Mar 04, 2025 am 01:15 AM

核心要点 JavaScript 中的 this 通常指代“拥有”该方法的对象,但具体取决于函数的调用方式。 没有当前对象时,this 指代全局对象。在 Web 浏览器中,它由 window 表示。 调用函数时,this 保持全局对象;但调用对象构造函数或其任何方法时,this 指代对象的实例。 可以使用 call()、apply() 和 bind() 等方法更改 this 的上下文。这些方法使用给定的 this 值和参数调用函数。 JavaScript 是一门优秀的编程语言。几年前,这句话可

通过来源查看器提高您的jQuery知识通过来源查看器提高您的jQuery知识Mar 05, 2025 am 12:54 AM

jQuery是一个很棒的JavaScript框架。但是,与任何图书馆一样,有时有必要在引擎盖下发现发生了什么。也许是因为您正在追踪一个错误,或者只是对jQuery如何实现特定UI感到好奇

10张移动秘籍用于移动开发10张移动秘籍用于移动开发Mar 05, 2025 am 12:43 AM

该帖子编写了有用的作弊表,参考指南,快速食谱以及用于Android,BlackBerry和iPhone应用程序开发的代码片段。 没有开发人员应该没有他们! 触摸手势参考指南(PDF) Desig的宝贵资源

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境