链接翻译Gatsby JS



谁知道如何在旅途中音译链接?我有一个关于盖茨比的网站正在开发中。我正在为那里的一篇文章创建一个类别,写在头版。有些类别可以用西里尔字母书写。

---
title: "Yet Another Post"
date: "2021-07-25"
slug: "yet-another-post"
tags: ["animals", "Chicago", "zoos"]
categories: ["GatsbyJS", "Gatsby Develop", "Сайт с нуля"]
featuredImage: "./third.jpg"
---

然后在你的gatsby-node.js中,我正在为这个类别创建一个页面(我使用kebab案例,因为url是由类别名称形成的(

createPage({
path: `blog/category/${_.kebabCase(category)}`,
component: require.resolve("./src/templates/categories.js"),

结果发现,指向类别"的页面的链接是";Сай;(eng的"Site from scratch"(看起来像www.domain.ru/blog/category/сайт-с-нуля,我希望有链接的音译,例如www.domain.ru/blog/category/sait-s-nulya。有可能吗?

您可以使用映射助手函数,如:

const letters = {"Ё":"YO","Й":"I","Ц":"TS","У":"U","К":"K","Е":"E","Н":"N","Г":"G","Ш":"SH","Щ":"SCH","З":"Z","Х":"H","Ъ":"'","ё":"yo","й":"i","ц":"ts","у":"u","к":"k","е":"e","н":"n","г":"g","ш":"sh","щ":"sch","з":"z","х":"h","ъ":"'","Ф":"F","Ы":"I","В":"V","А":"a","П":"P","Р":"R","О":"O","Л":"L","Д":"D","Ж":"ZH","Э":"E","ф":"f","ы":"i","в":"v","а":"a","п":"p","р":"r","о":"o","л":"l","д":"d","ж":"zh","э":"e","Я":"Ya","Ч":"CH","С":"S","М":"M","И":"I","Т":"T","Ь":"'","Б":"B","Ю":"YU","я":"ya","ч":"ch","с":"s","м":"m","и":"i","т":"t","ь":"'","б":"b","ю":"yu"};
function transliterate(slug) {
return slug
.split("")
.map((char) => letters[char] || char)
.join("");
}

console.log(transliterate("www.domain.ru/blog/category/сайт-с-нуля"))

用javascript函数将西里尔字母音译为拉丁字母

应用于您的案例:

createPage({
path: `blog/category/${_.kebabCase(transliterate(category))}`,
component: require.resolve("./src/templates/categories.js"),

最新更新