EngineHub / EngineHub/Intake

Localization support

オープン
#6 コメント 9 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Java
スター
102
フォーク
18
PR マージ指標
30日以内にマージされた PR はありません

説明

Intake should provide some sort of support for localizations. This affects two fields:
1. **Internal localization:** All hard-coded strings should be externalized in a Java ResourceBundle and some behaviour might need to be updated in order to work as expected in an localized environment. Some points might need discussion:
- Intake has several internal runtime exceptions that the end-user should never see (e.g. `ParametricException`). These might not need localization.
- It might be a good idea to allow users to alter or replace the internal localization logic by providing custom translations. In that case the two entry points are `ParametricBuilder` and `CommandGraph`.
2. **External localization:** The values in command annotations, specifically description and help, need localization support. The entry point here is the `ParametricBuilder`.
- If localizations use key -> value relationships, as enforced by Java resource bundles, description and help methods would need to return the key. This contradicts the current behaviour where both methods return the actual value, so a support for that old, non localised behaviour is needed.

On both fields, the support should be as flexible as possible and do not enforce any specific way of handling `Locales` on the user.

---

Since I need localization support in MyWarp, I have implemented a limited localization support in my own Intake fork ([i18n branch](https://github.com/TheE/Intake/tree/i18n)). I would be happy to contribute these changes in a PR so there is something to discuss about, if the general direction fits.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

まず既存の i18n ブランチと、Issue で言及されている ParametricBuilder および CommandGraph のエントリーポイントを確認し、ハードコードされたランタイムメッセージとコマンドアノテーションの説明およびヘルプを追跡します。提案されている Java ResourceBundle アプローチを、現在の動作および9件のコメントでの議論と比較します。内部メッセージと外部コマンドテキストを対象とする、合意済みで柔軟なローカライゼーション設計ができれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
cli, internationalization
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。