GitHub user tisonkun edited a discussion: Archive Crowdin based translation 
initiative

## Motivation

Three years ago we created the 
[pulsar-translation](https://github.com/apache/pulsar-translation) repository 
to try to handle documentation translation with Crowdin.

However, after three years, few (if not none) contents gets translated:

> **NOTE**: I learned that we ever translated a few pages but since we bring 
> all documents to the new website framework those contents lost and it needs 
> one more turn to pick up all translations.

<img width="1728" alt="image" 
src="https://user-images.githubusercontent.com/18818196/191883024-498d920a-7397-4a2d-869c-e56e5ed98225.png";>

As we migrate the official site to the new framework, several incompatibility 
issues occur between Crowdin and MDX files. Basically, MDX is far more fruitful 
to insert JSX code or widget, like:

```
:::tip

blablabla

:::
```

Crowdin treats `tip` here as a translatable item and mangles the result.

@urfreespace can have more inputs on this kind of issue that can break the 
website build. And after [a failed full build 
yesterday](https://github.com/apache/pulsar-site/actions/runs/3103382004) we 
already [redirect all "i18n" pages to the default 
language](https://github.com/apache/pulsar-site/blob/607cee490f9cfb8de6fce918204742a1b7704b78/content/.htaccess#L5-L6).

Generally, an initiative without further contributors and no maintainer to 
shepherd can be archived instead of leaving alone.

## Proposal

Crowdin is good for document workers that they will be familiar with. But most 
translation contributors should be developers for our project, just like 
[Flink](https://github.com/apache/flink/tree/master/docs/content.zh). For these 
people, Git is over Crowdin.

Also, Crowdin itself doesn't complete the whole i18n story. Technically, we use 
[Docusaurus's i18n 
functionality](https://docusaurus.io/docs/i18n/introduction#translation-files-location)
 and generate files under `i18n` folders from Crowdin inputs with [homemade 
scripts](https://github.com/apache/pulsar-site/blob/1d116a036ce26a3321b3089b8a5406cddebda777/site2/tools/build-site.sh#L40-L68).

So, we can use Docusaurus's i18n support barely as [how InLong 
does](https://github.com/apache/inlong-website/tree/master/i18n/zh-CN) to 
overcome these issues.

## Implementation

1. Remove the scaffolding integrating with Crowdin. cc @urfreespace 
2. Archive the pulsar-translation repo as it's no longer valid.
3. (Optionally) If we have a new initiative to do translation, follow the raw 
Docusaurus's i18n support.

## Risk

No risk as these translations currently simply don't work.

## Appendix

Docusarus does provide [support to integrate with Crowdin and talk about MDX 
workaround](https://docusaurus.io/docs/i18n/crowdin#mdx-solutions). But it's 
less than awesome while we don't need Crowdin in the first place. Also, this 
workaround cannot resolve the case that we write descriptions needing 
translation in the MDX block, like prompts for Tabs.

cc @tuhaihe @urfreespace @michaeljmarshall @dave2wave

GitHub link: https://github.com/apache/pulsar/discussions/17810

----
This is an automatically sent email for dev@pulsar.apache.org.
To unsubscribe, please send an email to: dev-unsubscr...@pulsar.apache.org

Reply via email to