.github's People
Forkers
brunommpreto diogofpmonteiro sarabavifard ululamri minaminao qinglin malinoisls01 stratusceo mandril1 zero2degen olganicegirl mektigboy aliercanozgokce kuzdogan inmortalbobz eenti lokera666 jallpatell faisalfh5 jintcd chefaharoni jalaluddin vishnue17 ertwenty1 hawthorne001 erfifteen foxenergy456 kalyansathvik elpolloj.github's Issues
Translation bot: sync PRs for tagged releases
Some translator teams are targeting specific tagged versions of the compiler (for example the Turkish team wants to translate and tag 0.8.15 before moving on to translating any further changes). In this use case the team is not interested in receiving PRs each time something changes in the main repo but will still be interested in a PR covering all the changes since the last release once a new one is tagged.
And overall, even if the team is fully caught up and translating all incoming changes, getting a specific version translated can be a problem if we set the PR interval to multiple days (and we might want to do that if it turns out that daily is too often). For example if we set it to a PR per week, and a compiler release happens in the middle of the week, there will be no PR containing only changes up to the release. There will be one covering the whole week, possibly containing bits from both versions.
For this reason the bot should:
- Check if a new release has been tagged and if so, issue an additional tag PR that includes only changes from that version. It should still issue a normal periodic PR too.
- We should be able to choose for specific repos to only enable the tag PRs and disable the periodic ones.
Migrate translation repos to make them forks with full history
The procedure here is close to what I outlined in solidity-docs/id-indonesian#4, but I realized that we can actually do this without even creating fresh repos. By doing it this way, we will keep the original translation branches as a backup and also we'll have less work with configuring the repos:
- Find the commit in the solidity repo at which the translation started.
- This needs to be done carefully because if we include commits with text that was not translated, bot will assume it was already translated. On the other hand, if we miss some commits that were translated, the bot will overwrite them with English text in the PR. The latter is easier to spot and correct for the translator so I'd err on the side of going a bit farther into the past if unsure.
- Clone solidity repository locally and check out the
develop
branch. - Delete everything outside of the
docs/
directory and commit. - Copy over the translation. There are two ways to do this:
- Copy all files (
docs/
directory,README
,.gitignore
and anything else) from the translation repository to the local repo. This is easier and is recommended if there are just a few commits. It will discard translation history though.- If there was only one committer in the translation repo, try to preserve his authorship on the new commit (
git commit --reedit-message
).
- If there was only one committer in the translation repo, try to preserve his authorship on the new commit (
- Cherry-pick commits from the original translation repo. This will preserve history but is harder because you'll need to resolve conflicts.
- Copy all files (
- Rename your local
develop
to the name of the main branch in the translation repo. Then rename the main branch in the translation repo on github to something else. - Add the translation repo a as remote in your local repo (
git remote add
) and push the main branch to it.
We should try this procedure in the test org first by cloning translation repos. If it goes well, we can later just add the original repos as another remote and push to them.
Translation: add Ukrainian language
Hi! I listed all the translations and didn't found ukrainian here. Could we add it? It would be very useful for ukrainian developers and other people.
Readme: Add info on how to handle versioning of the documentation
The Readme needs a section on how translators can translate by version, e.g. in the Solidity documentation, we have one documentation edition per Solidity version. The same should be the case for the translated documentations, so that one can seamlessly switch back and forth between languages of the same page of the same version.
Rename this repo to `.github`
I suggest renaming this repo to Github's special repo .github
then README.md file would appear in orgs main page and you can keep docs community files in single repo.
This Github feature allows you to have central place for files e.g Contributing Guidelines, LICENSE, issue templates etc. for all translation org repos.
I have good example of use case in github org which I also provided as example for #8 proposal.
- e.g. org .gihub repo
- in this repo there is
profile/README.md
which appears then as https://github.com/howijd org page - you can learn more about
.github
special repository here https://docs.github.com/en/organizations/collaborating-with-groups-in-organizations/customizing-your-organizations-profile
Repo Automation: Diff Bot for Translation Updates
Problem
The Solidity documentation is being translated through community efforts in the solidity-docs organisation. It is hard and overly complicated for the community translators to keep track and catch up with versions and manually update a translation as new Solidity versions get released.
Solution
Automation! Optimally, we would like to have a bot similar to the reactjs-translation-bot, which would create PRs with new content that needs to be translated every time the original documentation is updated.
Task
To semi-automate the process, it would be great if we could set up a bot, similar to the reactjs.org translation bot. The bot creates PRs for new content to be translated from the original English version of the docs. More info on the bot can be found here and this is how a PR from the bot looks like. More context on the process behind the reactjs bot can be found in this issue.
More Details on the Bot Design and Functions
- Set up a bot that creates PRs with diff of newly released docs to translate.
- The solidity/docs
develop
branch shall be used as a source. - The PRs should be created in each of the language repositories (currently this means in the repos of the Indonesian, Japanese, Farsi and Portuguese translations).
- The bot should create a PR once per day per language repository.
- The bot should be written in JS, Python or Bash.
- The bot should be part of the solidity-docs GitHub organization and should add PRs to all the different translation repos.
- The bot should use Github Actions as a CI.
Relevant Links
Automate creation of new translation repositories
Translation bot: version labels
The translation bot should tag each PR with a label named after current version in the Solidity repository. This way the translators will be able to easily filter PRs by version.
Dynamic loading of the list of available translations
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.