comparison libpurple/protocols/oscar/visibility.c @ 30375:ab7e28b1b478

Gettextized the code and rephrased some of the messages slightly.
author ivan.komarov@soc.pidgin.im
date Thu, 01 Jul 2010 17:15:37 +0000
parents 48fe4720d795
children c5790044f32f
comparison
equal deleted inserted replaced
30374:48fe4720d795 30375:ab7e28b1b478
17 * License along with this library; if not, write to the Free Software 17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA 18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
19 */ 19 */
20 20
21 #include "visibility.h" 21 #include "visibility.h"
22
23 /* 4 separate strings are needed in order to ease translators' job */
24 #define APPEAR_ONLINE N_("Appear Online")
25 #define DONT_APPEAR_ONLINE N_("Don't Appear Online")
26 #define APPEAR_OFFLINE N_("Appear Offline")
27 #define DONT_APPEAR_OFFLINE N_("Don't Appear Offline")
22 28
23 static guint16 29 static guint16
24 get_buddy_list_type(OscarData *od, const char *bname) 30 get_buddy_list_type(OscarData *od, const char *bname)
25 { 31 {
26 PurpleAccount *account = purple_connection_get_account(od->gc); 32 PurpleAccount *account = purple_connection_get_account(od->gc);
52 create_visibility_menu_item(OscarData *od, const char *bname) 58 create_visibility_menu_item(OscarData *od, const char *bname)
53 { 59 {
54 PurpleAccount *account = purple_connection_get_account(od->gc); 60 PurpleAccount *account = purple_connection_get_account(od->gc);
55 gboolean invisible = purple_account_is_status_active(account, OSCAR_STATUS_ID_INVISIBLE); 61 gboolean invisible = purple_account_is_status_active(account, OSCAR_STATUS_ID_INVISIBLE);
56 gboolean on_list = is_buddy_on_list(od, bname); 62 gboolean on_list = is_buddy_on_list(od, bname);
57 gchar *label; 63 const gchar *label;
58 PurpleMenuAction *result;
59 64
60 label = g_strdup_printf("%s %s", on_list ? "Don't Appear" : "Appear", invisible ? "Online" : "Offline"); 65 if (invisible) {
61 result = purple_menu_action_new(label, PURPLE_CALLBACK(visibility_cb), NULL, NULL); 66 label = on_list ? _(DONT_APPEAR_ONLINE) : _(APPEAR_ONLINE);
62 g_free(label); 67 } else {
63 return result; 68 label = on_list ? _(DONT_APPEAR_OFFLINE) : _(APPEAR_OFFLINE);
69 }
70 return purple_menu_action_new(label, PURPLE_CALLBACK(visibility_cb), NULL, NULL);
64 } 71 }
65 72
66 static void 73 static void
67 show_private_list(PurplePluginAction *action, guint16 list_type, const gchar *list_description, const gchar *menu_action_name) 74 show_private_list(PurplePluginAction *action, guint16 list_type, const gchar *list_description, const gchar *menu_action_name)
68 { 75 {
86 } 93 }
87 94
88 g_slist_free(buddies); 95 g_slist_free(buddies);
89 96
90 filtered_buddies = g_slist_reverse(filtered_buddies); 97 filtered_buddies = g_slist_reverse(filtered_buddies);
91 text = oscar_format_buddies(filtered_buddies, "you have no buddies on this list"); 98 text = oscar_format_buddies(filtered_buddies, _("you have no buddies on this list"));
92 g_slist_free(filtered_buddies); 99 g_slist_free(filtered_buddies);
93 100
94 secondary = g_strdup_printf("You can add a buddy to this list " 101 secondary = g_strdup_printf(_("You can add a buddy to this list "
95 "by right-clicking on them and " 102 "by right-clicking on them and "
96 "selecting \"%s\"", menu_action_name); 103 "selecting \"%s\""), menu_action_name);
97 purple_notify_formatted(gc, NULL, list_description, secondary, text, NULL, NULL); 104 purple_notify_formatted(gc, NULL, list_description, secondary, text, NULL, NULL);
98 g_free(secondary); 105 g_free(secondary);
99 g_free(text); 106 g_free(text);
100 } 107 }
101 108
102 void 109 void
103 oscar_show_visible_list(PurplePluginAction *action) 110 oscar_show_visible_list(PurplePluginAction *action)
104 { 111 {
105 show_private_list(action, AIM_SSI_TYPE_PERMIT, "These buddies will always see " 112 show_private_list(action, AIM_SSI_TYPE_PERMIT, _("These buddies will see "
106 "your status, even when you switch " 113 "your status when you switch "
107 "to \"Invisible\"", "Appear Online"); 114 "to \"Invisible\""),
115 _(APPEAR_ONLINE));
108 } 116 }
109 117
110 void 118 void
111 oscar_show_invisible_list(PurplePluginAction *action) 119 oscar_show_invisible_list(PurplePluginAction *action)
112 { 120 {
113 show_private_list(action, AIM_SSI_TYPE_DENY, "These buddies will always see you as offline", "Appear Offline"); 121 show_private_list(action, AIM_SSI_TYPE_DENY, _("These buddies will always see you as offline"), _(APPEAR_OFFLINE));
114 } 122 }