-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Runtime translation detection #69
Runtime translation detection #69
Conversation
This will keep the names consistent across the three members
This patch adds .IsTranslated(), .IsTranslatedN() and related functions to following objects: - Translation - Domain This makes it possible to detect whether a string is translatable or not during runtime.
Hi @m-horky , thanks for your contribution, I like the approach for the implementation. That said, I'm not so sure about the change in the Would you create a new interface for this methods? I'd say a small interface (recommended and idiomatic I think) that only contain this methods. What do you think? |
Hi, good idea, I'll some up with something and get back :) |
This patch adds .IsTranslated(), .IsTranslatedN() and related functions to following objects: - Po - Mo - locale - gotext and it creates helper interfaces in introspector.go. This makes it possible to detect whether a string is translatable or not during runtime. Resolves leonelquinteros#42
Hi. Let me know if this variant is any better and if you have more notes! |
Looking good now, thanks for your contribution! |
…4376) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/leonelquinteros/gotext](https://togithub.com/leonelquinteros/gotext) | `v1.5.2` -> `v1.6.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fleonelquinteros%2fgotext/v1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fleonelquinteros%2fgotext/v1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fleonelquinteros%2fgotext/v1.5.2/v1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fleonelquinteros%2fgotext/v1.5.2/v1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>leonelquinteros/gotext (github.com/leonelquinteros/gotext)</summary> ### [`v1.6.0`](https://togithub.com/leonelquinteros/gotext/releases/tag/v1.6.0) [Compare Source](https://togithub.com/leonelquinteros/gotext/compare/v1.5.2...v1.6.0) #### What's Changed - Allow locale to use a `fs.FS` by [@​kobergj](https://togithub.com/kobergj) in [https://github.com/leonelquinteros/gotext/pull/68](https://togithub.com/leonelquinteros/gotext/pull/68) - Runtime translation detection by [@​m-horky](https://togithub.com/m-horky) in [https://github.com/leonelquinteros/gotext/pull/69](https://togithub.com/leonelquinteros/gotext/pull/69) - feat: Add language getter for Locale by [@​taozhou-glean](https://togithub.com/taozhou-glean) in [https://github.com/leonelquinteros/gotext/pull/77](https://togithub.com/leonelquinteros/gotext/pull/77) - Allow setting global storage by [@​didrocks](https://togithub.com/didrocks) in [https://github.com/leonelquinteros/gotext/pull/80](https://togithub.com/leonelquinteros/gotext/pull/80) - Fix multiline export by [@​didrocks](https://togithub.com/didrocks) in [https://github.com/leonelquinteros/gotext/pull/82](https://togithub.com/leonelquinteros/gotext/pull/82) - Order locations in ascii order by [@​didrocks](https://togithub.com/didrocks) in [https://github.com/leonelquinteros/gotext/pull/83](https://togithub.com/leonelquinteros/gotext/pull/83) - Fix io/fs File leak by [@​diamondburned](https://togithub.com/diamondburned) in [https://github.com/leonelquinteros/gotext/pull/79](https://togithub.com/leonelquinteros/gotext/pull/79) - Add support for multiple languages by [@​m-horky](https://togithub.com/m-horky) in [https://github.com/leonelquinteros/gotext/pull/73](https://togithub.com/leonelquinteros/gotext/pull/73) - Revert "Add support for multiple languages" by [@​leonelquinteros](https://togithub.com/leonelquinteros) in [https://github.com/leonelquinteros/gotext/pull/84](https://togithub.com/leonelquinteros/gotext/pull/84) - Remove unused dependency by [@​der-lyse](https://togithub.com/der-lyse) in [https://github.com/leonelquinteros/gotext/pull/86](https://togithub.com/leonelquinteros/gotext/pull/86) - Fix typo in documentation by [@​der-lyse](https://togithub.com/der-lyse) in [https://github.com/leonelquinteros/gotext/pull/87](https://togithub.com/leonelquinteros/gotext/pull/87) - Add support for multiple languages by [@​m-horky](https://togithub.com/m-horky) in [https://github.com/leonelquinteros/gotext/pull/85](https://togithub.com/leonelquinteros/gotext/pull/85) #### New Contributors - [@​kobergj](https://togithub.com/kobergj) made their first contribution in [https://github.com/leonelquinteros/gotext/pull/68](https://togithub.com/leonelquinteros/gotext/pull/68) - [@​m-horky](https://togithub.com/m-horky) made their first contribution in [https://github.com/leonelquinteros/gotext/pull/69](https://togithub.com/leonelquinteros/gotext/pull/69) - [@​taozhou-glean](https://togithub.com/taozhou-glean) made their first contribution in [https://github.com/leonelquinteros/gotext/pull/77](https://togithub.com/leonelquinteros/gotext/pull/77) - [@​didrocks](https://togithub.com/didrocks) made their first contribution in [https://github.com/leonelquinteros/gotext/pull/80](https://togithub.com/leonelquinteros/gotext/pull/80) - [@​diamondburned](https://togithub.com/diamondburned) made their first contribution in [https://github.com/leonelquinteros/gotext/pull/79](https://togithub.com/leonelquinteros/gotext/pull/79) - [@​der-lyse](https://togithub.com/der-lyse) made their first contribution in [https://github.com/leonelquinteros/gotext/pull/86](https://togithub.com/leonelquinteros/gotext/pull/86) **Full Changelog**: leonelquinteros/gotext@v1.5.2...v1.6.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 6am on Monday" in timezone Europe/Paris, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/cozy/cozy-stack). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
Hello. Thanks for creating gettext-compatible Go package, it is much more elegant than the existing alternatives!
After reading #42, I decided to take a look into the package. The original rejected PR #41 already had the core ideas, which I adopted into a new design.
Since the originally suggested change would break the API compatibility, I decided to take another round and implemented
IsTranslated*
methods that can be used to detect whether a string has translation or not. They bubble up from individualTranslation
s up into the public module methods.The patch is split into three files. The two big changes contain their own tests. This patch should not be able to change any behavior, it does not alter the internal logic at all.
Is this a fix, improvement or something else?
This PR is an improvement.
What does this change implement/fix?
This PR implements methods to allow runtime detection of translations.
I have ...