Line data Source code
1 : // Package i18n は、国際化 (i18n) に関する値オブジェクト群を定義します。
2 : // 言語バンドルやロケール情報などを管理します。
3 : package i18n
4 :
5 : // Key は "ui.page.profile.title" のような翻訳キーを表す値オブジェクトです。
6 : type Key struct {
7 : value string
8 : }
9 :
10 : // NewKey はキー文字列を生成します。
11 0 : func NewKey(v string) Key {
12 0 : // ここで形式チェック(例: ドット区切り強制など)を加えても良い
13 0 : return Key{value: v}
14 0 : }
15 :
16 : // Value は内部値を返します。
17 0 : func (k Key) Value() string {
18 0 : return k.value
19 0 : }
20 :
21 : // Equal は等価比較を行います。
22 0 : func (k Key) Equal(other Key) bool {
23 0 : return k.value == other.value
24 0 : }
25 :
26 : // String はデバッグ等での表示用
27 0 : func (k Key) String() string {
28 0 : return k.value
29 0 : }
|