32namespace morph::forms::i18n {
69 std::string key{stem};
79[[nodiscard]]
inline std::string
fieldKeyStem(std::string_view actionTypeId, std::string_view wireField) {
80 std::string stem{actionTypeId};
91[[nodiscard]]
inline std::string
fieldKey(std::string_view actionTypeId, std::string_view wireField,
FieldSlot slot) {
106 if (i18nKeyOverride.empty()) {
109 return withSlot(i18nKeyOverride, slot);
116[[nodiscard]]
inline std::string
groupKey(std::string_view actionTypeId, std::size_t groupIndex) {
117 std::string key{actionTypeId};
119 key += std::to_string(groupIndex);
127[[nodiscard]]
inline std::string
ruleKey(std::string_view actionTypeId, std::size_t ruleIndex) {
128 std::string key{actionTypeId};
130 key += std::to_string(ruleIndex);
138 std::string key{wizardId};
147[[nodiscard]]
inline std::string
wizardStepTitleKey(std::string_view wizardId, std::size_t stepIndex) {
148 std::string key{wizardId};
150 key += std::to_string(stepIndex);
158[[nodiscard]]
inline std::string
appTitleKey(std::string_view appId) {
159 std::string key{appId};
168[[nodiscard]]
inline std::string
appMenuLabelKey(std::string_view appId, std::size_t menuIndex) {
169 std::string key{appId};
171 key += std::to_string(menuIndex);