Plugin multilíngue

Classe PHP para Transliteração de Slugs Multilíngues
Trata-se de uma classe PHP responsável pela transliteração de slugs para diferentes idiomas, sendo especialmente utilizada no PSA Schema — uma ferramenta voltada para a implementação de dados estruturados com Schema.org em projetos WordPress.
Ele não se refere a “alfabetos” no sentido linguístico tradicional, mas sim a mapeamentos de caracteres de escritas não latinas para caracteres ASCII (latinos), visando gerar slugs compatíveis com URLs.
✅ Tipos de “alfabetos” e sistemas de escrita suportados:
1. Alfabeto Cirílico (Russo)
- Inclui letras do alfabeto cirílico maiúsculas e minúsculas.
- Exemplos: А, Б, В, Г, Д, Е, Ё, Ж, …, até я.
- Mapeia para versões latinas equivalentes:
А → A
Б → B
Ю → Yu
я → ya
Usado na função: transliterateRussian()
Ex: Russo
Плагин структурированных данных
{
"@type": "WebPageElement",
"name": "Плагин структурированных данных",
"url": "https://schema.vitapotentia.com/plugin-multilingue/#plagin-strukturirovannyh-dannyh",
"position": 4
},
2. Escrita Árabe
- Caracteres árabes comuns usados em textos em árabe (como أ، ب، ت، ث, …).
- Exemplos:
أ → a
ب → b
ح → h
ش → sh
Acentuações e variações também são mapeadas. Espaços viram hífens (-
) e pontuações são removidas.
Usado na função: transliterateArabic()
Exemplo Árabe
إضافة البيانات المنظمة
3. Escrita Chinesa (Hanzi Hanzi Simplificados)
- Caracteres chineses simplificados comuns.
- Exemplos:
SEO → seo
数据 → shuju (dados)
结构化 → jiegouhua (estruturado)
博客 → boke (blog)
Possui um mapeamento básico de palavras chinesas para pinyin (romanização). Para caracteres não cobertos, usa iconv()
ou bibliotecas futuras.
Usado na função: transliterateChinese()
4. Escrita Japonesa (Kanji + KatakanaHiragana)
- Inclui alguns kanji comuns e termos japoneses.
- Exemplos:
画像 → gazou (imagem)
ブログ → burogu (blog)
最適化 → saitekika (otimização)
Usa romanização (romaji) para transformar os caracteres em texto latino.
Usado na função: simplifyJapanese()
🌍 Outros Idiomas (Latim com acentos)
Para idiomas como português, francês, alemão, etc., o código usa:
- Se disponível:
\Transliterator::create('Any-Latin; Latin-ASCII');
- Ou como alternativa:
iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $slug);
Isso converte letras com acento/diacrítico:
ç → c
ñ → n
à → a
ö → o
ž → z
🔁 Resumo dos AlfabetosIdiomas Suportados
Idioma / Escrita | Função | Objetivo |
---|---|---|
Cirílico (Russo) | transliterateRussian() |
Converter russo para slug |
Árabe | transliterateArabic() |
Converter árabe para slug |
Chinês (Hanzi) | transliterateChinese() |
Converter chinês para pinyin |
Japonês (Kanji) | simplifyJapanese() |
Converter japonês para romaji |
Latim com acentos | Transliterator ou iconv |
Slug universal |
🧠 Notas Adicionais
O objetivo é criar URLs amigáveis (como exemplo.com/artigo-de-teste
) mesmo para textos em idiomas não latinos.
Isso é essencial para:
Schema.org
- Sitemaps multilíngues
- Plugins SEO
- Tradução de conteúdo
Também é possível expandir os mapeamentos para incluir mais palavras ou usar APIs/bibliotecas externas para maior precisão.