diff options
author | mjentsch <mtthsjntsch@gmail.com> | 2015-12-06 22:38:06 +0300 |
---|---|---|
committer | mjentsch <mtthsjntsch@gmail.com> | 2015-12-06 22:38:06 +0300 |
commit | b2194b6a5d5c98ce87b08debfaae364f2f012a24 (patch) | |
tree | d4d24b29ba8a6ef5c280f0af3d7fa0f9d7bc60e1 /tgp-blist.c | |
parent | 51e7d211fe17acb24c9acb65ec32c53ab1355949 (diff) |
Translate group names
Diffstat (limited to 'tgp-blist.c')
-rw-r--r-- | tgp-blist.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/tgp-blist.c b/tgp-blist.c index 62562e0..46419f6 100644 --- a/tgp-blist.c +++ b/tgp-blist.c @@ -133,11 +133,22 @@ PurpleChat *tgp_blist_chat_find (struct tgl_state *TLS, tgl_peer_id_t user) { } PurpleGroup *tgp_blist_group_init (const char *name) { - PurpleGroup *grp = purple_find_group (name); - if (grp == NULL) { - grp = purple_group_new (name); + const char *translation = gettext (name); + PurpleGroup *grp = purple_find_group (translation); + if (! grp) { + grp = purple_group_new (translation); purple_blist_add_group (grp, NULL); } + + // purple group names weren't translated in earlier versions, to avoid duplicated groups and messing up the buddy + // list migrate all those groups manually + if (0 != strcmp (name, translation)) { + PurpleGroup *old = purple_find_group (name); + if (old) { + info ("group: non-translated group detected, migrating from %s to %s", name, translation); + purple_blist_rename_group (old, translation); + } + } return grp; } |