create-t3-app icon indicating copy to clipboard operation
create-t3-app copied to clipboard

feat: translation status dashboard

Open c-ehrlich opened this issue 2 years ago • 7 comments

Is your feature request related to a problem? Please describe.

In addition to https://github.com/t3-oss/create-t3-app/issues/770 it would be great to have an overview of where each translation is, so that people who want to help can see what currently needs the most attention.

I'm imagining a page that shows for each language which pages have / have not been translated, when they were last updated, and if they are older than the English version or not. Maybe it also needs to be possible to do manual overrides - for example someone might have updated a translation, but only partially, so it's "newer" than the English version but still partially out of date. Conversely, if a spelling error gets fixed on the English version, this does not mean that all other languages are now outdated.

Bonus points if it can somehow ping active translators when their language has an outdated page.

Describe the solution you'd like to see

As for the actual implementation, not sure! Two possibilities I could imagine:

  • Every non-English language gets an additional item in the docs ToC: "translation status", which is an Astro page that shows this dashboard for that language
  • A separate app (at create.t3.gg/translation, or translation.t3.gg or whatever) that acts as one central location for this
  • That being said I don't have a strong opinion about the implementation, open for anything in that regard.

Either way we would need to hit GitHub to get all the relevant info, probably cache it because it will be a big request, and then stick it on an informative page.

Describe alternate solutions

There might be an existing tool we can use that achieves this instead of building our own. For example I have heard of CrowdIn and believe it's free for OSS projects, but I'm not sure whether or not it solves all of the things we want to achieve.

Additional information

Would be particularly thankful to get feedback from anyone who has ever implemented or used a similar tool.

c-ehrlich avatar Nov 20 '22 10:11 c-ehrlich

The page translation "process/procentage" can be tricky, you can count the lines of .md docs as the translated text doesn't restructure the file, BUT some people (me included) might copy whole file and leave some text untranslated and then translate later. We can estimate it manually tho.

JohnBakhmat avatar Nov 21 '22 07:11 JohnBakhmat

Astro has this, which seems to work quite well: https://github.com/withastro/docs/issues/438

They also have a great translation team/process in general. Will take a look at it this week to see what we can adapt from them.

c-ehrlich avatar Nov 21 '22 15:11 c-ehrlich

I've been thinking on how to count the translation progress percentage and

  1. Median of word count difference of original and translated files is about 7-9% for Russian.
  2. I have an plan to count the sentences to see if it's the right metric

JohnBakhmat avatar Nov 21 '22 15:11 JohnBakhmat

I can describe my experience with Crowdin:

  • It does most of what you request, except pinging active users. But translating the updated strings is easy because Crowdin has memory system, which make translated updated string somewhat automatic.
  • It can be slow when the project is big (the tool itself), I don't think the docs will face this issue tho.
  • depend on how you import the strings (i.e importing all languages strings weekly) and how you test the strings, a language with fully translated strings can be blocked because of a language that isn't up to speed.

Other than that, the tool is awesome.

Sboonny avatar Nov 22 '22 05:11 Sboonny

Yeah ive been looking at Crowdin and POEditor but i feel like making a decision to use it is blocking contributors who have no idea on how either Crowdin or PoEditor works.

JohnBakhmat avatar Nov 22 '22 08:11 JohnBakhmat

Astro has this, which seems to work quite well: withastro/docs#438

They also have a great translation team/process in general. Will take a look at it this week to see what we can adapt from them.

This looks quite good actually

nexxeln avatar Nov 22 '22 08:11 nexxeln

The best thing is that is a automated issue somehow

JohnBakhmat avatar Nov 22 '22 08:11 JohnBakhmat

Closing as stale

juliusmarminge avatar Jun 04 '23 18:06 juliusmarminge