diff --git a/app/Helper/UserHelper.php b/app/Helper/UserHelper.php
index 15357e729..85d9335bc 100644
--- a/app/Helper/UserHelper.php
+++ b/app/Helper/UserHelper.php
@@ -111,31 +111,28 @@ class UserHelper extends Base
/**
* Get group names for a given user and return an associative array:
- * ['full_list'] = a comma-separated list of all group-memberships
- * ['limited_list'] = a comma-separated list limited to N groups depending on value of SHOW_GROUP_MEMBERSHIPS_IN_USERLIST_WITH_LIMIT
- * ['has_groups'] = boolean TRUE if user is member of at least one group ... else FALSE
*
* @access public
- * @param integer $user_id User id
+ * @param integer $userID User id
* @return array
*/
- public function getUsersGroupNames($user_id)
+ public function getUsersGroupNames($userID)
{
- $groups_list = array_column($this->groupMemberModel->getGroups($user_id), 'name');
- $full_list = implode(', ', $groups_list);
+ $groupsList = array_column($this->groupMemberModel->getGroups($userID), 'name');
+ $limitedList = $groupsList;
+ $total = count($groupsList);
- // let's reduce the array to the limit
- $limited_list = ( SHOW_GROUP_MEMBERSHIPS_IN_USERLIST_WITH_LIMIT == 0 ) ? $groups_list : array_slice($groups_list, 0 , SHOW_GROUP_MEMBERSHIPS_IN_USERLIST_WITH_LIMIT);
- // if limiting had any effect ... let's add a hint to the list, to inform the user there are more group-memberships for that user
- $limited_list = ( $groups_list == $limited_list ) ? implode(', ', $limited_list) : implode(', ', $limited_list) . ' ( >> ' . t('hover mouse over group-icon, to show all group-memberships') . ' )';
+ if ($total > 0 && SHOW_GROUP_MEMBERSHIPS_IN_USERLIST_WITH_LIMIT > 0) {
+ $limitedList = array_slice($groupsList, 0 , SHOW_GROUP_MEMBERSHIPS_IN_USERLIST_WITH_LIMIT);
+ }
- $has_groups = (count($groups_list)) ? true : false;
-
- return array(
- 'full_list' => $full_list,
- 'limited_list' => $limited_list,
- 'has_groups' => $has_groups
- );
+ return [
+ 'full_list' => $groupsList,
+ 'limited_list' => $limitedList,
+ 'has_groups' => $total > 0,
+ 'total' => $total,
+ 'not_shown' => $total - count($limitedList),
+ ];
}
/**
diff --git a/app/Locale/bs_BA/translations.php b/app/Locale/bs_BA/translations.php
index 6fd5cbfb2..2f7ae67d8 100644
--- a/app/Locale/bs_BA/translations.php
+++ b/app/Locale/bs_BA/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/ca_ES/translations.php b/app/Locale/ca_ES/translations.php
index c4243b11b..2aab55e80 100644
--- a/app/Locale/ca_ES/translations.php
+++ b/app/Locale/ca_ES/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php
index 1304e4c5a..f44d6c87d 100644
--- a/app/Locale/cs_CZ/translations.php
+++ b/app/Locale/cs_CZ/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php
index c461c3902..34c5b31c8 100644
--- a/app/Locale/da_DK/translations.php
+++ b/app/Locale/da_DK/translations.php
@@ -1416,7 +1416,7 @@ return array(
'Change to global tag' => 'Ændre til globalt mærke',
'Do you really want to make the tag "%s" global?' => 'Skal mærket "%s" gøres globalt?',
// 'Enable global tags for this project' => '',
- // 'Group membership(s):' => ':',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // 'Group membership(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php
index 0493b0a07..ddf75fc79 100644
--- a/app/Locale/de_DE/translations.php
+++ b/app/Locale/de_DE/translations.php
@@ -1417,6 +1417,6 @@ return array(
'Do you really want to make the tag "%s" global?' => 'Das Schlagwort "%s" wirklich global machen?',
'Enable global tags for this project' => 'Globale Schlagworte für dieses Projekt aktivieren',
'Group membership(s):' => 'Gruppen-Mitgliedschaft(en):',
- 'hover mouse over group-icon, to show all group-memberships' => 'Mauszeiger über das Gruppensymbol halten, um alle Gruppenmitgliedschaften anzuzeigen',
- '%s is a member of the following group(s):' => '%s ist Mitglied in der/den folgenden Gruppe(n):',
+ '%s is a member of the following group(s): %s' => '%s ist Mitglied in der/den folgenden Gruppe(n): %s',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/el_GR/translations.php b/app/Locale/el_GR/translations.php
index 4454b4e41..7105b66cd 100644
--- a/app/Locale/el_GR/translations.php
+++ b/app/Locale/el_GR/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php
index 8a3310d6b..51c855143 100644
--- a/app/Locale/es_ES/translations.php
+++ b/app/Locale/es_ES/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/es_VE/translations.php b/app/Locale/es_VE/translations.php
index a6f487edc..a4d66eb73 100644
--- a/app/Locale/es_VE/translations.php
+++ b/app/Locale/es_VE/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/fa_IR/translations.php b/app/Locale/fa_IR/translations.php
index c3a353144..8e98637bb 100644
--- a/app/Locale/fa_IR/translations.php
+++ b/app/Locale/fa_IR/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php
index efc17038c..c9401a96a 100644
--- a/app/Locale/fi_FI/translations.php
+++ b/app/Locale/fi_FI/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php
index 7bda0e13e..b604cc3fc 100644
--- a/app/Locale/fr_FR/translations.php
+++ b/app/Locale/fr_FR/translations.php
@@ -1417,6 +1417,6 @@ return array(
'Do you really want to make the tag "%s" global?' => 'Voulez-vous vraiment rendre le libellé « %s » global ?',
'Enable global tags for this project' => 'Activer les libellés globaux pour ce projet',
'Group membership(s):' => 'Membre des groupes :',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ '%s is a member of the following group(s): %s' => '%s est membre des groupes suivants: %s',
+ '%d/%d group(s) shown' => '%d/%d groupe(s) affiché(s)',
);
diff --git a/app/Locale/hr_HR/translations.php b/app/Locale/hr_HR/translations.php
index ee6c3dd10..bfbaf3f60 100644
--- a/app/Locale/hr_HR/translations.php
+++ b/app/Locale/hr_HR/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php
index a9ea50e09..2a58098e1 100644
--- a/app/Locale/hu_HU/translations.php
+++ b/app/Locale/hu_HU/translations.php
@@ -1417,6 +1417,6 @@ return array(
'Do you really want to make the tag "%s" global?' => 'Valóban globálissá szeretné tenni a(z) „%s” címkét?',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php
index 1cee426d7..8e0055dbf 100644
--- a/app/Locale/id_ID/translations.php
+++ b/app/Locale/id_ID/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php
index 646efb653..57dccdded 100644
--- a/app/Locale/it_IT/translations.php
+++ b/app/Locale/it_IT/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php
index 8053abb63..7963dd5ad 100644
--- a/app/Locale/ja_JP/translations.php
+++ b/app/Locale/ja_JP/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/ko_KR/translations.php b/app/Locale/ko_KR/translations.php
index 71a2e7024..c1ba6ef7f 100644
--- a/app/Locale/ko_KR/translations.php
+++ b/app/Locale/ko_KR/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/my_MY/translations.php b/app/Locale/my_MY/translations.php
index 37fae6a31..f22ec0d3e 100644
--- a/app/Locale/my_MY/translations.php
+++ b/app/Locale/my_MY/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php
index f01856dc0..adb3deacb 100644
--- a/app/Locale/nb_NO/translations.php
+++ b/app/Locale/nb_NO/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php
index 16bbe760e..730276377 100644
--- a/app/Locale/nl_NL/translations.php
+++ b/app/Locale/nl_NL/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php
index 7e9dc59df..152575555 100644
--- a/app/Locale/pl_PL/translations.php
+++ b/app/Locale/pl_PL/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php
index 1d4bb9519..7ae1f72ee 100644
--- a/app/Locale/pt_BR/translations.php
+++ b/app/Locale/pt_BR/translations.php
@@ -1417,6 +1417,6 @@ return array(
'Do you really want to make the tag "%s" global?' => 'Você realmente deseja transformar a etiqueta "%s" em etiqueta global?',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php
index ea8bf9fc6..b1c7c4229 100644
--- a/app/Locale/pt_PT/translations.php
+++ b/app/Locale/pt_PT/translations.php
@@ -1417,6 +1417,6 @@ return array(
'Do you really want to make the tag "%s" global?' => 'Tem a certeza que pretende por a etiqueta "%s" como global?',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/ro_RO/translations.php b/app/Locale/ro_RO/translations.php
index f71affb33..f8e6a6db4 100644
--- a/app/Locale/ro_RO/translations.php
+++ b/app/Locale/ro_RO/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php
index 961a02cff..88e74dc1e 100644
--- a/app/Locale/ru_RU/translations.php
+++ b/app/Locale/ru_RU/translations.php
@@ -1417,6 +1417,6 @@ return array(
'Do you really want to make the tag "%s" global?' => 'Вы действительно хотите сделать метку "%s" глобальной?',
'Enable global tags for this project' => 'Разрешить глобальные метки в этом проекте',
'Group membership(s):' => 'Состоит в группах:',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/sk_SK/translations.php b/app/Locale/sk_SK/translations.php
index 97f6472f0..b8431c37e 100644
--- a/app/Locale/sk_SK/translations.php
+++ b/app/Locale/sk_SK/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php
index e1cef7447..cc1c70dea 100644
--- a/app/Locale/sr_Latn_RS/translations.php
+++ b/app/Locale/sr_Latn_RS/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php
index c2632bb18..fe70b7ab5 100644
--- a/app/Locale/sv_SE/translations.php
+++ b/app/Locale/sv_SE/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php
index 36ee37e6e..b7c44f343 100644
--- a/app/Locale/th_TH/translations.php
+++ b/app/Locale/th_TH/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php
index d164cc327..91f1cbd80 100644
--- a/app/Locale/tr_TR/translations.php
+++ b/app/Locale/tr_TR/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/uk_UA/translations.php b/app/Locale/uk_UA/translations.php
index 68354537d..9b091fe83 100644
--- a/app/Locale/uk_UA/translations.php
+++ b/app/Locale/uk_UA/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/vi_VN/translations.php b/app/Locale/vi_VN/translations.php
index e2c3d9fb2..2cc370f61 100644
--- a/app/Locale/vi_VN/translations.php
+++ b/app/Locale/vi_VN/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php
index 4adb15fbb..1c247d78d 100644
--- a/app/Locale/zh_CN/translations.php
+++ b/app/Locale/zh_CN/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Locale/zh_TW/translations.php b/app/Locale/zh_TW/translations.php
index 50571a9f6..d28cd8d66 100644
--- a/app/Locale/zh_TW/translations.php
+++ b/app/Locale/zh_TW/translations.php
@@ -1417,6 +1417,6 @@ return array(
// 'Do you really want to make the tag "%s" global?' => '',
// 'Enable global tags for this project' => '',
// 'Group membership(s):' => '',
- // 'hover mouse over group-icon, to show all group-memberships' => '',
- // '%s is a member of the following group(s):' => '',
+ // '%s is a member of the following group(s): %s' => '',
+ // '%d/%d group(s) shown' => '',
);
diff --git a/app/Template/user_list/user_details.php b/app/Template/user_list/user_details.php
index 4cce320b8..cbc7f929f 100644
--- a/app/Template/user_list/user_details.php
+++ b/app/Template/user_list/user_details.php
@@ -11,11 +11,16 @@
= $this->text->e($user['email']) ?>
-
- user->getUsersGroupNames($user['id']); ?>
-
-
- = $users_group_names['limited_list'] ?>
+
+ user->getUsersGroupNames($user['id']); ?>
+
+
+
+ = $this->text->implode(', ', $users_groups['limited_list']) ?>
+ 0): ?>
+ ‑ = t('%d/%d group(s) shown', $users_groups['not_shown'], $users_groups['total']) ?>
+
+