create-t3-app
create-t3-app copied to clipboard
feat: translation status dashboard
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, ortranslation.t3.ggor 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.
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.
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.
I've been thinking on how to count the translation progress percentage and
- Median of word count difference of original and translated files is about 7-9% for Russian.
- I have an plan to count the sentences to see if it's the right metric
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.
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.
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
The best thing is that is a automated issue somehow
Closing as stale