scribe-org / Scribe-i18n

Application text localization files for Scribe apps

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Initial setup to link Scribe-i18n to other Scribe repos

wkyoshida opened this issue Β· comments

Terms

Description

This issue is to track the initial setup needed to create the links in other Scribe repos with the Scribe-L10N Scribe-i18n repo. The intent is to maintain the localization content in a central location, while easily including it in the multiple places where it is needed.

P.S. Needed setup in the other repos can be tracked against this issue as well.

Contribution

Will take this on 😎

Note for myself that in prior discussions we've been talking Git subtrees or submodules as solutions for this. Documentation on these techniques:

Something to discuss - how else could we bring the repo to a more bare-bones format?
Some ideas:

  • .github/ISSUE_TEMPLATE and .github/resources directories could potentially be removed altogether. A thought on this is that GH issues likely won't be used here often for Scribe-i18n, apart from some rare occasions
  • Merging CONTRIBUTING.md into the README.md by simply having contribution details directly in the README.md. Thought on this is that contribution details can likely be simple and direct, since Scribe-i18n really won't be a repo someone would be contributing into without already doing so in another Scribe project.

Both of these make sense, @wkyoshida. I'll make a commit for this soon :)

Went ahead and added to #6 the first point at least.

With the second point, I'm kinda envisioning that since Scribe-i18n will get 'copied' over into the other repos, it could be good having instructions directly in the i18n README.md on how to add stuff to Scribe-i18n to then finally being able to use the new changes in Scribe-iOS (for instance). Feel free to get a start on this, but I can help later adding in the instructions on how 'copy' over Scribe-i18n

@wkyoshida, 8dd22be sends along a bunch of changes. Of note is that I put the JSONs back in a directory, but it's called Scribe-i18n now rather than just i18n. I'm just imagining that if the goal is to get to some serious scale on the i18n front, that we're gonna have a very messy repo if everything is in the root. Putting them in a Scribe-i18n directory also makes it a bit more clear where the files are coming from when they're in an AppText repo of something along those lines. Hope that's ok with you!

I tried to combine the contributing guide into the readme as well as I could. We can add in specific localization guidelines and a makeshift coverage report at some point (maybe via the website?). Suggestions on this are welcome!

From here, what else are we looking for on this? All done and ready to try embedding it at some point?

If you have suggestions for shortening it, feel free to send along a PR with them!

.. Of note is that I put the JSONs back in a directory .. we're gonna have a very messy repo if everything is in the root.

Yea.. I once looked back after I made that change and started to question it myself hahah πŸ˜† I now think having the directory does actually make sense πŸ‘

.. when they're in an AppText repo ..

With scribe-org/Scribe-iOS#407, I actually put them under a Scribe/i18n/ directory as opposed to under Scribe/AppTexts/ to keep both processes separate and allow a more gentle transition to using Scribe-i18n. Let me know if there's a different idea though.

We can add in specific localization guidelines ..

I'll at the very least make a PR with instructions on what the process should look like in adding things here in Scribe-i18n and then getting them to Scribe-iOS (or other app).

.. makeshift coverage report at some point (maybe via the website?)

Hmm could be, yeah πŸ€” perhaps using another pre-rendered thing serviced by Scribe-Server too?

From here, what else are we looking for on this? All done and ready to try embedding it at some point?

Yup! That's what I wanted to try out with the PR in Scribe-iOS. With the structure there making sense, I'll add in the instructions here in the Scribe-i18n README.md.


Notes:

In doing research, I believe both subtrees and submodules would require some steps for folks to be able to use Scribe-i18n. Subtrees act more like making a copy rather than a reference, but I decided to go with subtrees as that would be less disruptive to existing contributors who already forked and not require an additional step for a new contributor to make their fork. With subtrees, the additional step is only needed really if using/contributing to the i18n directory.

For the Scribe-iOS PR, ran this:

git subtree add --prefix Scribe/i18n git@github.com:scribe-org/Scribe-i18n.git main --squash

This adds a subtree to the path (or --prefix) Scribe/i18n with the contents in main of the git@github.com:scribe-org/Scribe-i18n.git repo. It also does a --squash to only create a squash commit when bringing in the content as opposed to also bringing in the commit history of the Scribe-i18n repo as well.

Your argument for subtrees over submodules makes total sense, @wkyoshida! Thanks for looking into all of this. I'll check out the PR before the sync, and let's remember to have a quick chat about it/you can present here progress!

Ping @Jag-Marcel, can you write in here so we can assign?

Quote from @Jag-Marcel from a Scribe-iOS issue for this:

I think we talked about including the xcstrings file in the i18n repo, to make it easier / maybe even possible to update with actions, it's included in #7 over there.

πŸ‘

Moved over some localization issues here that basically all will be closed by #7, or we can also split out the work that's needed for the action into #8. Note that #8 (comment) has a good summary of what we're planning on here now. Thanks for the conversations on all this, @Jag-Marcel!

I think we're done with this at this point, right? We have a bit more to do for the workflow in #8, but then we should be good!

Thanks for all the work here, @wkyoshida and @Jag-Marcel! 😊