Mercurial > pidgin.yaz
changeset 29943:9cb96fe7e414
propagate from branch 'im.pidgin.pidgin' (head 6d8a9a520e4ea4c291e8e4ddbd59bcdb988f3965)
to branch 'im.pidgin.cpw.rekkanoryo.ggupdate' (head fca920a325e72a4e07459eff26c4b6af242edb99)
author | John Bailey <rekkanoryo@rekkanoryo.org> |
---|---|
date | Sat, 06 Mar 2010 16:33:10 +0000 |
parents | 1b861e13ae45 (diff) c84ee0ff4fe6 (current diff) |
children | 818f2845ab47 |
files | configure.ac |
diffstat | 54 files changed, 454 insertions(+), 1176 deletions(-) [+] |
line wrap: on
line diff
--- a/.mtn-ignore Mon Mar 01 03:47:06 2010 +0000 +++ b/.mtn-ignore Sat Mar 06 16:33:10 2010 +0000 @@ -38,7 +38,10 @@ pidgin.spec$ pidgin-.*.tar.gz pidgin-.*.tar.bz2 +pidgin-*.*.*-dbgsym$ +pidgin-*.*.*-dbgsym.zip$ pidgin-*.*.*-win32bin$ +pidgin-*.*.*-win32-bin.zip$ pidgin/pidgin$ pidgin/pixmaps/emotes/default/24/theme pidgin/pixmaps/emotes/none/theme @@ -48,6 +51,9 @@ pidgin/plugins/perl/common/Makefile.old pidgin/win32/pidgin_dll_rc.rc$ pidgin/win32/pidgin_exe_rc.rc$ +pidgin/win32/nsis/gtk-runtime-*.*.*.*.zip +pidgin/win32/nsis/gtk_runtime_stage$ +pidgin/win32/nsis/pidgin-translations.nsh$ install-sh libpurple/dbus-bindings.c libpurple/dbus-signals.c
--- a/ChangeLog.win32 Mon Mar 01 03:47:06 2010 +0000 +++ b/ChangeLog.win32 Sat Mar 06 16:33:10 2010 +0000 @@ -5,6 +5,9 @@ * Crash Report files (pidgin.RPT) are now generated in the ~/.purple directory instead of the installation directory. * NSS SSL Library upgraded to 3.12.5 (thanks to Berke Viktor) + * GtkSpell upgraded to 2.0.16, changing the spellchecking backend to + enchant. This means that myspell, hunspell (OpenOffice) and existing + aspell dictionaries can be used. version 2.6.6 (02/18/2010): * Installer translations for: Norwegian nynorsk
--- a/Makefile.mingw Mon Mar 01 03:47:06 2010 +0000 +++ b/Makefile.mingw Sat Mar 06 16:33:10 2010 +0000 @@ -31,10 +31,7 @@ exit; \ }' VERSION) -GTK_INSTALL_VERSION = $(shell \ - source ../gtk_installer/version.sh; \ - echo $$gtk_version \ -) +GTK_INSTALL_VERSION = 2.14.7.0 STRIPPED_RELEASE_DIR = $(PIDGIN_TREE_TOP)/pidgin-$(PIDGIN_VERSION)-win32bin DEBUG_SYMBOLS_DIR = $(PIDGIN_TREE_TOP)/pidgin-$(PIDGIN_VERSION)-dbgsym @@ -44,11 +41,13 @@ # should be included in this list so they don't get stripped EXTERNAL_DLLS = \ comerr32.dll \ + exchndl.dll \ freebl3.dll \ gssapi32.dll \ k5sprt32.dll \ krb5_32.dll \ - libgtkspell.dll \ + libenchant.dll \ + libgtkspell-0.dll \ libmeanwhile-1.dll \ libnspr4.dll \ libplc4.dll \ @@ -74,7 +73,7 @@ #build an expression for `find` to use to ignore the above files EXTERNAL_DLLS_FIND_EXP = $(patsubst %,-o -name %,$(EXTERNAL_DLLS)) -.PHONY: all docs install installer installer_offline installer_zip debug_symbols_zip installers clean uninstall create_release_install_dir generate_translations_installer_include $(PIDGIN_REVISION_H) $(PIDGIN_REVISION_RAW_TXT) +.PHONY: all docs install installer installer_offline installer_zip debug_symbols_zip installers clean uninstall create_release_install_dir generate_installer_includes $(PIDGIN_REVISION_H) $(PIDGIN_REVISION_RAW_TXT) all: $(PIDGIN_CONFIG_H) $(PIDGIN_REVISION_H) $(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE) @@ -91,26 +90,48 @@ endif $(MAKE) -C share/ca-certs -f $(MINGW_MAKEFILE) install $(MAKE) -C share/sounds -f $(MINGW_MAKEFILE) install + mkdir -p $(PIDGIN_INSTALL_DIR)/spellcheck + cp $(GTKSPELL_TOP)/bin/libgtkspell-0.dll $(PIDGIN_INSTALL_DIR)/spellcheck + cp $(ENCHANT_TOP)/bin/libenchant.dll $(PIDGIN_INSTALL_DIR)/spellcheck + cp -R $(ENCHANT_TOP)/lib $(PIDGIN_INSTALL_DIR)/spellcheck + cp $(WIN32_DEV_TOP)/pidgin-inst-deps-20100223/exchndl.dll $(PIDGIN_INSTALL_DIR) -generate_translations_installer_include: create_release_install_dir - rm -f pidgin/win32/nsis/pidgin-translations.nsh +pidgin/win32/nsis/gtk-runtime-$(GTK_BUNDLE_VERSION).zip: + pidgin/win32/nsis/generate_gtk_zip.sh `pwd` + +generate_installer_includes: create_release_install_dir pidgin/win32/nsis/gtk-runtime-$(GTK_BUNDLE_VERSION).zip debug_symbols_zip + rm -f pidgin/win32/nsis/pidgin-translations.nsh pidgin/win32/nsis/pidgin-spellcheck.nsh pidgin/win32/nsis/pidgin-spellcheck-preselect.nsh find $(STRIPPED_RELEASE_DIR)/locale -maxdepth 1 -mindepth 1 \ -exec basename {} ';' \ | sed -e s/^/\!insertmacro\ LANG_SECTION\ \"/ -e s/$$/\"/ \ > pidgin/win32/nsis/pidgin-translations.nsh + #Convert the available.lst lines to "!insertmacro SPELLCHECK_SECTION lang lang_name lang_file" + sed -e "/^#/d" -e "s/^[^,]\{1,\},[^,]\{1,\},/\"/" \ + -e "s/,/\"\ \"/" -e "s/,/\"\ \"/" -e "s/[\ \t]*$$/\"/" \ + -e "s/^/\!insertmacro\ SPELLCHECK_SECTION\ /" \ + pidgin/win32/nsis/available.lst \ + > pidgin/win32/nsis/pidgin-spellcheck.nsh + #Convert the lines to "!insertmacro CHECK_SPELLCHECK_SECTION lang" + iconv -f latin1 -t utf-8 pidgin/win32/nsis/pidgin-spellcheck.nsh | \ + sed -e "s/SPELLCHECK_SECTION/CHECK_SPELLCHECK_SECTION/" \ + -e "s/ \"[^\"]*\"\ \"[^\"]*\"[\t\ ]*$$//" | \ + iconv -f utf-8 -t latin1 \ + > pidgin/win32/nsis/pidgin-spellcheck-preselect.nsh create_release_install_dir: install rm -rf $(STRIPPED_RELEASE_DIR) - cp -R $(PIDGIN_INSTALL_DIR) $(STRIPPED_RELEASE_DIR) + mkdir $(STRIPPED_RELEASE_DIR) + tar -cf - $(PIDGIN_INSTALL_DIR) --exclude=Gtk --exclude=spellcheck/share \ + | tar --strip 2 -xC $(STRIPPED_RELEASE_DIR) -f - find $(STRIPPED_RELEASE_DIR) \( -name '*.dll' -o -name '*.exe' \) \ -not \( -false $(EXTERNAL_DLLS_FIND_EXP) \) \ -exec $(STRIP) --strip-unneeded {} ';' -installer: create_release_install_dir generate_translations_installer_include +installer: generate_installer_includes $(MAKENSIS) $(MAKENSISOPT)V3 $(MAKENSISOPT)DPIDGIN_VERSION="$(PIDGIN_VERSION)" $(MAKENSISOPT)DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" $(MAKENSISOPT)DPIDGIN_INSTALL_DIR="$(STRIPPED_RELEASE_DIR)" $(MAKENSISOPT)DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION)" pidgin/win32/nsis/pidgin-installer.nsi mv pidgin/win32/nsis/pidgin-$(PIDGIN_VERSION).exe ./ -installer_offline: create_release_install_dir generate_translations_installer_include debug_symbols_zip +installer_offline: generate_installer_includes $(MAKENSIS) $(MAKENSISOPT)V3 $(MAKENSISOPT)DPIDGIN_VERSION="$(PIDGIN_VERSION)" $(MAKENSISOPT)DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" $(MAKENSISOPT)DOFFLINE_INSTALLER $(MAKENSISOPT)DPIDGIN_INSTALL_DIR="$(STRIPPED_RELEASE_DIR)" $(MAKENSISOPT)DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION)" pidgin/win32/nsis/pidgin-installer.nsi mv pidgin/win32/nsis/pidgin-$(PIDGIN_VERSION)-offline.exe ./
--- a/configure.ac Mon Mar 01 03:47:06 2010 +0000 +++ b/configure.ac Sat Mar 06 16:33:10 2010 +0000 @@ -2394,6 +2394,30 @@ AC_DEFINE(HAVE_TM_GMTOFF, 1, [Define if you have a tm_gmtoff member in struct tm]) fi +AC_CACHE_CHECK([whether va_lists can be copied by value], ac_cv_va_val_copy,[ + AC_TRY_RUN([#include <stdarg.h> +#include <stdlib.h> + void f (int i, ...) { + va_list args1, args2; + va_start (args1, i); + args2 = args1; + if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42) + exit (1); + va_end (args1); va_end (args2); + } + int main() { + f (0, 42); + return 0; + }], + [ac_cv_va_val_copy=yes], + [ac_cv_va_val_copy=no], + [ac_cv_va_val_copy=yes]) +]) + +if test "x$ac_cv_va_val_copy" = "xno"; then + AC_DEFINE(VA_COPY_AS_ARRAY, 1, ['va_lists' cannot be copied as values]) +fi + dnl ####################################################################### dnl # Check for check dnl #######################################################################
--- a/libpurple/connection.h Mon Mar 01 03:47:06 2010 +0000 +++ b/libpurple/connection.h Sat Mar 06 16:33:10 2010 +0000 @@ -44,8 +44,9 @@ PURPLE_CONNECTION_NO_FONTSIZE = 0x0020, /**< Connection does not send/receive font sizes */ PURPLE_CONNECTION_NO_URLDESC = 0x0040, /**< Connection does not support descriptions with links */ PURPLE_CONNECTION_NO_IMAGES = 0x0080, /**< Connection does not support sending of images */ - PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY = 0x0100 /**< Connection supports sending and receiving custom smileys */ - + PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY = 0x0100, /**< Connection supports sending and receiving custom smileys */ + PURPLE_CONNECTION_SUPPORT_MOODS = 0x0200, /**< Connection supports setting moods */ + PURPLE_CONNECTION_SUPPORT_MOOD_MESSAGES = 0x0400 /**< Connection supports setting a message on moods */ } PurpleConnectionFlags; typedef enum
--- a/libpurple/ft.c Mon Mar 01 03:47:06 2010 +0000 +++ b/libpurple/ft.c Sat Mar 06 16:33:10 2010 +0000 @@ -579,7 +579,7 @@ type = purple_xfer_get_type(xfer); account = purple_xfer_get_account(xfer); - purple_debug_misc("xfer", "request accepted for %p\n", xfer); + purple_debug_misc("xfer", "request accepted for %p\n", xfer); if (!filename && type == PURPLE_XFER_RECEIVE) { xfer->status = PURPLE_XFER_STATUS_ACCEPTED; @@ -1088,6 +1088,7 @@ size_t result = 0; size_t s = MIN(purple_xfer_get_bytes_remaining(xfer), xfer->current_buffer_size); PurpleXferPrivData *priv = g_hash_table_lookup(xfers_data, xfer); + gboolean read = TRUE; /* this is so the prpl can keep the connection open if it needs to for some odd reason. */ @@ -1099,47 +1100,41 @@ return; } - if (ui_ops && ui_ops->ui_read) { - gssize tmp = ui_ops->ui_read(xfer, &buffer, s); - if (tmp == 0) { - /* - * The UI claimed it was ready, but didn't have any data for - * us... It will call purple_xfer_ui_ready when ready, which - * sets back up this watcher. - */ - if (xfer->watcher != 0) { - purple_input_remove(xfer->watcher); - xfer->watcher = 0; + if (priv->buffer) { + if (priv->buffer->len < s) { + s -= priv->buffer->len; + read = TRUE; + } else { + read = FALSE; + } + } + + if (read) { + if (ui_ops && ui_ops->ui_read) { + gssize tmp = ui_ops->ui_read(xfer, &buffer, s); + if (tmp == 0) { + /* + * The UI claimed it was ready, but didn't have any data for + * us... It will call purple_xfer_ui_ready when ready, which + * sets back up this watcher. + */ + if (xfer->watcher != 0) { + purple_input_remove(xfer->watcher); + xfer->watcher = 0; + } + + /* Need to indicate the prpl is still ready... */ + priv->ready |= PURPLE_XFER_READY_PRPL; + + g_return_if_reached(); + } else if (tmp < 0) { + purple_debug_error("filetransfer", "Unable to read whole buffer.\n"); + purple_xfer_cancel_local(xfer); + return; } - /* Need to indicate the prpl is still ready... */ - priv->ready |= PURPLE_XFER_READY_PRPL; - - /* - * if we requested 0 bytes it's only normal that end up here - * we shouldn't return as we still have something to - * write in priv->buffer - */ - if (s != 0) - g_return_if_reached(); - } else if (tmp < 0) { - purple_debug_error("filetransfer", "Unable to read whole buffer.\n"); - purple_xfer_cancel_local(xfer); - return; - } - - result = tmp; - } else { - gboolean read = TRUE; - if (priv->buffer) { - if (priv->buffer->len < s) { - s -= priv->buffer->len; - read = TRUE; - } else { - read = FALSE; - } - } - if (read) { + result = tmp; + } else { buffer = g_malloc(s); result = fread(buffer, 1, s, xfer->dest_fp); if (result != s) { @@ -1150,14 +1145,14 @@ } } } - + if (priv->buffer) { priv->buffer = g_byte_array_append(priv->buffer, buffer, result); g_free(buffer); buffer = priv->buffer->data; result = priv->buffer->len; } - + r = purple_xfer_write(xfer, buffer, result); if (r == -1) { @@ -1172,12 +1167,12 @@ */ purple_xfer_increase_buffer_size(xfer); } else { - if (ui_ops && ui_ops->data_not_sent) - ui_ops->data_not_sent(xfer, buffer + r, result -r); + if (ui_ops && ui_ops->data_not_sent) + ui_ops->data_not_sent(xfer, buffer + r, result - r); } if (priv->buffer) { - /* + /* * Remove what we wrote * If we wrote the whole buffer the byte array will be empty * Otherwise we'll kee what wasn't sent for next time.
--- a/libpurple/log.c Mon Mar 01 03:47:06 2010 +0000 +++ b/libpurple/log.c Sat Mar 06 16:33:10 2010 +0000 @@ -36,8 +36,6 @@ #include "imgstore.h" #include "time.h" -#include <math.h> - static GSList *loggers = NULL; static PurpleLogLogger *html_logger;
--- a/libpurple/plugins/perl/perl-common.c Mon Mar 01 03:47:06 2010 +0000 +++ b/libpurple/plugins/perl/perl-common.c Sat Mar 06 16:33:10 2010 +0000 @@ -472,74 +472,74 @@ } SV * -purple_perl_sv_from_vargs(const PurpleValue *value, va_list args, void ***copy_arg) +purple_perl_sv_from_vargs(const PurpleValue *value, va_list *args, void ***copy_arg) { if (purple_value_is_outgoing(value)) { switch (purple_value_get_type(value)) { case PURPLE_TYPE_SUBTYPE: - if ((*copy_arg = va_arg(args, void **)) == NULL) + if ((*copy_arg = va_arg(*args, void **)) == NULL) return &PL_sv_undef; return purple_perl_sv_from_subtype(value, *(void **)*copy_arg); case PURPLE_TYPE_BOOLEAN: - if ((*copy_arg = (void *)va_arg(args, gboolean *)) == NULL) + if ((*copy_arg = (void *)va_arg(*args, gboolean *)) == NULL) return &PL_sv_undef; return newSViv(*(gboolean *)*copy_arg); case PURPLE_TYPE_INT: - if ((*copy_arg = (void *)va_arg(args, int *)) == NULL) + if ((*copy_arg = (void *)va_arg(*args, int *)) == NULL) return &PL_sv_undef; return newSViv(*(int *)*copy_arg); case PURPLE_TYPE_UINT: - if ((*copy_arg = (void *)va_arg(args, unsigned int *)) == NULL) + if ((*copy_arg = (void *)va_arg(*args, unsigned int *)) == NULL) return &PL_sv_undef; return newSVuv(*(unsigned int *)*copy_arg); case PURPLE_TYPE_LONG: - if ((*copy_arg = (void *)va_arg(args, long *)) == NULL) + if ((*copy_arg = (void *)va_arg(*args, long *)) == NULL) return &PL_sv_undef; return newSViv(*(long *)*copy_arg); case PURPLE_TYPE_ULONG: - if ((*copy_arg = (void *)va_arg(args, + if ((*copy_arg = (void *)va_arg(*args, unsigned long *)) == NULL) return &PL_sv_undef; return newSVuv(*(unsigned long *)*copy_arg); case PURPLE_TYPE_INT64: - if ((*copy_arg = (void *)va_arg(args, gint64 *)) == NULL) + if ((*copy_arg = (void *)va_arg(*args, gint64 *)) == NULL) return &PL_sv_undef; return newSViv(*(gint64 *)*copy_arg); case PURPLE_TYPE_UINT64: - if ((*copy_arg = (void *)va_arg(args, guint64 *)) == NULL) + if ((*copy_arg = (void *)va_arg(*args, guint64 *)) == NULL) return &PL_sv_undef; return newSVuv(*(guint64 *)*copy_arg); case PURPLE_TYPE_STRING: - if ((*copy_arg = (void *)va_arg(args, char **)) == NULL) + if ((*copy_arg = (void *)va_arg(*args, char **)) == NULL) return &PL_sv_undef; return newSVGChar(*(char **)*copy_arg); case PURPLE_TYPE_POINTER: - if ((*copy_arg = va_arg(args, void **)) == NULL) + if ((*copy_arg = va_arg(*args, void **)) == NULL) return &PL_sv_undef; return newSViv((IV)*(void **)*copy_arg); case PURPLE_TYPE_BOXED: /* Uh.. I dunno. Try this? */ - if ((*copy_arg = va_arg(args, void **)) == NULL) + if ((*copy_arg = va_arg(*args, void **)) == NULL) return &PL_sv_undef; return sv_2mortal(purple_perl_bless_object( @@ -553,40 +553,40 @@ } else { switch (purple_value_get_type(value)) { case PURPLE_TYPE_SUBTYPE: - if ((*copy_arg = va_arg(args, void *)) == NULL) + if ((*copy_arg = va_arg(*args, void *)) == NULL) return &PL_sv_undef; return purple_perl_sv_from_subtype(value, *copy_arg); case PURPLE_TYPE_BOOLEAN: - *copy_arg = GINT_TO_POINTER( va_arg(args, gboolean) ); + *copy_arg = GINT_TO_POINTER( va_arg(*args, gboolean) ); return newSViv((gboolean)GPOINTER_TO_INT(*copy_arg)); case PURPLE_TYPE_INT: - *copy_arg = GINT_TO_POINTER( va_arg(args, int) ); + *copy_arg = GINT_TO_POINTER( va_arg(*args, int) ); return newSViv(GPOINTER_TO_INT(*copy_arg)); case PURPLE_TYPE_UINT: - *copy_arg = GUINT_TO_POINTER(va_arg(args, unsigned int)); + *copy_arg = GUINT_TO_POINTER(va_arg(*args, unsigned int)); return newSVuv(GPOINTER_TO_UINT(*copy_arg)); case PURPLE_TYPE_LONG: - *copy_arg = (void *)va_arg(args, long); + *copy_arg = (void *)va_arg(*args, long); return newSViv((long)*copy_arg); case PURPLE_TYPE_ULONG: - *copy_arg = (void *)va_arg(args, unsigned long); + *copy_arg = (void *)va_arg(*args, unsigned long); return newSVuv((unsigned long)*copy_arg); case PURPLE_TYPE_INT64: #if 0 /* XXX This yells and complains. */ - *copy_arg = va_arg(args, gint64); + *copy_arg = va_arg(*args, gint64); return newSViv(*copy_arg); #endif @@ -595,27 +595,27 @@ case PURPLE_TYPE_UINT64: /* XXX This also yells and complains. */ #if 0 - *copy_arg = (void *)va_arg(args, guint64); + *copy_arg = (void *)va_arg(*args, guint64); return newSVuv(*copy_arg); #endif break; case PURPLE_TYPE_STRING: - if ((*copy_arg = (void *)va_arg(args, char *)) == NULL) + if ((*copy_arg = (void *)va_arg(*args, char *)) == NULL) return &PL_sv_undef; return newSVGChar((char *)*copy_arg); case PURPLE_TYPE_POINTER: - if ((*copy_arg = (void *)va_arg(args, void *)) == NULL) + if ((*copy_arg = (void *)va_arg(*args, void *)) == NULL) return &PL_sv_undef; return newSViv((IV)*copy_arg); case PURPLE_TYPE_BOXED: /* Uh.. I dunno. Try this? */ - if ((*copy_arg = (void *)va_arg(args, void *)) == NULL) + if ((*copy_arg = (void *)va_arg(*args, void *)) == NULL) return &PL_sv_undef; return sv_2mortal(purple_perl_bless_object(*copy_arg,
--- a/libpurple/plugins/perl/perl-common.h Mon Mar 01 03:47:06 2010 +0000 +++ b/libpurple/plugins/perl/perl-common.h Sat Mar 06 16:33:10 2010 +0000 @@ -66,7 +66,7 @@ #endif void *purple_perl_data_from_sv(PurpleValue *value, SV *sv); -SV *purple_perl_sv_from_vargs(const PurpleValue *value, va_list args, +SV *purple_perl_sv_from_vargs(const PurpleValue *value, va_list *args, void ***copy_arg); SV *purple_perl_sv_from_fun(PurplePlugin *plugin, SV *callback); #endif /* _PURPLE_PERL_COMMON_H_ */
--- a/libpurple/plugins/perl/perl-handlers.c Mon Mar 01 03:47:06 2010 +0000 +++ b/libpurple/plugins/perl/perl-handlers.c Sat Mar 06 16:33:10 2010 +0000 @@ -298,7 +298,11 @@ for (i = 0; i < value_count; i++) { sv_args[i] = purple_perl_sv_from_vargs(values[i], - args, +#ifdef VA_COPY_AS_ARRAY + (va_list*)args, +#else + (va_list*)&args, +#endif ©_args[i]); XPUSHs(sv_args[i]);
--- a/libpurple/protocols/bonjour/mdns_win32.c Mon Mar 01 03:47:06 2010 +0000 +++ b/libpurple/protocols/bonjour/mdns_win32.c Sat Mar 06 16:33:10 2010 +0000 @@ -251,7 +251,7 @@ static void DNSSD_API _mdns_service_resolve_callback(DNSServiceRef sdRef, DNSServiceFlags flags, uint32_t interfaceIndex, DNSServiceErrorType errorCode, - const char *fullname, const char *hosttarget, uint16_t port, uint16_t txtLen, const char *txtRecord, void *context) + const char *fullname, const char *hosttarget, uint16_t port, uint16_t txtLen, const unsigned char *txtRecord, void *context) { ResolveCallbackArgs *args = (ResolveCallbackArgs*) context; Win32BuddyImplData *idata = args->bb->mdns_impl_data;
--- a/libpurple/protocols/irc/irc.c Mon Mar 01 03:47:06 2010 +0000 +++ b/libpurple/protocols/irc/irc.c Sat Mar 06 16:33:10 2010 +0000 @@ -369,7 +369,7 @@ const char *pass = purple_connection_get_password(gc); if (pass && *pass) { - buf = irc_format(irc, "vv", "PASS", pass); + buf = irc_format(irc, "v:", "PASS", pass); if (irc_send(irc, buf) < 0) { g_free(buf); return FALSE;
--- a/libpurple/protocols/jabber/buddy.c Mon Mar 01 03:47:06 2010 +0000 +++ b/libpurple/protocols/jabber/buddy.c Sat Mar 06 16:33:10 2010 +0000 @@ -218,7 +218,7 @@ for (l = jb->resources; l; l = l->next) { JabberBuddyResource *jbr = l->data; - if (g_str_equal(resource, jbr->name)) + if (jbr->name && g_str_equal(resource, jbr->name)) return jbr; }
--- a/libpurple/protocols/jabber/disco.c Mon Mar 01 03:47:06 2010 +0000 +++ b/libpurple/protocols/jabber/disco.c Sat Mar 06 16:33:10 2010 +0000 @@ -517,8 +517,12 @@ const char *category, *type, *name; category = xmlnode_get_attrib(child, "category"); type = xmlnode_get_attrib(child, "type"); - if(category && type && !strcmp(category, "pubsub") && !strcmp(type,"pep")) + if(category && type && !strcmp(category, "pubsub") && !strcmp(type,"pep")) { + PurpleConnection *gc = js->gc; js->pep = TRUE; + gc->flags |= PURPLE_CONNECTION_SUPPORT_MOODS | + PURPLE_CONNECTION_SUPPORT_MOOD_MESSAGES; + } if (!category || strcmp(category, "server")) continue; if (!type || strcmp(type, "im"))
--- a/libpurple/protocols/jabber/presence.c Mon Mar 01 03:47:06 2010 +0000 +++ b/libpurple/protocols/jabber/presence.c Sat Mar 06 16:33:10 2010 +0000 @@ -137,7 +137,9 @@ if (purple_status_type_get_primitive(purple_status_get_type(status)) == PURPLE_STATUS_MOOD) { const char *mood = purple_status_get_attr_string(status, PURPLE_MOOD_NAME); - jabber_mood_set(js, mood, NULL); + const char *mood_text = + purple_status_get_attr_string(status, PURPLE_MOOD_COMMENT); + jabber_mood_set(js, mood, mood_text); return; }
--- a/libpurple/protocols/jabber/usermood.c Mon Mar 01 03:47:06 2010 +0000 +++ b/libpurple/protocols/jabber/usermood.c Sat Mar 06 16:33:10 2010 +0000 @@ -119,10 +119,6 @@ {NULL, NULL, NULL} }; -static PurpleMood empty_moods[] = { - {NULL, NULL, NULL} -}; - static void jabber_mood_cb(JabberStream *js, const char *from, xmlnode *items) { /* it doesn't make sense to have more than one item here, so let's just pick the first one */ xmlnode *item = xmlnode_get_child(items, "item"); @@ -260,14 +256,5 @@ PurpleMood *jabber_get_moods(PurpleAccount *account) { - PurpleConnection *gc = purple_account_get_connection(account); - JabberStream *js = (JabberStream *) gc->proto_data; - - if (js->pep) { - purple_debug_info("jabber", "get_moods: account supports PEP\n"); - return moods; - } else { - purple_debug_info("jabber", "get_moods: account doesn't support PEP\n"); - return empty_moods; - } + return moods; } \ No newline at end of file
--- a/libpurple/protocols/oscar/oscar.c Mon Mar 01 03:47:06 2010 +0000 +++ b/libpurple/protocols/oscar/oscar.c Sat Mar 06 16:33:10 2010 +0000 @@ -1573,6 +1573,7 @@ if (oscar_util_valid_name_icq((purple_account_get_username(account)))) { od->icq = TRUE; + gc->flags |= PURPLE_CONNECTION_SUPPORT_MOODS; } else { gc->flags |= PURPLE_CONNECTION_HTML; gc->flags |= PURPLE_CONNECTION_AUTO_RESP; @@ -3797,7 +3798,7 @@ if (utf8 == NULL) /* The conversion failed! */ utf8 = g_strdup(_("[Unable to display a message from this user because it contained invalid characters.]")); - serv_got_chat_in(gc, ccon->id, info->bn, 0, utf8, time((time_t)NULL)); + serv_got_chat_in(gc, ccon->id, info->bn, 0, utf8, time(NULL)); g_free(utf8); return 1;
--- a/libpurple/upnp.c Mon Mar 01 03:47:06 2010 +0000 +++ b/libpurple/upnp.c Sat Mar 06 16:33:10 2010 +0000 @@ -542,7 +542,7 @@ len = recv(dd->fd, buf, sizeof(buf) - 1, 0); - if(len > 0) { + if(len >= 0) { buf[len] = '\0'; break; } else if(errno != EINTR) {
--- a/libpurple/win32/global.mak Mon Mar 01 03:47:06 2010 +0000 +++ b/libpurple/win32/global.mak Sat Mar 06 16:33:10 2010 +0000 @@ -10,8 +10,8 @@ # Locations of our various dependencies WIN32_DEV_TOP ?= $(PIDGIN_TREE_TOP)/../win32-dev -ASPELL_TOP ?= $(WIN32_DEV_TOP)/aspell-dev-0-50-3-3 -GTKSPELL_TOP ?= $(WIN32_DEV_TOP)/gtkspell-2.0.11-daa1 +GTKSPELL_TOP ?= $(WIN32_DEV_TOP)/gtkspell-2.0.16 +ENCHANT_TOP ?= $(WIN32_DEV_TOP)/enchant_1.5.0-2_win32 GTK_TOP ?= $(WIN32_DEV_TOP)/gtk_2_0-2.14 GTK_BIN ?= $(GTK_TOP)/bin BONJOUR_TOP ?= $(WIN32_DEV_TOP)/Bonjour_SDK
--- a/libpurple/win32/libc_interface.c Mon Mar 01 03:47:06 2010 +0000 +++ b/libpurple/win32/libc_interface.c Sat Mar 06 16:33:10 2010 +0000 @@ -62,7 +62,7 @@ /* helpers */ static int wpurple_is_socket( int fd ) { int optval; - unsigned int optlen = sizeof(int); + int optlen = sizeof(int); if( (getsockopt(fd, SOL_SOCKET, SO_TYPE, (void*)&optval, &optlen)) == SOCKET_ERROR ) { int error = WSAGetLastError(); @@ -973,7 +973,7 @@ memset(zonename, 0, sizeof(zonename)); namesize = sizeof(zonename); - if ((r = RegQueryValueEx(key, "Std", NULL, NULL, zonename, &namesize)) != ERROR_SUCCESS) + if ((r = RegQueryValueEx(key, "Std", NULL, NULL, (LPBYTE)zonename, &namesize)) != ERROR_SUCCESS) { purple_debug_warning("wpurple", "could not query value for 'std' to identify Windows timezone: %i\n", (int) r); RegCloseKey(key); @@ -988,7 +988,7 @@ } memset(zonename, 0, sizeof(zonename)); namesize = sizeof(zonename); - if ((r = RegQueryValueEx(key, "Dlt", NULL, NULL, zonename, &namesize)) != ERROR_SUCCESS) + if ((r = RegQueryValueEx(key, "Dlt", NULL, NULL, (LPBYTE)zonename, &namesize)) != ERROR_SUCCESS) { purple_debug_warning("wpurple", "could not query value for 'dlt' to identify Windows timezone: %i\n", (int) r); RegCloseKey(key);
--- a/pidgin/Makefile.am Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/Makefile.am Sat Mar 06 16:33:10 2010 +0000 @@ -21,6 +21,7 @@ win32/winpidgin.c \ win32/wspell.c \ win32/wspell.h \ + win32/nsis/generate_gtk_zip.sh \ win32/nsis/pixmaps/pidgin-header.bmp \ win32/nsis/pixmaps/pidgin-intro.bmp \ win32/nsis/pixmaps/pidgin-install.ico \
--- a/pidgin/Makefile.mingw Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/Makefile.mingw Sat Mar 06 16:33:10 2010 +0000 @@ -9,8 +9,6 @@ DEFINES := $(subst -DWIN32_LEAN_AND_MEAN,,$(DEFINES)) -NEEDED_DLLS = $(GTKSPELL_TOP)/gtkspell/libgtkspell.dll - ## ## VARIABLE DEFINITIONS ## @@ -43,14 +41,12 @@ -I$(GTK_TOP)/include/atk-1.0 \ -I$(GTK_TOP)/include/cairo \ -I$(GTK_TOP)/lib/gtk-2.0/include \ - -I$(GTKSPELL_TOP) \ - -I$(ASPELL_TOP)/include + -I$(GTKSPELL_TOP)/include/gtkspell-2.0 LIB_PATHS += -L$(GTK_TOP)/lib \ -L$(PURPLE_TOP) \ -L$(PIDGIN_TOP) \ - -L$(PIDGIN_IDLETRACK_TOP) \ - -L$(ASPELL_TOP)/lib + -L$(PIDGIN_IDLETRACK_TOP) ## ## SOURCES, OBJECTS @@ -151,7 +147,6 @@ install_shallow: $(PIDGIN_INSTALL_DIR) $(EXE_TARGET).exe $(PIDGIN_TARGET).dll cp $(EXE_TARGET).exe $(PIDGIN_TARGET).dll $(PIDGIN_INSTALL_DIR) - cp $(NEEDED_DLLS) $(PIDGIN_INSTALL_DIR) install: install_shallow all $(MAKE) -C $(PIDGIN_PLUGINS_TOP) -f $(MINGW_MAKEFILE) install
--- a/pidgin/gtkblist.c Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/gtkblist.c Sat Mar 06 16:33:10 2010 +0000 @@ -7818,20 +7818,29 @@ static void edit_mood_cb(PurpleConnection *gc, PurpleRequestFields *fields) { - PurpleRequestField *f; + PurpleRequestField *mood_field, *text_field; GList *l; - f = purple_request_fields_get_field(fields, "mood"); - l = purple_request_field_list_get_selected(f); + mood_field = purple_request_fields_get_field(fields, "mood"); + text_field = purple_request_fields_get_field(fields, "text"); + l = purple_request_field_list_get_selected(mood_field); if (l) { - const char *mood = purple_request_field_list_get_data(f, l->data); + const char *mood = purple_request_field_list_get_data(mood_field, l->data); + const char *text = purple_request_field_string_get_value(text_field); PurpleAccount *account = purple_connection_get_account(gc); if (mood != NULL && !purple_strequal(mood, "")) { - purple_account_set_status(account, "mood", TRUE, - PURPLE_MOOD_NAME, mood, - NULL); + if (text) { + purple_account_set_status(account, "mood", TRUE, + PURPLE_MOOD_NAME, mood, + PURPLE_MOOD_COMMENT, text, + NULL); + } else { + purple_account_set_status(account, "mood", TRUE, + PURPLE_MOOD_NAME, mood, + NULL); + } } else { purple_account_set_status(account, "mood", FALSE, NULL); } @@ -7884,6 +7893,15 @@ purple_request_fields_add_group(fields, g); + /* if the connection allows setting a mood message */ + if (gc->flags & PURPLE_CONNECTION_SUPPORT_MOOD_MESSAGES) { + g = purple_request_field_group_new(NULL); + f = purple_request_field_string_new("text", + _("Message (optional)"), NULL, FALSE); + purple_request_field_group_add_field(g, f); + purple_request_fields_add_group(fields, g); + } + purple_request_fields(gc, _("Edit User Mood"), _("Edit User Mood"), NULL, fields, _("OK"), G_CALLBACK(edit_mood_cb), @@ -8016,8 +8034,10 @@ if (prpl_info && (PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl_info, get_moods) || PURPLE_PLUGIN_HAS_ACTIONS(plugin))) { - if (PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl_info, get_moods)) { + if (PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl_info, get_moods) && + gc->flags & PURPLE_CONNECTION_SUPPORT_MOODS) { GList *types; + for (types = purple_account_get_status_types(account); types != NULL ; types = types->next) { PurpleStatusType *type = types->data;
--- a/pidgin/win32/gtkdocklet-win32.c Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/gtkdocklet-win32.c Sat Mar 06 16:33:10 2010 +0000 @@ -21,7 +21,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02111-1301, USA. */ - +#define _WIN32_IE 0x0500 #include <windows.h> #include <gdk/gdkwin32.h> #include <gdk/gdk.h> @@ -51,7 +51,7 @@ /* This is used to trigger click events on so they appear to GTK+ as if they are triggered by input */ static GtkWidget *dummy_button = NULL; static GtkWidget *dummy_window = NULL; -static NOTIFYICONDATA _nicon_data; +static NOTIFYICONDATAW _nicon_data; static gboolean dummy_button_cb(GtkWidget *widget, GdkEventButton *event, gpointer user_data) { pidgin_docklet_clicked(event->button); @@ -64,7 +64,7 @@ switch(msg) { case WM_CREATE: purple_debug_info("docklet", "WM_CREATE\n"); - taskbarRestartMsg = RegisterWindowMessage("TaskbarCreated"); + taskbarRestartMsg = RegisterWindowMessageW(L"TaskbarCreated"); break; case WM_TIMER: @@ -114,7 +114,7 @@ if (msg == taskbarRestartMsg) { /* explorer crashed and left us hanging... This will put the systray icon back in it's place, when it restarts */ - Shell_NotifyIcon(NIM_ADD, &_nicon_data); + Shell_NotifyIconW(NIM_ADD, &_nicon_data); } break; }/* end switch */ @@ -124,10 +124,10 @@ /* Create hidden window to process systray messages */ static HWND systray_create_hiddenwin() { - WNDCLASSEX wcex; - LPCTSTR wname; + WNDCLASSEXW wcex; + wchar_t *wname; - wname = TEXT("WinpidginSystrayWinCls"); + wname = L"WinpidginSystrayWinCls"; wcex.cbSize = sizeof(wcex); wcex.style = 0; @@ -142,22 +142,25 @@ wcex.lpszClassName = wname; wcex.hIconSm = NULL; - RegisterClassEx(&wcex); + RegisterClassExW(&wcex); /* Create the window */ - return (CreateWindow(wname, "", 0, 0, 0, 0, 0, GetDesktopWindow(), NULL, winpidgin_exe_hinstance(), 0)); + return (CreateWindowW(wname, L"", 0, 0, 0, 0, 0, GetDesktopWindow(), NULL, winpidgin_exe_hinstance(), 0)); } static void systray_init_icon(HWND hWnd) { + wchar_t *w; ZeroMemory(&_nicon_data, sizeof(_nicon_data)); - _nicon_data.cbSize = sizeof(NOTIFYICONDATA); + _nicon_data.cbSize = sizeof(NOTIFYICONDATAW); _nicon_data.hWnd = hWnd; _nicon_data.uID = 0; _nicon_data.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; _nicon_data.uCallbackMessage = WM_TRAYMESSAGE; _nicon_data.hIcon = NULL; - lstrcpy(_nicon_data.szTip, PIDGIN_NAME); - Shell_NotifyIcon(NIM_ADD, &_nicon_data); + w = g_utf8_to_utf16(PIDGIN_NAME, -1, NULL, NULL, NULL); + wcsncpy(_nicon_data.szTip, w, sizeof(_nicon_data.szTip) / sizeof(wchar_t)); + g_free(w); + Shell_NotifyIconW(NIM_ADD, &_nicon_data); pidgin_docklet_embedded(); } @@ -486,11 +489,11 @@ g_return_if_fail(hicon != NULL); _nicon_data.hIcon = hicon; - Shell_NotifyIcon(NIM_MODIFY, &_nicon_data); + Shell_NotifyIconW(NIM_MODIFY, &_nicon_data); } static void systray_remove_nid(void) { - Shell_NotifyIcon(NIM_DELETE, &_nicon_data); + Shell_NotifyIconW(NIM_DELETE, &_nicon_data); } static void winpidgin_tray_update_icon(PurpleStatusPrimitive status, @@ -547,19 +550,19 @@ static void winpidgin_tray_blank_icon() { _nicon_data.hIcon = NULL; - Shell_NotifyIcon(NIM_MODIFY, &_nicon_data); + Shell_NotifyIconW(NIM_MODIFY, &_nicon_data); } static void winpidgin_tray_set_tooltip(gchar *tooltip) { - if (tooltip) { - char *locenc = NULL; - locenc = g_locale_from_utf8(tooltip, -1, NULL, NULL, NULL); - lstrcpyn(_nicon_data.szTip, locenc, sizeof(_nicon_data.szTip) / sizeof(TCHAR)); - g_free(locenc); - } else { - lstrcpy(_nicon_data.szTip, PIDGIN_NAME); - } - Shell_NotifyIcon(NIM_MODIFY, &_nicon_data); + const char *value = tooltip; + wchar_t *w; + if (value == NULL) { + value = PIDGIN_NAME; + } + w = g_utf8_to_utf16(value, -1, NULL, NULL, NULL); + wcsncpy(_nicon_data.szTip, w, sizeof(_nicon_data.szTip) / sizeof(wchar_t)); + g_free(w); + Shell_NotifyIconW(NIM_MODIFY, &_nicon_data); } static void winpidgin_tray_minimize(PidginBuddyList *gtkblist) {
--- a/pidgin/win32/nsis/available.lst Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/available.lst Sat Mar 06 16:33:10 2010 +0000 @@ -4,72 +4,46 @@ sq,AL,sq_AL,Albanian (Albania),sq_AL.zip bg,BG,bg_BG,Bulgarian (Bulgaria),bg_BG.zip ca,ES,ca_ES,Catalan (Spain),ca_ES.zip +cop,EG,cop_EG,Coptic (Egypt),cop_EG.zip hr,HR,hr_HR,Croatian (Croatia),hr_HR.zip cs,CZ,cs_CZ,Czech (Czech Republic),cs_CZ.zip da,DK,da_DK,Danish (Denmark),da_DK.zip nl,NL,nl_NL,Dutch (Netherlands),nl_NL.zip nl,NL,nl_med,Dutch Medical (Netherlands),nl_med.zip -nl,BE,nl_NL,Dutch (Belgium),nl_NL.zip -nl,BE,nl_NL,Dutch Medical (Belgium),nl_NL.zip en,AU,en_AU,English (Australia),en_AU.zip en,CA,en_CA,English (Canada),en_CA.zip en,NZ,en_NZ,English (New Zealand),en_NZ.zip en,ZA,en_ZA,English (South Africa),en_ZA.zip en,GB,en_GB,English (United Kingdom),en_GB.zip en,US,en_US,English (United States),en_US.zip -cop,EG,cop_EG,Coptic (Egypt),cop_EG.zip eo,ANY,eo_l3,Esperanto,eo.zip et,EE,et_EE,Estonian (Estonia),et_EE.zip fo,FO,fo_FO,Faroese (Faroe Islands),fo_FO.zip -fr,BE,fr_FR,Franテァais Rテゥforme 1990 & Classique (Belgium),fr_FR_1-3-2.zip -fr,CA,fr_FR,Franテァais Rテゥforme 1990 & Classique (Canada),fr_FR_1-3-2.zip -fr,FR,fr_FR,Franテァais Rテゥforme 1990 & Classique (France),fr_FR_1-3-2.zip -fr,LU,fr_FR,Franテァais Rテゥforme 1990 & Classique (Luxembourg),fr_FR_1-3-2.zip -fr,MC,fr_FR,Franテァais Rテゥforme 1990 & Classique (Monaco),fr_FR_1-3-2.zip -fr,CH,fr_FR,Franテァais Rテゥforme 1990 & Classique (Switzerland),fr_FR_1-3-2.zip -fr,BE,fr_FR-classique,Franテァais Classique (Belgium),fr_FR-classique_1-3-2.zip -fr,CA,fr_FR-classique,Franテァais Classique (Canada),fr_FR-classique_1-3-2.zip -fr,FR,fr_FR-classique,Franテァais Classique (France),fr_FR-classique_1-3-2.zip -fr,LU,fr_FR-classique,Franテァais Classique (Luxembourg),fr_FR-classique_1-3-2.zip -fr,MC,fr_FR-classique,Franテァais Classique (Monaco),fr_FR-classique_1-3-2.zip -fr,CH,fr_FR-classique,Franテァais Classique (Switzerland),fr_FR-classique_1-3-2.zip -fr,BE,fr_FR-1990,Franテァais Rテゥforme 1990 (Belgium),fr_FR-1990_1-3-2.zip -fr,CA,fr_FR-1990,Franテァais Rテゥforme 1990 (Canada),fr_FR-1990_1-3-2.zip -fr,FR,fr_FR-1990,Franテァais Rテゥforme 1990 (France),fr_FR-1990_1-3-2.zip -fr,LU,fr_FR-1990,Franテァais Rテゥforme 1990 (Luxembourg),fr_FR-1990_1-3-2.zip -fr,MC,fr_FR-1990,Franテァais Rテゥforme 1990 (Monaco),fr_FR-1990_1-3-2.zip -fr,CH,fr_FR-1990,Franテァais Rテゥforme 1990 (Switzerland),fr_FR-1990_1-3-2.zip +fr,FR,fr_FR-classique,Fran軋is Classique,fr_FR-classique_1-3-2.zip +fr,FR,fr_FR-1990,Fran軋is R馭orme 1990,fr_FR-1990_1-3-2.zip +fr,FR,fr_FR,Fran軋is R馭orme 1990 & Classique,fr_FR_1-3-2.zip fy,NL,fy_NL,Frisian (Netherlands),fy_NL.zip gl,ES,gl_ES,Galician (Spain),gl_ES.zip gsc,FR,gsc_FR,Gascon (France),gsc_FR.zip -de,AT,de_DE,German (Austria Base),de_DE.zip de,AT,de_AT,German (Austria Extension),de_AT.zip de,AT,de_AT_frami,German (Austria) neu 08/2006 (frami),de_AT_frami.zip de,DE,de_DE,German (Germany),de_DE.zip de,DE,de_DE_frami,German (Germany) neu 08/2006 (frami),de_DE_frami.zip -de,LI,de_CH,German (Liechtenstein),de_CH.zip -de,LI,de_CH_frami,German (Liechtenstein) neu 08/2006 (frami),de_CH_frami.zip -de,LU,de_DE,German (Luxembourg),de_DE.zip -de,LU,de_DE_frami,German (Luxembourg) neu 08/2006 (frami),de_DE_frami.zip de,CH,de_CH,German (Switzerland),de_CH.zip de,CT,de_CH_frami,German (Switzerland) neu 08/2006 (frami),de_CH_frami.zip el,GR,el_GR,Greek (Greece),el_GR.zip gu,IN,gu_IN,Gujarati (India),gu_IN.zip -gd,GB,gd_GB,Scots Gaelic (Scotland),gd_GB.zip he,IL,he_IL,Hebrew (Israel),he_IL.zip hil,PH,hil_PH,Hiligaynon (Philippines),hil_PH.zip hu,HU,hu_HU,Hungarian (Hungary),hu_HU.zip hu,HU,hu_HU_comb,Hungarian (Hungary) collected compounds,hu_HU_comb.zip id,ID,id_ID,Indonesian (Indonesia),id_ID.zip -ia,ANY,ia_ANY,Interlingua (ANY locale),ia_ANY.zip ga,IE,ga_IE,Irish (Ireland),ga_IE.zip it,IT,it_IT,Italian (Italy),it_IT.zip -it,CH,it_IT,Italian (Switzerland),it_IT.zip sw,KE,sw_KE,Kiswahili (Africa),sw_KE.zip +ku,TR,ku_TR,Kurdish (Turkey),ku_TR.zip +it,IT,la,Latin,la.zip lv,LV,lv_LV,Latvian (Latvia),lv_LV.zip -ku,TR,ku_TR,Kurdish (Turkey),ku_TR.zip -ku,TR,ku_TR,Kurdish (Syria),ku_TR.zip -it,IT,la,Latin (for x-register),la.zip lt,LT,lt_LT,Lithuanian (Lithuania),lt_LT.zip mk,MK,mk_MK,Macedonian (Macedonia),mk_MK.zip ms,MY,ms_MY,Malay (Malaysia),ms_MY.zip @@ -89,6 +63,7 @@ ru,RU,ru_RU,Russian (Russia),ru_RU.zip ru,RU,ru_RU_ye,Russian_ye (Russia),ru_RU_ye.zip ru,RU,ru_RU_yo,Russian_yo (Russia),ru_RU_yo.zip +gd,GB,gd_GB,Scots Gaelic (Scotland),gd_GB.zip tn,ZA,tn_ZA,Setswana (Africa),tn_ZA.zip sk,SK,sk_SK,Slovak (Slovakia),sk_SK.zip sl,SI,sl_SI,Slovenian (Slovenia),sl_SI.zip @@ -104,7 +79,6 @@ es,EC,es_EC,Spanish (Ecuador),es_EC.zip es,SV,es_SV,Spanish (El Salvador),es_SV.zip es,GT,es_GT,Spanish (Guatemala),es_GT.zip -es,HN,es_HN,Spanish (Honduras),es_HN.zip es,MX,es_MX,Spanish (Mexico),es_MX.zip es,NI,es_NI,Spanish (Nicaragua),es_NI.zip es,PA,es_PA,Spanish (Panama),es_PA.zip @@ -118,8 +92,7 @@ sv,SE,sv_SE,Swedish (Sweden),sv_SE.zip ts,ZA,ts_ZA,Tsonga (South Africa),ts_ZA.zip uk,UA,uk_UA,Ukrainian (Ukraine),uk_UA.zip -ur,IN,ur_PK,Urdu (India),ur_PK.zip -ur,PK,ur_PK,Urdu (Pakistan),ur_PK.zip +ur,PK,ur_PK,Urdu,ur_PK.zip ve,ZA,ve_ZA,Venda (South Africa),ve_ZA.zip vi,VN,vi_VN,Vietnamese (Viet-Nam),vi_VN.zip cy,GB,cy_GB,Welsh (Wales),cy_GB.zip
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/win32/nsis/generate_gtk_zip.sh Sat Mar 06 16:33:10 2010 +0000 @@ -0,0 +1,80 @@ +#!/bin/bash +# Script to generate zip file for GTK+ runtime to be included in Pidgin installer + +PIDGIN_BASE=$1 + +if [ ! -e $PIDGIN_BASE/ChangeLog.win32 ]; then + echo `basename $0` must must have the pidgin base dir specified as a parameter. + exit 1 +fi + +STAGE_DIR=$PIDGIN_BASE/pidgin/win32/nsis/gtk_runtime_stage +#Subdirectory of $STAGE_DIR +INSTALL_DIR=Gtk +CONTENTS_FILE=$INSTALL_DIR/CONTENTS + +#This needs to be changed every time there is any sort of change. +BUNDLE_VERSION=2.14.7.0 + +ATK="http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip ATK 1.24.0-1" +CAIRO="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.10-1_win32.zip Cairo 1.8.10-1" +EXPAT="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip Expat 2.0.1-1" +FONTCONFIG="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/fontconfig_2.8.0-2_win32.zip Fontconfig 2.8.0-2" +FREETYPE="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/freetype_2.3.11-2_win32.zip Freetype 2.3.11-2" +GETTEXT="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17-1.zip Gettext 0.17-1" +GLIB="http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.20/glib_2.20.5-1_win32.zip Glib 2.20.5-1" +GTK="http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip GTK+ 2.14.7-1" +LIBJPEG="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/jpeg-6b-4.zip libjpeg 6b-4" +#Used by GTK+ +LIBPNG="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.39-1_win32.zip libpng 1.2.39-1" +#Used by Cairo +LIBPNG2="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.4.0-1_win32.zip libpng 1.4.0-1" +LIBTIFF="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libtiff_3.9.1-1_win32.zip libtiff 3.9.1-1" +PANGO="http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.26/pango_1.26.2-1_win32.zip Pango 1.26.2-1" +ZLIB="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib 1.2.3" + +ALL="ATK CAIRO EXPAT FONTCONFIG FREETYPE GETTEXT GLIB GTK LIBJPEG LIBPNG LIBPNG2 LIBTIFF PANGO ZLIB" + +mkdir -p $STAGE_DIR +cd $STAGE_DIR + +rm -rf $INSTALL_DIR +mkdir $INSTALL_DIR + +#new CONTENTS file +echo Bundle Version $BUNDLE_VERSION > $CONTENTS_FILE + +function download_and_extract { + URL=${1%%\ *} + NAME=${1#*\ } + FILE=`basename $URL` + if [ ! -e $FILE ]; then + echo Downloading $NAME + wget $URL + fi + unzip -q $FILE -d $INSTALL_DIR + echo "$NAME" >> $CONTENTS_FILE +} + +for VAL in $ALL +do + VAR=${!VAL} + download_and_extract "$VAR" +done + +#Default GTK+ Theme to MS-Windows +echo gtk-theme-name = \"MS-Windows\" > $INSTALL_DIR/etc/gtk-2.0/gtkrc + +#Blow away translations that we don't have in Pidgin +for LOCALE_DIR in $INSTALL_DIR/share/locale/* +do + LOCALE=`basename $LOCALE_DIR` + if [ ! -e $PIDGIN_BASE/po/$LOCALE.po ]; then + echo Remove $LOCALE translation as it is missing from Pidgin + rm -r $LOCALE_DIR + fi +done + +#Generate zip file to be included in installer +zip -9 -r ../gtk-runtime-$BUNDLE_VERSION.zip Gtk +
--- a/pidgin/win32/nsis/langmacros.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/langmacros.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -48,6 +48,7 @@ !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_DESKTOP_SHORTCUT_DESC ${CUR_LANG} !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_STARTMENU_SHORTCUT_DESC ${CUR_LANG} !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT DEBUG_SYMBOLS_SECTION_TITLE ${CUR_LANG} + !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT TRANSLATIONS_SECTION_TITLE ${CUR_LANG} ; Installer Finish Page !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_FINISH_VISIT_WEB_SITE ${CUR_LANG} @@ -65,37 +66,11 @@ ; Spellcheck Section Prompts !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_SECTION_TITLE ${CUR_LANG} !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_ERROR ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_DICT_ERROR ${CUR_LANG} !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_SECTION_DESCRIPTION ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT ASPELL_INSTALL_FAILED ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_BRETON ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_CATALAN ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_CZECH ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_WELSH ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_DANISH ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_GERMAN ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_ENGLISH ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_GREEK ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_ESPERANTO ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_SPANISH ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_FAROESE ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_FRENCH ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_ITALIAN ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_DUTCH ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_NORWEGIAN ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_POLISH ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_PORTUGUESE ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_ROMANIAN ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_RUSSIAN ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_SLOVAK ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_SWEDISH ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_SPELLCHECK_UKRAINIAN ${CUR_LANG} !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_DEBUGSYMBOLS_ERROR ${CUR_LANG} !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT PIDGIN_GTK_DOWNLOAD_ERROR ${CUR_LANG} - !insertmacro PIDGIN_MACRO_LANGSTRING_INSERT TRANSLATIONS_SECTION_TITLE ${CUR_LANG} - !undef CUR_LANG !macroend
--- a/pidgin/win32/nsis/pidgin-installer.nsi Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/pidgin-installer.nsi Sat Mar 06 16:33:10 2010 +0000 @@ -28,6 +28,7 @@ ShowInstDetails show ShowUninstDetails show SetDateSave on +RequestExecutionLevel highest ; $name and $INSTDIR are set in .onInit function.. @@ -53,7 +54,6 @@ ;Defines !define PIDGIN_NSIS_INCLUDE_PATH "." -!define PIDGIN_INSTALLER_DEPS "..\..\..\..\win32-dev\pidgin-inst-deps-20100223" ; Remove these and the stuff that uses them at some point !define OLD_GAIM_REG_KEY "SOFTWARE\gaim" @@ -71,8 +71,8 @@ !define PERL_REG_KEY "SOFTWARE\Perl" !define PERL_DLL "perl510.dll" -!define ASPELL_REG_KEY "SOFTWARE\Aspell" !define DOWNLOADER_URL "http://pidgin.im/win32/download_redir.php" +!define SPELL_DOWNLOAD_URL "http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries" !define MEMENTO_REGISTRY_ROOT HKLM !define MEMENTO_REGISTRY_KEY "${PIDGIN_UNINSTALL_KEY}" @@ -302,7 +302,7 @@ IfErrors uninstall_problem ; Ready to uninstall.. ClearErrors - ExecWait '"$TEMP\$R6" /S /KEEPGTK=1 _?=$R1' + ExecWait '"$TEMP\$R6" /S /UPGRADE=1 _?=$R1' IfErrors exec_error Delete "$TEMP\$R6" Goto done @@ -340,7 +340,7 @@ !ifdef OFFLINE_INSTALLER SetOutPath $PLUGINSDIR - File /oname=gtk.zip "..\..\..\..\gtk_installer\gtk-runtime-${GTK_INSTALL_VERSION}.zip" + File /oname=gtk.zip ".\gtk-runtime-${GTK_INSTALL_VERSION}.zip" !else @@ -356,6 +356,9 @@ !endif + ;Delete the old Gtk directory + RMDir /r "$INSTDIR\Gtk" + SetOutPath "$INSTDIR" nsisunz::UnzipToLog $R1 "$INSTDIR" Pop $R0 @@ -414,7 +417,6 @@ Delete "$INSTDIR\plugins\libjabber.dll" File /r /x locale ..\..\..\${PIDGIN_INSTALL_DIR}\*.* - File "${PIDGIN_INSTALLER_DEPS}\exchndl.dll" ; Check if Perl is installed, if so add it to the AppPaths ReadRegStr $R2 HKLM ${PERL_REG_KEY} "" @@ -504,7 +506,7 @@ !macro LANG_SECTION lang ${MementoUnselectedSection} "${lang}" SecLang_${lang} SetOutPath "$INSTDIR\locale\${lang}\LC_MESSAGES" - File /oname=pidgin.mo "..\..\..\${PIDGIN_INSTALL_DIR}\locale\${lang}\LC_MESSAGES\pidgin.mo" + File "..\..\..\${PIDGIN_INSTALL_DIR}\locale\${lang}\LC_MESSAGES\*.mo" SetOutPath "$INSTDIR" ${MementoSectionEnd} !macroend @@ -517,95 +519,15 @@ ;-------------------------------- ;Spell Checking -SectionGroup /e $(PIDGIN_SPELLCHECK_SECTION_TITLE) SecSpellCheck - Section /o $(PIDGIN_SPELLCHECK_BRETON) SecSpellCheckBreton - Push ${SecSpellCheckBreton} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_CATALAN) SecSpellCheckCatalan - Push ${SecSpellCheckCatalan} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_CZECH) SecSpellCheckCzech - Push ${SecSpellCheckCzech} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_WELSH) SecSpellCheckWelsh - Push ${SecSpellCheckWelsh} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_DANISH) SecSpellCheckDanish - Push ${SecSpellCheckDanish} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_GERMAN) SecSpellCheckGerman - Push ${SecSpellCheckGerman} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_GREEK) SecSpellCheckGreek - Push ${SecSpellCheckGreek} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_ENGLISH) SecSpellCheckEnglish - Push ${SecSpellCheckEnglish} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_ESPERANTO) SecSpellCheckEsperanto - Push ${SecSpellCheckEsperanto} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_SPANISH) SecSpellCheckSpanish - Push ${SecSpellCheckSpanish} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_FAROESE) SecSpellCheckFaroese - Push ${SecSpellCheckFaroese} - Call InstallAspellAndDict +!macro SPELLCHECK_SECTION lang lang_name lang_file + Section /o "${lang_name}" SecSpell_${lang} + Push ${lang_file} + Push ${lang} + Call InstallDict SectionEnd - Section /o $(PIDGIN_SPELLCHECK_FRENCH) SecSpellCheckFrench - Push ${SecSpellCheckFrench} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_ITALIAN) SecSpellCheckItalian - Push ${SecSpellCheckItalian} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_DUTCH) SecSpellCheckDutch - Push ${SecSpellCheckDutch} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_NORWEGIAN) SecSpellCheckNorwegian - Push ${SecSpellCheckNorwegian} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_POLISH) SecSpellCheckPolish - Push ${SecSpellCheckPolish} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_PORTUGUESE) SecSpellCheckPortuguese - Push ${SecSpellCheckPortuguese} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_ROMANIAN) SecSpellCheckRomanian - Push ${SecSpellCheckRomanian} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_RUSSIAN) SecSpellCheckRussian - Push ${SecSpellCheckRussian} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_SLOVAK) SecSpellCheckSlovak - Push ${SecSpellCheckSlovak} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_SWEDISH) SecSpellCheckSwedish - Push ${SecSpellCheckSwedish} - Call InstallAspellAndDict - SectionEnd - Section /o $(PIDGIN_SPELLCHECK_UKRAINIAN) SecSpellCheckUkrainian - Push ${SecSpellCheckUkrainian} - Call InstallAspellAndDict - SectionEnd +!macroend +SectionGroup $(PIDGIN_SPELLCHECK_SECTION_TITLE) SecSpellCheck + !include "pidgin-spellcheck.nsh" SectionGroupEnd Section /o $(DEBUG_SYMBOLS_SECTION_TITLE) SecDebugSymbols @@ -769,9 +691,16 @@ Delete "$INSTDIR\sounds\purple\send.wav" RMDir "$INSTDIR\sounds\purple" RMDir "$INSTDIR\sounds" + Delete "$INSTDIR\spellcheck\libenchant.dll" + Delete "$INSTDIR\spellcheck\libgtkspell-0.dll" + Delete "$INSTDIR\spellcheck\lib\enchant\libenchant_aspell.dll" + Delete "$INSTDIR\spellcheck\lib\enchant\libenchant_ispell.dll" + Delete "$INSTDIR\spellcheck\lib\enchant\libenchant_myspell.dll" + RMDir "$INSTDIR\spellcheck\lib\enchant" + RMDir "$INSTDIR\spellcheck\lib" + RMDir "$INSTDIR\spellcheck" Delete "$INSTDIR\freebl3.dll" Delete "$INSTDIR\idletrack.dll" - Delete "$INSTDIR\libgtkspell.dll" Delete "$INSTDIR\libjabber.dll" Delete "$INSTDIR\libnspr4.dll" Delete "$INSTDIR\libmeanwhile-1.dll" @@ -803,10 +732,13 @@ ; Remove the local GTK+ copy (if we're not just upgrading) ${GetParameters} $R0 ClearErrors - ${GetOptions} "$R0" "/KEEPGTK=" $R1 + ${GetOptions} "$R0" "/UPGRADE=" $R1 IfErrors +2 - StrCmp $R1 "1" +2 + StrCmp $R1 "1" upgrade_done RMDir /r "$INSTDIR\Gtk" + ; Remove the downloaded spellcheck dictionaries (if we're not just upgrading) + RMDir /r "$INSTDIR\spellcheck" + upgrade_done: ;Try to remove Pidgin install dir (only if empty) RMDir "$INSTDIR" @@ -845,50 +777,7 @@ !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheck} \ $(PIDGIN_SPELLCHECK_SECTION_DESCRIPTION) - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckBreton} \ - "$(PIDGIN_SPELLCHECK_BRETON) (862kb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckCatalan} \ - "$(PIDGIN_SPELLCHECK_CATALAN) (3.9Mb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckCzech} \ - "$(PIDGIN_SPELLCHECK_CZECH) (17Mb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckWelsh} \ - "$(PIDGIN_SPELLCHECK_WELSH) (4.2Mb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckDanish} \ - "$(PIDGIN_SPELLCHECK_DANISH) (6.9Mb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckGerman} \ - "$(PIDGIN_SPELLCHECK_GERMAN) (5.4Mb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckGreek} \ - "$(PIDGIN_SPELLCHECK_GREEK) (7.1Mb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckEnglish} \ - "$(PIDGIN_SPELLCHECK_ENGLISH) (2.3Mb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckEsperanto} \ - "$(PIDGIN_SPELLCHECK_ESPERANTO) (5.7Mb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckSpanish} \ - "$(PIDGIN_SPELLCHECK_SPANISH) (7.0Mb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckFaroese} \ - "$(PIDGIN_SPELLCHECK_FAROESE) (913kb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckFrench} \ - "$(PIDGIN_SPELLCHECK_FRENCH) (9.3Mb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckItalian} \ - "$(PIDGIN_SPELLCHECK_ITALIAN) (770kb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckDutch} \ - "$(PIDGIN_SPELLCHECK_DUTCH) (3.7Mb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckNorwegian} \ - "$(PIDGIN_SPELLCHECK_NORWEGIAN) (3.2Mb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckPolish} \ - "$(PIDGIN_SPELLCHECK_POLISH) (9.3Mb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckPortuguese} \ - "$(PIDGIN_SPELLCHECK_PORTUGUESE) (5.5Mb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckRomanian} \ - "$(PIDGIN_SPELLCHECK_ROMANIAN) (906kb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckRussian} \ - "$(PIDGIN_SPELLCHECK_RUSSIAN) (11Mb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckSlovak} \ - "$(PIDGIN_SPELLCHECK_SLOVAK) (8.0Mb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckSwedish} \ - "$(PIDGIN_SPELLCHECK_SWEDISH) (2.2Mb)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSpellCheckUkrainian} \ - "$(PIDGIN_SPELLCHECK_UKRAINIAN) (12Mb)" + !insertmacro MUI_FUNCTION_DESCRIPTION_END ;-------------------------------- @@ -1235,12 +1124,6 @@ ${MementoSectionRestore} - !insertmacro SetSectionFlag ${SecSpellCheck} ${SF_RO} - !insertmacro UnselectSection ${SecSpellCheck} - - ;Mark the dictionaries that are already installed as readonly - Call SelectAndDisableInstalledDictionaries - ;Preselect the URI handlers as appropriate Call SelectURIHandlerSelections @@ -1339,6 +1222,10 @@ StrCpy $INSTDIR "$R2\Pidgin" instdir_done: + + ;Mark the dictionaries that are already installed as readonly + Call SelectAndDisableInstalledDictionaries + ;LogSet on Pop $R3 Pop $R2 @@ -1395,234 +1282,72 @@ ; Convert the a Section index to the language code ; Push the section index onto the stack and pop off the language code after the call ; This will set the error code, if no match is found -Function GetLangCodeForSection - ClearErrors - Push $R0 - Exch - Pop $R0 ;This is the section index - - IntCmp $R0 ${SecSpellCheckBreton} 0 +3 +3 - StrCpy $R0 "br" - Goto done - IntCmp $R0 ${SecSpellCheckCatalan} 0 +3 +3 - StrCpy $R0 "ca" - Goto done - IntCmp $R0 ${SecSpellCheckCzech} 0 +3 +3 - StrCpy $R0 "cs" - Goto done - IntCmp $R0 ${SecSpellCheckWelsh} 0 +3 +3 - StrCpy $R0 "cy" - Goto done - IntCmp $R0 ${SecSpellCheckDanish} 0 +3 +3 - StrCpy $R0 "da" - Goto done - IntCmp $R0 ${SecSpellCheckGerman} 0 +3 +3 - StrCpy $R0 "de" - Goto done - IntCmp $R0 ${SecSpellCheckGreek} 0 +3 +3 - StrCpy $R0 "el" - Goto done - IntCmp $R0 ${SecSpellCheckEnglish} 0 +3 +3 - StrCpy $R0 "en" - Goto done - IntCmp $R0 ${SecSpellCheckEsperanto} 0 +3 +3 - StrCpy $R0 "eo" - Goto done - IntCmp $R0 ${SecSpellCheckSpanish} 0 +3 +3 - StrCpy $R0 "es" - Goto done - IntCmp $R0 ${SecSpellCheckFaroese} 0 +3 +3 - StrCpy $R0 "fo" - Goto done - IntCmp $R0 ${SecSpellCheckFrench} 0 +3 +3 - StrCpy $R0 "fr" - Goto done - IntCmp $R0 ${SecSpellCheckItalian} 0 +3 +3 - StrCpy $R0 "it" - Goto done - IntCmp $R0 ${SecSpellCheckDutch} 0 +3 +3 - StrCpy $R0 "nl" - Goto done - IntCmp $R0 ${SecSpellCheckNorwegian} 0 +3 +3 - StrCpy $R0 "no" - Goto done - IntCmp $R0 ${SecSpellCheckPolish} 0 +3 +3 - StrCpy $R0 "pl" - Goto done - IntCmp $R0 ${SecSpellCheckPortuguese} 0 +3 +3 - StrCpy $R0 "pt" - Goto done - IntCmp $R0 ${SecSpellCheckRomanian} 0 +3 +3 - StrCpy $R0 "ro" - Goto done - IntCmp $R0 ${SecSpellCheckRussian} 0 +3 +3 - StrCpy $R0 "ru" - Goto done - IntCmp $R0 ${SecSpellCheckSlovak} 0 +3 +3 - StrCpy $R0 "sk" - Goto done - IntCmp $R0 ${SecSpellCheckSwedish} 0 +3 +3 - StrCpy $R0 "sv" - Goto done - IntCmp $R0 ${SecSpellCheckUkrainian} 0 +3 +3 - StrCpy $R0 "uk" - Goto done - - SetErrors - - done: - Exch $R0 -FunctionEnd ;GetLangCodeForSection ; Select and Disable any Sections that have currently installed dictionaries +!macro CHECK_SPELLCHECK_SECTION lang + ;Advance to the next (correct) section index + IntOp $R0 $R0 + 1 + IfFileExists "$INSTDIR\spellcheck\share\enchant\myspell\${lang}.dic" 0 done_${lang} + SectionGetFlags $R0 $R1 + IntOp $R1 $R1 | ${SF_RO} ; Mark Readonly + IntOp $R1 $R1 | ${SF_SELECTED} ; Select + SectionSetFlags $R0 $R1 + done_${lang}: +!macroend Function SelectAndDisableInstalledDictionaries Push $R0 Push $R1 - Push $R2 - - ; Start with the first language dictionary - IntOp $R0 ${SecSpellCheck} + 1 - - start: - ; If it is the end of the section group, stop - SectionGetFlags $R0 $R1 - IntOp $R2 $R1 & ${SF_SECGRPEND} - IntCmp $R2 ${SF_SECGRPEND} done - - Push $R0 - Call GetLangCodeForSection - Pop $R2 - IfErrors end_loop - ReadRegStr $R2 HKLM "${ASPELL_REG_KEY}-$R2" "" ; Check that the dictionary is installed - StrCmp $R2 "" end_loop ; If it isn't installed, skip to the next item - IntOp $R1 $R1 | ${SF_RO} ; Mark Readonly - IntOp $R1 $R1 | ${SF_SELECTED} ; Select - SectionSetFlags $R0 $R1 - - end_loop: - IntOp $R0 $R0 + 1 ;Advance to the next section - Goto start - done: - Pop $R2 - Pop $R1 - Pop $R0 -FunctionEnd - -Function InstallAspellAndDict - Push $R0 - Exch - Call GetLangCodeForSection - Pop $R0 ;This is the language code - Push $R1 - - InitPluginsDir - - IfErrors done ; We weren't able to convert the section to lang code + !insertmacro SetSectionFlag ${SecSpellCheck} ${SF_RO} + !insertmacro UnselectSection ${SecSpellCheck} - retry: - Call InstallAspell - Pop $R1 - StrCmp $R1 "" +3 - StrCmp $R1 "cancel" done - MessageBox MB_RETRYCANCEL "$(PIDGIN_SPELLCHECK_ERROR) : $R1" /SD IDCANCEL IDRETRY retry IDCANCEL done - - retry_dict: - Push $R0 - Call InstallAspellDictionary - Pop $R1 - StrCmp $R1 "" +3 - StrCmp $R1 "cancel" done - MessageBox MB_RETRYCANCEL "$(PIDGIN_SPELLCHECK_DICT_ERROR) : $R1" /SD IDCANCEL IDRETRY retry_dict - - done: + IntOp $R0 ${SecSpellCheck} + 0 + !include "pidgin-spellcheck-preselect.nsh" Pop $R1 Pop $R0 FunctionEnd -Function InstallAspell - Push $R0 - Push $R1 - Push $R2 - - check: - ClearErrors - ReadRegDWORD $R0 HKLM ${ASPELL_REG_KEY} "AspellVersion" - IntCmp $R0 15 installed - - ; If this is the check after installation, don't infinite loop on failure - StrCmp $R1 "$PLUGINSDIR\aspell_installer.exe" 0 +3 - StrCpy $R0 $(ASPELL_INSTALL_FAILED) - Goto done - - ; We need to download and install aspell - StrCpy $R1 "$PLUGINSDIR\aspell_installer.exe" - StrCpy $R2 "${DOWNLOADER_URL}?version=${PIDGIN_VERSION}&dl_pkg=aspell_core" - DetailPrint "Downloading Aspell... ($R2)" - NSISdl::download /TIMEOUT=10000 $R2 $R1 - Pop $R0 - StrCmp $R0 "success" +2 - Goto done - ExecWait '"$R1"' - Delete $R1 - Goto check ; Check that it is now installed correctly - - installed: ;Aspell is currently installed, no error message - DetailPrint "Aspell is installed" - StrCpy $R0 '' - - done: - Pop $R2 - Pop $R1 - Exch $R0 -FunctionEnd - -Function InstallAspellDictionary +Function InstallDict Push $R0 Exch Pop $R0 ;This is the language code Push $R1 + Exch 2 + Pop $R1 ;This is the language file Push $R2 Push $R3 - Push $R4 - check: ClearErrors - ReadRegStr $R2 HKLM "${ASPELL_REG_KEY}-$R0" "" - StrCmp $R2 "" 0 installed + IfFileExists "$INSTDIR\spellcheck\share\enchant\myspell\$R0.dic" installed + + InitPluginsDir - ; If this is the check after installation, don't infinite loop on failure - StrCmp $R1 "$PLUGINSDIR\aspell_dict-$R0.exe" 0 +3 - StrCpy $R0 $(ASPELL_INSTALL_FAILED) + ; We need to download and install dictionary + StrCpy $R2 "$PLUGINSDIR\$R1" + StrCpy $R3 "${SPELL_DOWNLOAD_URL}/$R1" + DetailPrint "Downloading the $R0 Dictionary... ($R3)" + retry: + NSISdl::download /TIMEOUT=10000 "$R3" "$R2" + Pop $R3 + StrCmp $R3 "cancel" done + StrCmp $R3 "success" +3 + MessageBox MB_RETRYCANCEL "$(PIDGIN_SPELLCHECK_ERROR) : $R3" /SD IDCANCEL IDRETRY retry IDCANCEL done + Goto done + SetOutPath "$INSTDIR\spellcheck\share\enchant\myspell" + nsisunz::UnzipToLog "$R2" "$OUTDIR" + SetOutPath "$INSTDIR" + Pop $R3 + StrCmp $R3 "success" installed + DetailPrint "$R3" ;print error message to log Goto done - ; We need to download and install aspell - StrCpy $R1 "$PLUGINSDIR\aspell_dict-$R0.exe" - StrCpy $R3 "${DOWNLOADER_URL}?version=${PIDGIN_VERSION}&dl_pkg=lang_$R0" - DetailPrint "Downloading the Aspell $R0 Dictionary... ($R3)" - NSISdl::download /TIMEOUT=10000 $R3 $R1 - Pop $R3 - StrCmp $R3 "success" +3 - StrCpy $R0 $R3 - Goto done - ; Use a specific temporary $OUTDIR for each dictionary because the installer doesn't clean up after itself - StrCpy $R4 "$OUTDIR" - SetOutPath "$PLUGINSDIR\aspell_dict-$R0" - ExecWait '"$R1"' - SetOutPath "$R4" - RMDir /r "$PLUGINSDIR\aspell_dict-$R0" - Delete $R1 - Goto check ; Check that it is now installed correctly - installed: ;The dictionary is currently installed, no error message - DetailPrint "Aspell $R0 Dictionary is installed" - StrCpy $R0 '' + DetailPrint "$R0 Dictionary is installed" done: - Pop $R4 Pop $R3 Pop $R2 - Pop $R1 - Exch $R0 + Pop $R0 + Exch $R1 FunctionEnd
--- a/pidgin/win32/nsis/translations/afrikaans.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/afrikaans.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -49,29 +49,5 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "Speltoets-ondersteuning" !define PIDGIN_SPELLCHECK_ERROR "Fout met installering van speltoetser" -!define PIDGIN_SPELLCHECK_DICT_ERROR "Fout met installering van speltoetswoordeboek" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "Ondersteuning vir speltoeter. (Internetverbinding benodigd vir installasie)" -!define ASPELL_INSTALL_FAILED "Installasie het misluk" -!define PIDGIN_SPELLCHECK_BRETON "Bretons" -!define PIDGIN_SPELLCHECK_CATALAN "Katalaans" -!define PIDGIN_SPELLCHECK_CZECH "Tsjeggies" -!define PIDGIN_SPELLCHECK_WELSH "Wallies" -!define PIDGIN_SPELLCHECK_DANISH "Deens" -!define PIDGIN_SPELLCHECK_GERMAN "Duits" -!define PIDGIN_SPELLCHECK_GREEK "Grieks" -!define PIDGIN_SPELLCHECK_ENGLISH "Engels" -!define PIDGIN_SPELLCHECK_ESPERANTO "Esperanto" -!define PIDGIN_SPELLCHECK_SPANISH "Spaans" -!define PIDGIN_SPELLCHECK_FAROESE "Faroes" -!define PIDGIN_SPELLCHECK_FRENCH "Frans" -!define PIDGIN_SPELLCHECK_ITALIAN "Italiaans" -!define PIDGIN_SPELLCHECK_DUTCH "Nederlands" -!define PIDGIN_SPELLCHECK_NORWEGIAN "Noorweegs" -!define PIDGIN_SPELLCHECK_POLISH "Pools" -!define PIDGIN_SPELLCHECK_PORTUGUESE "Portugees" -!define PIDGIN_SPELLCHECK_ROMANIAN "Roemeens" -!define PIDGIN_SPELLCHECK_RUSSIAN "Russies" -!define PIDGIN_SPELLCHECK_SLOVAK "Slowaaks" -!define PIDGIN_SPELLCHECK_SWEDISH "Sweeds" -!define PIDGIN_SPELLCHECK_UKRAINIAN "Oekraens"
--- a/pidgin/win32/nsis/translations/arabic.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/arabic.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -47,29 +47,5 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "マレ ヌ睫マ゙゙ ヌ眷聶ヌニ" !define PIDGIN_SPELLCHECK_ERROR "ホリテ テヒ萇チ ハヒネハ ヌ睫マ゙゙ ヌ眷聶ヌニ" -!define PIDGIN_SPELLCHECK_DICT_ERROR "ホリテ テヒ萇チ ハヒネハ ゙ヌ肆モ ヌ睫マ゙゙ ヌ眷聶ヌニ" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "マレ ヌ睫マ゙゙ ヌ眷聶ヌニ. (聒礦ネ ヌハユヌ ネヌ眷萍ム萍 矣ハヒネハ)" -!define ASPELL_INSTALL_FAILED "ンヤ ヌ睫ヒネハ" -!define PIDGIN_SPELLCHECK_BRETON "Breton" -!define PIDGIN_SPELLCHECK_CATALAN "Catalan" -!define PIDGIN_SPELLCHECK_CZECH "Czech" -!define PIDGIN_SPELLCHECK_WELSH "Welsh" -!define PIDGIN_SPELLCHECK_DANISH "Danish" -!define PIDGIN_SPELLCHECK_GERMAN "German" -!define PIDGIN_SPELLCHECK_GREEK "Greek" -!define PIDGIN_SPELLCHECK_ENGLISH "English" -!define PIDGIN_SPELLCHECK_ESPERANTO "Esperanto" -!define PIDGIN_SPELLCHECK_SPANISH "Spanish" -!define PIDGIN_SPELLCHECK_FAROESE "Faroese" -!define PIDGIN_SPELLCHECK_FRENCH "French" -!define PIDGIN_SPELLCHECK_ITALIAN "Italian" -!define PIDGIN_SPELLCHECK_DUTCH "Dutch" -!define PIDGIN_SPELLCHECK_NORWEGIAN "Norwegian" -!define PIDGIN_SPELLCHECK_POLISH "Polish" -!define PIDGIN_SPELLCHECK_PORTUGUESE "Portuguese" -!define PIDGIN_SPELLCHECK_ROMANIAN "Romanian" -!define PIDGIN_SPELLCHECK_RUSSIAN "Russian" -!define PIDGIN_SPELLCHECK_SLOVAK "Slovak" -!define PIDGIN_SPELLCHECK_SWEDISH "Swedish" -!define PIDGIN_SPELLCHECK_UKRAINIAN "Ukrainian"
--- a/pidgin/win32/nsis/translations/basque.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/basque.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -47,29 +47,5 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "Zuzentzaile Ortografikoa" !define PIDGIN_SPELLCHECK_ERROR "Errorea Zuzentzaile Ortografikoa instalatzean" -!define PIDGIN_SPELLCHECK_DICT_ERROR "Errorea Zuzentzaile Ortografikoarentzako hiztegia instalatzean" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "Zuzentzaile Ortografikoa. (Internet konexioa behar du instalatzeko)" -!define ASPELL_INSTALL_FAILED "Ezin izan da instalatu" -!define PIDGIN_SPELLCHECK_BRETON "Britaniera" -!define PIDGIN_SPELLCHECK_CATALAN "Katalana" -!define PIDGIN_SPELLCHECK_CZECH "Txekiera" -!define PIDGIN_SPELLCHECK_WELSH "Gaelikoa" -!define PIDGIN_SPELLCHECK_DANISH "Daniera" -!define PIDGIN_SPELLCHECK_GERMAN "Alemana" -!define PIDGIN_SPELLCHECK_GREEK "Grekoa" -!define PIDGIN_SPELLCHECK_ENGLISH "Ingelesa" -!define PIDGIN_SPELLCHECK_ESPERANTO "Esperantoa" -!define PIDGIN_SPELLCHECK_SPANISH "Gaztelania" -!define PIDGIN_SPELLCHECK_FAROESE "Faroera" -!define PIDGIN_SPELLCHECK_FRENCH "Frantsesa" -!define PIDGIN_SPELLCHECK_ITALIAN "Italiera" -!define PIDGIN_SPELLCHECK_DUTCH "Nederlandera" -!define PIDGIN_SPELLCHECK_NORWEGIAN "Norvegiera" -!define PIDGIN_SPELLCHECK_POLISH "Poloniera" -!define PIDGIN_SPELLCHECK_PORTUGUESE "Portugesa" -!define PIDGIN_SPELLCHECK_ROMANIAN "Errumaniera" -!define PIDGIN_SPELLCHECK_RUSSIAN "Errusiera" -!define PIDGIN_SPELLCHECK_SLOVAK "Eslovakiera" -!define PIDGIN_SPELLCHECK_SWEDISH "Suediera" -!define PIDGIN_SPELLCHECK_UKRAINIAN "Ukraniera"
--- a/pidgin/win32/nsis/translations/catalan.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/catalan.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -46,29 +46,5 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "Suport a la Verificaci de l'Ortografia " !define PIDGIN_SPELLCHECK_ERROR "Error instal.lant verificaci de l'ortografia" -!define PIDGIN_SPELLCHECK_DICT_ERROR "Error Instal.lant Diccionari per a Verificaci de l'Ortografia" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "Suport per a Verificaci de l'Ortografia. (駸 necesaria connexi a internet per dur a terme la instal.laci)" -!define ASPELL_INSTALL_FAILED "La instal.laci ha fallat" -!define PIDGIN_SPELLCHECK_BRETON "Bret" -!define PIDGIN_SPELLCHECK_CATALAN "Catal" -!define PIDGIN_SPELLCHECK_CZECH "Txec" -!define PIDGIN_SPELLCHECK_WELSH "Galキl鑚" -!define PIDGIN_SPELLCHECK_DANISH "Dan鑚" -!define PIDGIN_SPELLCHECK_GERMAN "Alemany" -!define PIDGIN_SPELLCHECK_GREEK "Grec" -!define PIDGIN_SPELLCHECK_ENGLISH "Angl鑚" -!define PIDGIN_SPELLCHECK_ESPERANTO "Esperanto" -!define PIDGIN_SPELLCHECK_SPANISH "Espanyol" -!define PIDGIN_SPELLCHECK_FAROESE "Fero鑚" -!define PIDGIN_SPELLCHECK_FRENCH "Franc鑚" -!define PIDGIN_SPELLCHECK_ITALIAN "Itali" -!define PIDGIN_SPELLCHECK_DUTCH "Holand鑚" -!define PIDGIN_SPELLCHECK_NORWEGIAN "Noruec" -!define PIDGIN_SPELLCHECK_POLISH "Polon鑚" -!define PIDGIN_SPELLCHECK_PORTUGUESE "Portugu鑚" -!define PIDGIN_SPELLCHECK_ROMANIAN "Roman鑚" -!define PIDGIN_SPELLCHECK_RUSSIAN "Rus" -!define PIDGIN_SPELLCHECK_SLOVAK "Eslovac" -!define PIDGIN_SPELLCHECK_SWEDISH "Suec" -!define PIDGIN_SPELLCHECK_UKRAINIAN "Ucran鑚"
--- a/pidgin/win32/nsis/translations/dutch.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/dutch.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -39,28 +39,4 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "Spellingscontrole" !define PIDGIN_SPELLCHECK_ERROR "Fout bij installatie van spellingscontrole" -!define PIDGIN_SPELLCHECK_DICT_ERROR "Fout bij installatie van woordenboek voor spellingscontrole" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "Ondersteuning voor spellingscontrole. (Internetverbinding nodig voor installatie)" -!define ASPELL_INSTALL_FAILED "Installatie mislukt" -!define PIDGIN_SPELLCHECK_BRETON "Bretons" -!define PIDGIN_SPELLCHECK_CATALAN "Catalaans" -!define PIDGIN_SPELLCHECK_CZECH "Tsjechisch" -!define PIDGIN_SPELLCHECK_WELSH "Welsh" -!define PIDGIN_SPELLCHECK_DANISH "Deens" -!define PIDGIN_SPELLCHECK_GERMAN "Duits" -!define PIDGIN_SPELLCHECK_GREEK "Grieks" -!define PIDGIN_SPELLCHECK_ENGLISH "Engels" -!define PIDGIN_SPELLCHECK_ESPERANTO "Esperanto" -!define PIDGIN_SPELLCHECK_SPANISH "Spaans" -!define PIDGIN_SPELLCHECK_FAROESE "Faroese" -!define PIDGIN_SPELLCHECK_FRENCH "Frans" -!define PIDGIN_SPELLCHECK_ITALIAN "Italiaans" -!define PIDGIN_SPELLCHECK_DUTCH "Nederlands" -!define PIDGIN_SPELLCHECK_NORWEGIAN "Noors" -!define PIDGIN_SPELLCHECK_POLISH "Pools" -!define PIDGIN_SPELLCHECK_PORTUGUESE "Portugees" -!define PIDGIN_SPELLCHECK_ROMANIAN "Roemeens" -!define PIDGIN_SPELLCHECK_RUSSIAN "Russisch" -!define PIDGIN_SPELLCHECK_SLOVAK "Slowaaks" -!define PIDGIN_SPELLCHECK_SWEDISH "Zweeds" -!define PIDGIN_SPELLCHECK_UKRAINIAN "Oekrans"
--- a/pidgin/win32/nsis/translations/english.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/english.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -54,31 +54,7 @@ ; Spellcheck Section Prompts !insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_SECTION_TITLE "Spellchecking Support" !insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_ERROR "Error Installing Spellchecking" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_DICT_ERROR "Error Installing Spellchecking Dictionary" !insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "Support for Spellchecking. (Internet connection required for installation)" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING ASPELL_INSTALL_FAILED "Installation Failed" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_BRETON "Breton" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_CATALAN "Catalan" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_CZECH "Czech" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_WELSH "Welsh" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_DANISH "Danish" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_GERMAN "German" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_GREEK "Greek" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_ENGLISH "English" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_ESPERANTO "Esperanto" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_SPANISH "Spanish" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_FAROESE "Faroese" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_FRENCH "French" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_ITALIAN "Italian" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_DUTCH "Dutch" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_NORWEGIAN "Norwegian" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_POLISH "Polish" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_PORTUGUESE "Portuguese" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_ROMANIAN "Romanian" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_RUSSIAN "Russian" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_SLOVAK "Slovak" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_SWEDISH "Swedish" -!insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_SPELLCHECK_UKRAINIAN "Ukrainian" !insertmacro PIDGIN_MACRO_DEFAULT_STRING PIDGIN_DEBUGSYMBOLS_ERROR "Error Installing Debug Symbols"
--- a/pidgin/win32/nsis/translations/finnish.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/finnish.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -48,29 +48,5 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "Oikolukutuki" !define PIDGIN_SPELLCHECK_ERROR "Virhe asennettaessa oikolukua" -!define PIDGIN_SPELLCHECK_DICT_ERROR "Virhe asennettaessa oikoluvun sanakirjaa" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "Tuki oikoluvulle. (Asennukseen tarvitaan Internet-yhteys)" -!define ASPELL_INSTALL_FAILED "Asennus ep與nnistui" -!define PIDGIN_SPELLCHECK_BRETON "bretoni" -!define PIDGIN_SPELLCHECK_CATALAN "katalaani" -!define PIDGIN_SPELLCHECK_CZECH "tshekki" -!define PIDGIN_SPELLCHECK_WELSH "kymri" -!define PIDGIN_SPELLCHECK_DANISH "tanska" -!define PIDGIN_SPELLCHECK_GERMAN "saksa" -!define PIDGIN_SPELLCHECK_GREEK "kreikka" -!define PIDGIN_SPELLCHECK_ENGLISH "englanti" -!define PIDGIN_SPELLCHECK_ESPERANTO "esperanto" -!define PIDGIN_SPELLCHECK_SPANISH "espanja" -!define PIDGIN_SPELLCHECK_FAROESE "f蒿ri" -!define PIDGIN_SPELLCHECK_FRENCH "ranska" -!define PIDGIN_SPELLCHECK_ITALIAN "italia" -!define PIDGIN_SPELLCHECK_DUTCH "hollanti" -!define PIDGIN_SPELLCHECK_NORWEGIAN "norja" -!define PIDGIN_SPELLCHECK_POLISH "puola" -!define PIDGIN_SPELLCHECK_PORTUGUESE "portugali" -!define PIDGIN_SPELLCHECK_ROMANIAN "romania" -!define PIDGIN_SPELLCHECK_RUSSIAN "ven臻" -!define PIDGIN_SPELLCHECK_SLOVAK "slovakia" -!define PIDGIN_SPELLCHECK_SWEDISH "ruotsi" -!define PIDGIN_SPELLCHECK_UKRAINIAN "ukraina"
--- a/pidgin/win32/nsis/translations/french.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/french.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -52,28 +52,4 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "Correction orthographique" !define PIDGIN_SPELLCHECK_ERROR "Erreur l'installation du correcteur orthographique" -!define PIDGIN_SPELLCHECK_DICT_ERROR "Erreur l'installation du dictionnaire pour le correcteur orthographique" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "Correction orthogaphique. (Une connexion internet est n馗essaire pour son installation)" -!define ASPELL_INSTALL_FAILED "ノchec de l'installation" -!define PIDGIN_SPELLCHECK_BRETON "Breton" -!define PIDGIN_SPELLCHECK_CATALAN "Catalan" -!define PIDGIN_SPELLCHECK_CZECH "Tch鑷ue" -!define PIDGIN_SPELLCHECK_WELSH "Gallois" -!define PIDGIN_SPELLCHECK_DANISH "Danois" -!define PIDGIN_SPELLCHECK_GERMAN "Allemand" -!define PIDGIN_SPELLCHECK_GREEK "Grec" -!define PIDGIN_SPELLCHECK_ENGLISH "Anglais" -!define PIDGIN_SPELLCHECK_ESPERANTO "Esp駻anto" -!define PIDGIN_SPELLCHECK_SPANISH "Espagnol" -!define PIDGIN_SPELLCHECK_FAROESE "F駻ingien" -!define PIDGIN_SPELLCHECK_FRENCH "Fran軋is" -!define PIDGIN_SPELLCHECK_ITALIAN "Italien" -!define PIDGIN_SPELLCHECK_DUTCH "Hollandais" -!define PIDGIN_SPELLCHECK_NORWEGIAN "Norv馮ien" -!define PIDGIN_SPELLCHECK_POLISH "Polonais" -!define PIDGIN_SPELLCHECK_PORTUGUESE "Portugais" -!define PIDGIN_SPELLCHECK_ROMANIAN "Roumain" -!define PIDGIN_SPELLCHECK_RUSSIAN "Russe" -!define PIDGIN_SPELLCHECK_SLOVAK "Slovaque" -!define PIDGIN_SPELLCHECK_SWEDISH "Su馘ois" -!define PIDGIN_SPELLCHECK_UKRAINIAN "Ukrainien"
--- a/pidgin/win32/nsis/translations/german.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/german.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -50,28 +50,4 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "Untersttzung fr Rechtschreibkontrolle" !define PIDGIN_SPELLCHECK_ERROR "Fehler bei der Installation der Rechtschreibkontrolle" -!define PIDGIN_SPELLCHECK_DICT_ERROR "Fehler bei der Installation des Wrterbuches fr die Rechtschreibkontrolle" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "Untersttzung fr Rechtschreibkontrolle. (Fr die Installation ist eine Internet-Verbindung ntig)" -!define ASPELL_INSTALL_FAILED "Installation gescheitert" -!define PIDGIN_SPELLCHECK_BRETON "Bretonisch" -!define PIDGIN_SPELLCHECK_CATALAN "Katalanisch" -!define PIDGIN_SPELLCHECK_CZECH "Tschechisch" -!define PIDGIN_SPELLCHECK_WELSH "Walisisch" -!define PIDGIN_SPELLCHECK_DANISH "D舅isch" -!define PIDGIN_SPELLCHECK_GERMAN "Deutsch" -!define PIDGIN_SPELLCHECK_GREEK "Griechisch" -!define PIDGIN_SPELLCHECK_ENGLISH "Englisch" -!define PIDGIN_SPELLCHECK_ESPERANTO "Esperanto" -!define PIDGIN_SPELLCHECK_SPANISH "Spanisch" -!define PIDGIN_SPELLCHECK_FAROESE "Farersprache" -!define PIDGIN_SPELLCHECK_FRENCH "Franzsisch" -!define PIDGIN_SPELLCHECK_ITALIAN "Italienisch" -!define PIDGIN_SPELLCHECK_DUTCH "Holl舅disch" -!define PIDGIN_SPELLCHECK_NORWEGIAN "Norwegisch" -!define PIDGIN_SPELLCHECK_POLISH "Polnisch" -!define PIDGIN_SPELLCHECK_PORTUGUESE "Portugiesisch" -!define PIDGIN_SPELLCHECK_ROMANIAN "Rum舅isch" -!define PIDGIN_SPELLCHECK_RUSSIAN "Russisch" -!define PIDGIN_SPELLCHECK_SLOVAK "Slowakisch" -!define PIDGIN_SPELLCHECK_SWEDISH "Schwedisch" -!define PIDGIN_SPELLCHECK_UKRAINIAN "Ukrainisch"
--- a/pidgin/win32/nsis/translations/hebrew.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/hebrew.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -50,29 +50,5 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "鴉 矣肓褝 琺褝" !define PIDGIN_SPELLCHECK_ERROR "粳琅 砌 矼鴒褝 琺褝" -!define PIDGIN_SPELLCHECK_DICT_ERROR "粳琅 砌 鴈襃 矼鴒褝 琺褝" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "鴉 砒 矼鴒褝 琺褝 (肄 鉉砒 琺顏 蕣)" -!define ASPELL_INSTALL_FAILED "蒿 " -!define PIDGIN_SPELLCHECK_BRETON "碾韃" -!define PIDGIN_SPELLCHECK_CATALAN "韲褞鴾" -!define PIDGIN_SPELLCHECK_CZECH "'鴾" -!define PIDGIN_SPELLCHECK_WELSH "裹鴾" -!define PIDGIN_SPELLCHECK_DANISH "胙鴾" -!define PIDGIN_SPELLCHECK_GERMAN "糲鴾" -!define PIDGIN_SPELLCHECK_GREEK "鱧褞鴾" -!define PIDGIN_SPELLCHECK_ENGLISH "瑩粮鴾" -!define PIDGIN_SPELLCHECK_ESPERANTO "瑰韃" -!define PIDGIN_SPELLCHECK_SPANISH "肓" -!define PIDGIN_SPELLCHECK_FAROESE "鴾" -!define PIDGIN_SPELLCHECK_FRENCH "鴾" -!define PIDGIN_SPELLCHECK_ITALIAN "琺顆鴾" -!define PIDGIN_SPELLCHECK_DUTCH "蒟肓" -!define PIDGIN_SPELLCHECK_NORWEGIAN "褸裹粳" -!define PIDGIN_SPELLCHECK_POLISH "褌鴾" -!define PIDGIN_SPELLCHECK_PORTUGUESE "褸韃粫鴾" -!define PIDGIN_SPELLCHECK_ROMANIAN "褓鴾" -!define PIDGIN_SPELLCHECK_RUSSIAN "褥鴾" -!define PIDGIN_SPELLCHECK_SLOVAK "裹鴾" -!define PIDGIN_SPELLCHECK_SWEDISH "裹肓" -!define PIDGIN_SPELLCHECK_UKRAINIAN "瑯琺鴾"
--- a/pidgin/win32/nsis/translations/hungarian.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/hungarian.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -49,29 +49,5 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "Helyesr疽-ellenrz駸 t疥ogat疽a" !define PIDGIN_SPELLCHECK_ERROR "Hiba a helyesr疽-ellenrz駸 telept駸e kzben" -!define PIDGIN_SPELLCHECK_DICT_ERROR "Hiba a helyesr疽-ellenrz駸i szt疵 telept駸e kzben" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "Helyesr疽-ellenrz駸 t疥ogat疽a. (Internetkapcsolat szks馮es a telept駸hez)" -!define ASPELL_INSTALL_FAILED "A telept駸 sikertelen" -!define PIDGIN_SPELLCHECK_BRETON "Breton" -!define PIDGIN_SPELLCHECK_CATALAN "Katal疣" -!define PIDGIN_SPELLCHECK_CZECH "Cseh" -!define PIDGIN_SPELLCHECK_WELSH "Walesi" -!define PIDGIN_SPELLCHECK_DANISH "D疣" -!define PIDGIN_SPELLCHECK_GERMAN "N駑et" -!define PIDGIN_SPELLCHECK_GREEK "Grg" -!define PIDGIN_SPELLCHECK_ENGLISH "Angol" -!define PIDGIN_SPELLCHECK_ESPERANTO "Eszperant" -!define PIDGIN_SPELLCHECK_SPANISH "Spanyol" -!define PIDGIN_SPELLCHECK_FAROESE "Farai" -!define PIDGIN_SPELLCHECK_FRENCH "Francia" -!define PIDGIN_SPELLCHECK_ITALIAN "Olasz" -!define PIDGIN_SPELLCHECK_DUTCH "Holland" -!define PIDGIN_SPELLCHECK_NORWEGIAN "Norv馮" -!define PIDGIN_SPELLCHECK_POLISH "Lengyel" -!define PIDGIN_SPELLCHECK_PORTUGUESE "Portug疝" -!define PIDGIN_SPELLCHECK_ROMANIAN "Rom疣" -!define PIDGIN_SPELLCHECK_RUSSIAN "Orosz" -!define PIDGIN_SPELLCHECK_SLOVAK "Szlov疚" -!define PIDGIN_SPELLCHECK_SWEDISH "Sv馘" -!define PIDGIN_SPELLCHECK_UKRAINIAN "Ukr疣"
--- a/pidgin/win32/nsis/translations/italian.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/italian.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -49,29 +49,5 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "Supporto per il correttore ortografico" !define PIDGIN_SPELLCHECK_ERROR "Errore nell'installazione del correttore ortografico" -!define PIDGIN_SPELLCHECK_DICT_ERROR "Errore nell'installazione del dizionario per il correttore ortografico" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "Supporto per il correttore ortografico. (ネ richiesta una connessione a internet per l'installazione)" -!define ASPELL_INSTALL_FAILED "Installazione fallita" -!define PIDGIN_SPELLCHECK_BRETON "Bretone" -!define PIDGIN_SPELLCHECK_CATALAN "Catalano" -!define PIDGIN_SPELLCHECK_CZECH "Ceco" -!define PIDGIN_SPELLCHECK_WELSH "Gallese" -!define PIDGIN_SPELLCHECK_DANISH "Danese" -!define PIDGIN_SPELLCHECK_GERMAN "Tedesco" -!define PIDGIN_SPELLCHECK_GREEK "Greco" -!define PIDGIN_SPELLCHECK_ENGLISH "Inglese" -!define PIDGIN_SPELLCHECK_ESPERANTO "Esperanto" -!define PIDGIN_SPELLCHECK_SPANISH "Spagnolo" -!define PIDGIN_SPELLCHECK_FAROESE "Faroese" -!define PIDGIN_SPELLCHECK_FRENCH "Francese" -!define PIDGIN_SPELLCHECK_ITALIAN "Italiano" -!define PIDGIN_SPELLCHECK_DUTCH "Olandese" -!define PIDGIN_SPELLCHECK_NORWEGIAN "Norvegese" -!define PIDGIN_SPELLCHECK_POLISH "Polacco" -!define PIDGIN_SPELLCHECK_PORTUGUESE "Portoghese" -!define PIDGIN_SPELLCHECK_ROMANIAN "Rumeno" -!define PIDGIN_SPELLCHECK_RUSSIAN "Russo" -!define PIDGIN_SPELLCHECK_SLOVAK "Slovacco" -!define PIDGIN_SPELLCHECK_SWEDISH "Svedese" -!define PIDGIN_SPELLCHECK_UKRAINIAN "Ucraino"
--- a/pidgin/win32/nsis/translations/japanese.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/japanese.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -45,29 +45,5 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "スペルチェックのサポート" !define PIDGIN_SPELLCHECK_ERROR "スペルチェックのインストールに失敗しました" -!define PIDGIN_SPELLCHECK_DICT_ERROR "スペルチェック辞書のインストールに失敗しました。" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "スペルチェックのサポート (インターネット接続がインストールに必要です)" -!define ASPELL_INSTALL_FAILED "インストールに失敗しました" -!define PIDGIN_SPELLCHECK_BRETON "ブルターニュ語" -!define PIDGIN_SPELLCHECK_CATALAN "カタルーニャ語" -!define PIDGIN_SPELLCHECK_CZECH "チェコ語" -!define PIDGIN_SPELLCHECK_WELSH "ウェールズ語" -!define PIDGIN_SPELLCHECK_DANISH "デンマーク語" -!define PIDGIN_SPELLCHECK_GERMAN "ドイツ語" -!define PIDGIN_SPELLCHECK_GREEK "ギリシャ語" -!define PIDGIN_SPELLCHECK_ENGLISH "英語" -!define PIDGIN_SPELLCHECK_ESPERANTO "エスペラント語" -!define PIDGIN_SPELLCHECK_SPANISH "スペイン語" -!define PIDGIN_SPELLCHECK_FAROESE "フェロー語" -!define PIDGIN_SPELLCHECK_FRENCH "フランス語" -!define PIDGIN_SPELLCHECK_ITALIAN "イタリア語" -!define PIDGIN_SPELLCHECK_DUTCH "オランダ語" -!define PIDGIN_SPELLCHECK_NORWEGIAN "ノルウェー後" -!define PIDGIN_SPELLCHECK_POLISH "ポーランド語" -!define PIDGIN_SPELLCHECK_PORTUGUESE "ポルトガル語" -!define PIDGIN_SPELLCHECK_ROMANIAN "ルーマニア語" -!define PIDGIN_SPELLCHECK_RUSSIAN "ロシア語" -!define PIDGIN_SPELLCHECK_SLOVAK "スロヴァキア語" -!define PIDGIN_SPELLCHECK_SWEDISH "スウェーデン後" -!define PIDGIN_SPELLCHECK_UKRAINIAN "ウクライナ語"
--- a/pidgin/win32/nsis/translations/kurdish.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/kurdish.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -44,29 +44,5 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "Desteka kontrola rastnivs" !define PIDGIN_SPELLCHECK_ERROR "Di sazkirina kontrola rastnivs de 軻wt derket." -!define PIDGIN_SPELLCHECK_DICT_ERROR "Di sazkirina ferhenga rastnivs de 軻wt derket." !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "Desteka kontrola rastnivs. (Ji bo sazkirin nternet p黔st e)" -!define ASPELL_INSTALL_FAILED "Sazkirin Serneket" -!define PIDGIN_SPELLCHECK_BRETON "Breton" -!define PIDGIN_SPELLCHECK_CATALAN "Catalan" -!define PIDGIN_SPELLCHECK_CZECH "ヌek" -!define PIDGIN_SPELLCHECK_WELSH "Welsh" -!define PIDGIN_SPELLCHECK_DANISH "Danik" -!define PIDGIN_SPELLCHECK_GERMAN "Alman" -!define PIDGIN_SPELLCHECK_GREEK "Yewnan" -!define PIDGIN_SPELLCHECK_ENGLISH "ホngilz" -!define PIDGIN_SPELLCHECK_ESPERANTO "Esperanto" -!define PIDGIN_SPELLCHECK_SPANISH "Span" -!define PIDGIN_SPELLCHECK_FAROESE "Faroese" -!define PIDGIN_SPELLCHECK_FRENCH "Frans" -!define PIDGIN_SPELLCHECK_ITALIAN "ホtal" -!define PIDGIN_SPELLCHECK_DUTCH "Dutch" -!define PIDGIN_SPELLCHECK_NORWEGIAN "Norwec" -!define PIDGIN_SPELLCHECK_POLISH "Pol" -!define PIDGIN_SPELLCHECK_PORTUGUESE "Portekiz" -!define PIDGIN_SPELLCHECK_ROMANIAN "Roman" -!define PIDGIN_SPELLCHECK_RUSSIAN "Rus" -!define PIDGIN_SPELLCHECK_SLOVAK "Slovak" -!define PIDGIN_SPELLCHECK_SWEDISH "Sw鹽" -!define PIDGIN_SPELLCHECK_UKRAINIAN "Ukrayn"
--- a/pidgin/win32/nsis/translations/lithuanian.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/lithuanian.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -47,29 +47,5 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "Raybos tikrinimo palaikymas" !define PIDGIN_SPELLCHECK_ERROR "Raybos tikrinimo palaikymo diegimo klaida" -!define PIDGIN_SPELLCHECK_DICT_ERROR "Raybos tikrinimo odyno diegimo klaida" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "Raybos tikrinimo palaikymas. (Diegimui btina interneto jungtis)" -!define ASPELL_INSTALL_FAILED "Diegimas nepavyko" -!define PIDGIN_SPELLCHECK_BRETON "Breton kalba" -!define PIDGIN_SPELLCHECK_CATALAN "Katalon kalba" -!define PIDGIN_SPELLCHECK_CZECH "ネek kalba" -!define PIDGIN_SPELLCHECK_WELSH "Val kalba" -!define PIDGIN_SPELLCHECK_DANISH "Dan kalba" -!define PIDGIN_SPELLCHECK_GERMAN "Vokie鑛 kalba" -!define PIDGIN_SPELLCHECK_GREEK "Graik kalba" -!define PIDGIN_SPELLCHECK_ENGLISH "Angl kalba" -!define PIDGIN_SPELLCHECK_ESPERANTO "Esperanto kalba" -!define PIDGIN_SPELLCHECK_SPANISH "Ispan kalba" -!define PIDGIN_SPELLCHECK_FAROESE "Farer kalba" -!define PIDGIN_SPELLCHECK_FRENCH "Prancz kalba" -!define PIDGIN_SPELLCHECK_ITALIAN "Ital kalba" -!define PIDGIN_SPELLCHECK_DUTCH "Oland kalba" -!define PIDGIN_SPELLCHECK_NORWEGIAN "Norveg kalba" -!define PIDGIN_SPELLCHECK_POLISH "Lenk kalba" -!define PIDGIN_SPELLCHECK_PORTUGUESE "Portugal kalba" -!define PIDGIN_SPELLCHECK_ROMANIAN "Rumun kalba" -!define PIDGIN_SPELLCHECK_RUSSIAN "Rus kalba" -!define PIDGIN_SPELLCHECK_SLOVAK "Slovak kalba" -!define PIDGIN_SPELLCHECK_SWEDISH "ミved kalba" -!define PIDGIN_SPELLCHECK_UKRAINIAN "Ukrainie鑛 kalba"
--- a/pidgin/win32/nsis/translations/norwegian.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/norwegian.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -45,28 +45,4 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "Sttte for stavekontroll" !define PIDGIN_SPELLCHECK_ERROR "Det oppstod en feil ved installering av stavekontroll" -!define PIDGIN_SPELLCHECK_DICT_ERROR "Det oppstod en feil ved installering av ordboken for stavekontroll" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "Sttte for stavekontroll. (Internettoppkobling p虧revd for installasjon)" -!define ASPELL_INSTALL_FAILED "Installasjonen mislyktes." -!define PIDGIN_SPELLCHECK_BRETON "Bretagnsk" -!define PIDGIN_SPELLCHECK_CATALAN "Katalansk" -!define PIDGIN_SPELLCHECK_CZECH "Tsjekkisk" -!define PIDGIN_SPELLCHECK_WELSH "Walisisk" -!define PIDGIN_SPELLCHECK_DANISH "Dansk" -!define PIDGIN_SPELLCHECK_GERMAN "Tysk" -!define PIDGIN_SPELLCHECK_GREEK "Gresk" -!define PIDGIN_SPELLCHECK_ENGLISH "Engelsk" -!define PIDGIN_SPELLCHECK_ESPERANTO "Esperanto" -!define PIDGIN_SPELLCHECK_SPANISH "Spansk" -!define PIDGIN_SPELLCHECK_FAROESE "F誡ysk" -!define PIDGIN_SPELLCHECK_FRENCH "Fransk" -!define PIDGIN_SPELLCHECK_ITALIAN "Italiensk" -!define PIDGIN_SPELLCHECK_DUTCH "Nederlandsk" -!define PIDGIN_SPELLCHECK_NORWEGIAN "Norsk" -!define PIDGIN_SPELLCHECK_POLISH "Polsk" -!define PIDGIN_SPELLCHECK_PORTUGUESE "Portugisisk" -!define PIDGIN_SPELLCHECK_ROMANIAN "Rumensk" -!define PIDGIN_SPELLCHECK_RUSSIAN "Russisk" -!define PIDGIN_SPELLCHECK_SLOVAK "Slovakisk" -!define PIDGIN_SPELLCHECK_SWEDISH "Svensk" -!define PIDGIN_SPELLCHECK_UKRAINIAN "Ukrainsk"
--- a/pidgin/win32/nsis/translations/persian.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/persian.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -51,29 +51,5 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "ヤハネヌ蓆 ロ瞿晨ヌネ ヌ聶ヌ" !define PIDGIN_SPELLCHECK_ERROR "ホリヌ 裝隻 蒄ネ ロ瞿晨ヌネ ヌ聶ヌ" -!define PIDGIN_SPELLCHECK_DICT_ERROR "ホリヌ 裝隻 蒄ネ 瞻ハ昜ヌ肄 ロ瞿晨ヌネ ヌ聶ヌ" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "ヤハネヌ蓆 ロ瞿晨ヌネ ヌ聶ヌ. (ネムヌ 蒄ネ ヌハユヌ ヌ萍ム萍 睇メ ヌモハ)" -!define ASPELL_INSTALL_FAILED "蒄ネ ヤ侖ハ ホ贄マ" -!define PIDGIN_SPELLCHECK_BRETON "ネムハヌ蓖ヌ" -!define PIDGIN_SPELLCHECK_CATALAN "佗ハヌ睇" -!define PIDGIN_SPELLCHECK_CZECH "腰" -!define PIDGIN_SPELLCHECK_WELSH "跫瞑" -!define PIDGIN_SPELLCHECK_DANISH "マヌ蒹ヌム們" -!define PIDGIN_SPELLCHECK_GERMAN "ツ矼ヌ蓆" -!define PIDGIN_SPELLCHECK_GREEK "趾ヌ蓆" -!define PIDGIN_SPELLCHECK_ENGLISH "ヌ苣硼モ" -!define PIDGIN_SPELLCHECK_ESPERANTO "ヌモムヌ萍" -!define PIDGIN_SPELLCHECK_SPANISH "ヌモヌ蓖ヌ" -!define PIDGIN_SPELLCHECK_FAROESE "ンヌム跫" -!define PIDGIN_SPELLCHECK_FRENCH "ンムヌ萼跪" -!define PIDGIN_SPELLCHECK_ITALIAN "ヌハヌ硼ヌ" -!define PIDGIN_SPELLCHECK_DUTCH "裔蔆" -!define PIDGIN_SPELLCHECK_NORWEGIAN "葭謗" -!define PIDGIN_SPELLCHECK_POLISH "砒モハヌ蓆" -!define PIDGIN_SPELLCHECK_PORTUGUESE "ムハロヌ碆" -!define PIDGIN_SPELLCHECK_ROMANIAN "ム跂ヌ蓖ヌ" -!define PIDGIN_SPELLCHECK_RUSSIAN "ム贊" -!define PIDGIN_SPELLCHECK_SLOVAK "ヌモ礦ヌ們" -!define PIDGIN_SPELLCHECK_SWEDISH "モ貳マ" -!define PIDGIN_SPELLCHECK_UKRAINIAN "ヌ譏ムヌ蓆"
--- a/pidgin/win32/nsis/translations/portuguese-br.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/portuguese-br.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -43,28 +43,4 @@ !define URI_HANDLERS_SECTION_TITLE "Handlers para endere輟s" !define PIDGIN_SPELLCHECK_SECTION_TITLE "Suporte a verifica鈬o ortogr畴ica" !define PIDGIN_SPELLCHECK_ERROR "Erro ao instalar a verifica鈬o ortogr畴ica" -!define PIDGIN_SPELLCHECK_DICT_ERROR "Erro ao instalar o dicion疵io da verifica鈬o ortogr畴ica" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "Suporte a verifica鈬o ortogr畴ica (A instala鈬o necessita de conex縊 a internet)" -!define ASPELL_INSTALL_FAILED "Falha na instala鈬o" -!define PIDGIN_SPELLCHECK_BRETON "Bret縊" -!define PIDGIN_SPELLCHECK_CATALAN "Catal縊" -!define PIDGIN_SPELLCHECK_CZECH "Tcheco" -!define PIDGIN_SPELLCHECK_WELSH "Gal黌" -!define PIDGIN_SPELLCHECK_DANISH "Dinamarqu黌" -!define PIDGIN_SPELLCHECK_GERMAN "Alem縊" -!define PIDGIN_SPELLCHECK_GREEK "Grego" -!define PIDGIN_SPELLCHECK_ENGLISH "Ingl黌" -!define PIDGIN_SPELLCHECK_ESPERANTO "Esperanto" -!define PIDGIN_SPELLCHECK_SPANISH "Espanhol" -!define PIDGIN_SPELLCHECK_FAROESE "Fero黌" -!define PIDGIN_SPELLCHECK_FRENCH "Franc黌" -!define PIDGIN_SPELLCHECK_ITALIAN "Italiano" -!define PIDGIN_SPELLCHECK_DUTCH "Holand黌" -!define PIDGIN_SPELLCHECK_NORWEGIAN "Noruegu黌" -!define PIDGIN_SPELLCHECK_POLISH "Polon黌" -!define PIDGIN_SPELLCHECK_PORTUGUESE "Portugu黌" -!define PIDGIN_SPELLCHECK_ROMANIAN "Romeno" -!define PIDGIN_SPELLCHECK_RUSSIAN "Russo" -!define PIDGIN_SPELLCHECK_SLOVAK "Eslovaco" -!define PIDGIN_SPELLCHECK_SWEDISH "Sueco" -!define PIDGIN_SPELLCHECK_UKRAINIAN "Ucraniano"
--- a/pidgin/win32/nsis/translations/simp-chinese.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/simp-chinese.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -43,28 +43,4 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "ニエミエシイ鰒ァウヨ" !define PIDGIN_SPELLCHECK_ERROR "ーイラーニエミエシイ魑エ" -!define PIDGIN_SPELLCHECK_DICT_ERROR "ーイラーニエミエシイ鰊ヨオ莎エ" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "ニエミエシイ鰒ァウヨ。」(ーイラーミ靨ェチャスモオス Internet)" -!define ASPELL_INSTALL_FAILED "ーイラーハァーワ" -!define PIDGIN_SPELLCHECK_BRETON "イシタカ狷瞠" -!define PIDGIN_SPELLCHECK_CATALAN "シモフゥヅト瞋ヌモ" -!define PIDGIN_SPELLCHECK_CZECH "スンソヒモ" -!define PIDGIN_SPELLCHECK_WELSH "ヘカハソモ" -!define PIDGIN_SPELLCHECK_DANISH "オ、ツモ" -!define PIDGIN_SPELLCHECK_GERMAN "オツモ" -!define PIDGIN_SPELLCHECK_GREEK "マ」ターモ" -!define PIDGIN_SPELLCHECK_ENGLISH "モ「モ" -!define PIDGIN_SPELLCHECK_ESPERANTO "ハタス醺" -!define PIDGIN_SPELLCHECK_SPANISH "ホー獏タモ" -!define PIDGIN_SPELLCHECK_FAROESE "キィヅモ" -!define PIDGIN_SPELLCHECK_FRENCH "キィモ" -!define PIDGIN_SPELLCHECK_ITALIAN "メ箒タモ" -!define PIDGIN_SPELLCHECK_DUTCH "コノタシモ" -!define PIDGIN_SPELLCHECK_NORWEGIAN "ナイヘモ" -!define PIDGIN_SPELLCHECK_POLISH "イィタシモ" -!define PIDGIN_SPELLCHECK_PORTUGUESE "ニマフムムタモ" -!define PIDGIN_SPELLCHECK_ROMANIAN "ヅツト瞋ヌモ" -!define PIDGIN_SPELLCHECK_RUSSIAN "カモ" -!define PIDGIN_SPELLCHECK_SLOVAK "ヒケツ蟾・ソヒモ" -!define PIDGIN_SPELLCHECK_SWEDISH "ネオ萼" -!define PIDGIN_SPELLCHECK_UKRAINIAN "ホレソヒタシモ"
--- a/pidgin/win32/nsis/translations/slovak.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/slovak.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -43,29 +43,5 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "Podpora kontroly pravopisu" !define PIDGIN_SPELLCHECK_ERROR "Chyba pri in嗾al當ii kontroly pravopisu" -!define PIDGIN_SPELLCHECK_DICT_ERROR "Chyba pri in嗾al當ii slovnka kontroly pravopisu" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "Podpora kontroly pravopisu (Nutn pripojenie k Internetu)" -!define ASPELL_INSTALL_FAILED "In嗾al當ia zlyhala" -!define PIDGIN_SPELLCHECK_BRETON "Bretnsky" -!define PIDGIN_SPELLCHECK_CATALAN "Katal疣sky" -!define PIDGIN_SPELLCHECK_CZECH "ネesk" -!define PIDGIN_SPELLCHECK_WELSH "Welshsk" -!define PIDGIN_SPELLCHECK_DANISH "D疣sky" -!define PIDGIN_SPELLCHECK_GERMAN "Nemeck" -!define PIDGIN_SPELLCHECK_GREEK "Gr馗ky" -!define PIDGIN_SPELLCHECK_ENGLISH "Anglick" -!define PIDGIN_SPELLCHECK_ESPERANTO "Esperantsk" -!define PIDGIN_SPELLCHECK_SPANISH "角anielsk" -!define PIDGIN_SPELLCHECK_FAROESE "Faroesk" -!define PIDGIN_SPELLCHECK_FRENCH "Franczsky" -!define PIDGIN_SPELLCHECK_ITALIAN "Taliansk" -!define PIDGIN_SPELLCHECK_DUTCH "Holandsk" -!define PIDGIN_SPELLCHECK_NORWEGIAN "Nrsky" -!define PIDGIN_SPELLCHECK_POLISH "Poセsk" -!define PIDGIN_SPELLCHECK_PORTUGUESE "Portugalsk" -!define PIDGIN_SPELLCHECK_ROMANIAN "Rumunsk" -!define PIDGIN_SPELLCHECK_RUSSIAN "Rusk" -!define PIDGIN_SPELLCHECK_SLOVAK "Slovensk" -!define PIDGIN_SPELLCHECK_SWEDISH "革馘sky" -!define PIDGIN_SPELLCHECK_UKRAINIAN "Ukrajinsk"
--- a/pidgin/win32/nsis/translations/slovenian.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/slovenian.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -49,29 +49,4 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "Podpora preverjanja 鑽kovanja" !define PIDGIN_SPELLCHECK_ERROR "Napaka pri name夊anju preverjanja 鑽kovanja" -!define PIDGIN_SPELLCHECK_DICT_ERROR "Napaka pri name夊anju slovarja za preverjanje 鑽kovanja" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "Podpora preverjanja 鑽kovanja. (Za namestitev je potrebna spletna povezava)" -!define ASPELL_INSTALL_FAILED "Namestitev ni uspela." -!define PIDGIN_SPELLCHECK_BRETON "bretonski" -!define PIDGIN_SPELLCHECK_CATALAN "katalonski" -!define PIDGIN_SPELLCHECK_CZECH "鐺嗅i" -!define PIDGIN_SPELLCHECK_WELSH "vel嗅i" -!define PIDGIN_SPELLCHECK_DANISH "danski" -!define PIDGIN_SPELLCHECK_GERMAN "nem嗅i" -!define PIDGIN_SPELLCHECK_GREEK "gr嗅i" -!define PIDGIN_SPELLCHECK_ENGLISH "angle嗅i" -!define PIDGIN_SPELLCHECK_ESPERANTO "esperantski" -!define PIDGIN_SPELLCHECK_SPANISH "嗔anski" -!define PIDGIN_SPELLCHECK_FAROESE "farojski" -!define PIDGIN_SPELLCHECK_FRENCH "francoski" -!define PIDGIN_SPELLCHECK_ITALIAN "italijanski" -!define PIDGIN_SPELLCHECK_DUTCH "nizozemski" -!define PIDGIN_SPELLCHECK_NORWEGIAN "norve嗅i" -!define PIDGIN_SPELLCHECK_POLISH "poljski" -!define PIDGIN_SPELLCHECK_PORTUGUESE "portugalski" -!define PIDGIN_SPELLCHECK_ROMANIAN "romunski" -!define PIDGIN_SPELLCHECK_RUSSIAN "ruski" -!define PIDGIN_SPELLCHECK_SLOVAK "slova嗅i" -!define PIDGIN_SPELLCHECK_SLOVENIAN "slovenski" -!define PIDGIN_SPELLCHECK_SWEDISH "嘛edski" -!define PIDGIN_SPELLCHECK_UKRAINIAN "ukrajinski"
--- a/pidgin/win32/nsis/translations/swedish.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/swedish.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -49,28 +49,4 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "Std fr r舩tstavning" !define PIDGIN_SPELLCHECK_ERROR "Fel vid installation fr r舩tstavning" -!define PIDGIN_SPELLCHECK_DICT_ERROR "Fel vid installation av r舩tstavningsordlista" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "Std fr R舩tstavning. (Internetanslutning kr舸s fr installation)" -!define ASPELL_INSTALL_FAILED "Installationen misslyckades" -!define PIDGIN_SPELLCHECK_BRETON "Bretonska" -!define PIDGIN_SPELLCHECK_CATALAN "Katalanska" -!define PIDGIN_SPELLCHECK_CZECH "Tjeckiska" -!define PIDGIN_SPELLCHECK_WELSH "Kymriska" -!define PIDGIN_SPELLCHECK_DANISH "Danska" -!define PIDGIN_SPELLCHECK_GERMAN "Tyska" -!define PIDGIN_SPELLCHECK_GREEK "Grekiska" -!define PIDGIN_SPELLCHECK_ENGLISH "Engelska" -!define PIDGIN_SPELLCHECK_ESPERANTO "Esperanto" -!define PIDGIN_SPELLCHECK_SPANISH "Spanska" -!define PIDGIN_SPELLCHECK_FAROESE "F舐iska" -!define PIDGIN_SPELLCHECK_FRENCH "Franska" -!define PIDGIN_SPELLCHECK_ITALIAN "Italienska" -!define PIDGIN_SPELLCHECK_DUTCH "Nederl舅dska" -!define PIDGIN_SPELLCHECK_NORWEGIAN "Norska" -!define PIDGIN_SPELLCHECK_POLISH "Polska" -!define PIDGIN_SPELLCHECK_PORTUGUESE "Portugisiska" -!define PIDGIN_SPELLCHECK_ROMANIAN "Rum舅ska" -!define PIDGIN_SPELLCHECK_RUSSIAN "Ryska" -!define PIDGIN_SPELLCHECK_SLOVAK "Slovakiska" -!define PIDGIN_SPELLCHECK_SWEDISH "Svenska" -!define PIDGIN_SPELLCHECK_UKRAINIAN "Ukrainska"
--- a/pidgin/win32/nsis/translations/trad-chinese.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/trad-chinese.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -51,29 +51,5 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "ォヲrタヒャd・\ッ" !define PIDGIN_SPELLCHECK_ERROR "ヲwクヒォヲrタヒャdウ~、、オo・ヘソサ~" -!define PIDGIN_SPELLCHECK_DICT_ERROR "ヲwクヒォヲrタヒャd・ホェコオィ蟲~、、オo・ヘソサ~" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "ォヲrタヒャd、莇ゥ。]ヲwクヒカキヲウコサレコクウsスu。^。C" -!define ASPELL_INSTALL_FAILED "ヲwクヒ・「アム" -!define PIDGIN_SPELLCHECK_BRETON "・ャィスヲh・ァ、" -!define PIDGIN_SPELLCHECK_CATALAN "・[ョカゥ、" -!define PIDGIN_SPELLCHECK_CZECH "アカァJ、" -!define PIDGIN_SPELLCHECK_WELSH "ォツコクエオ、" -!define PIDGIN_SPELLCHECK_DANISH "、ヲウチ、" -!define PIDGIN_SPELLCHECK_GERMAN "シw、" -!define PIDGIN_SPELLCHECK_GREEK "ァニテセ、" -!define PIDGIN_SPELLCHECK_ENGLISH "ュ^、" -!define PIDGIN_SPELLCHECK_ESPERANTO "・@ャノサy" -!define PIDGIN_SPELLCHECK_SPANISH "ヲ隸Z、、" -!define PIDGIN_SPELLCHECK_FAROESE "ェkテケクsョq、" -!define PIDGIN_SPELLCHECK_FRENCH "ェk、" -!define PIDGIN_SPELLCHECK_ITALIAN "キN、jァQ、" -!define PIDGIN_SPELLCHECK_DUTCH "イト、" -!define PIDGIN_SPELLCHECK_NORWEGIAN "ョソォツ、" -!define PIDGIN_SPELLCHECK_POLISH "ェiト、" -!define PIDGIN_SPELLCHECK_PORTUGUESE "オ螟" -!define PIDGIN_SPELLCHECK_ROMANIAN "テケーィ・ァィネ、" -!define PIDGIN_SPELLCHECK_RUSSIAN "ォX、" -!define PIDGIN_SPELLCHECK_SLOVAK "エオャ・・ァJ、" -!define PIDGIN_SPELLCHECK_SWEDISH "キ遞螟" -!define PIDGIN_SPELLCHECK_UKRAINIAN "ッQァJト、"
--- a/pidgin/win32/nsis/translations/valencian.nsh Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/nsis/translations/valencian.nsh Sat Mar 06 16:33:10 2010 +0000 @@ -46,29 +46,5 @@ ; Spellcheck Section Prompts !define PIDGIN_SPELLCHECK_SECTION_TITLE "Soport de Correccio Ortografica" !define PIDGIN_SPELLCHECK_ERROR "Erro Instalant Correccio Ortografica" -!define PIDGIN_SPELLCHECK_DICT_ERROR "Erro Instalant Diccionari de Correccio Ortografica" !define PIDGIN_SPELLCHECK_SECTION_DESCRIPTION "Soport per a Correccio Ortografica. (es requerix conexio a Internet per a fer l'instalacio)" -!define ASPELL_INSTALL_FAILED "L'Instalacio fall" -!define PIDGIN_SPELLCHECK_BRETON "Breto" -!define PIDGIN_SPELLCHECK_CATALAN "Catal" -!define PIDGIN_SPELLCHECK_CZECH "Chec" -!define PIDGIN_SPELLCHECK_WELSH "Gal駸" -!define PIDGIN_SPELLCHECK_DANISH "Danes" -!define PIDGIN_SPELLCHECK_GERMAN "Alem" -!define PIDGIN_SPELLCHECK_GREEK "Grec" -!define PIDGIN_SPELLCHECK_ENGLISH "Angles" -!define PIDGIN_SPELLCHECK_ESPERANTO "Esperanto" -!define PIDGIN_SPELLCHECK_SPANISH "Espanyol" -!define PIDGIN_SPELLCHECK_FAROESE "Feroes" -!define PIDGIN_SPELLCHECK_FRENCH "Frances" -!define PIDGIN_SPELLCHECK_ITALIAN "Itali" -!define PIDGIN_SPELLCHECK_DUTCH "Holandes" -!define PIDGIN_SPELLCHECK_NORWEGIAN "Noruec" -!define PIDGIN_SPELLCHECK_POLISH "Polac" -!define PIDGIN_SPELLCHECK_PORTUGUESE "Portugues" -!define PIDGIN_SPELLCHECK_ROMANIAN "Romanes" -!define PIDGIN_SPELLCHECK_RUSSIAN "Rus" -!define PIDGIN_SPELLCHECK_SLOVAK "Eslovac" -!define PIDGIN_SPELLCHECK_SWEDISH "Suec" -!define PIDGIN_SPELLCHECK_UKRAINIAN "Ucrani"
--- a/pidgin/win32/winpidgin.c Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/winpidgin.c Sat Mar 06 16:33:10 2010 +0000 @@ -97,7 +97,7 @@ return ret; } -static void common_dll_prep(const TCHAR *path) { +static BOOL common_dll_prep(const TCHAR *path) { HMODULE hmod; HKEY hkey; struct _stat stat_buf; @@ -110,7 +110,7 @@ if (_tstat(test_path, &stat_buf) != 0) { printf("Unable to determine GTK+ path. \n" "Assuming GTK+ is in the PATH.\n"); - return; + return FALSE; } @@ -184,6 +184,20 @@ printf("SafeDllSearchMode is set to 0\n"); }/*end else*/ } + + return TRUE; +} + +static BOOL dll_prep(const TCHAR *pidgin_dir) { + TCHAR path[MAX_PATH + 1]; + path[0] = _T('\0'); + + if (*pidgin_dir) { + _sntprintf(path, sizeof(path) / sizeof(TCHAR), _T("%s\\Gtk\\bin"), pidgin_dir); + path[sizeof(path) / sizeof(TCHAR)] = _T('\0'); + } + + return common_dll_prep(path); } static void portable_mode_dll_prep(const TCHAR *pidgin_dir) { @@ -224,22 +238,11 @@ _tprintf(_T("%s\n"), path2); _tputenv(path2); - /* set the GTK+ path to be \\path\to\GTK\bin */ - _tcscat(path, _T("\\GTK\\bin")); - - common_dll_prep(path); -} - -static void dll_prep(const TCHAR *pidgin_dir) { - TCHAR gtk_path[MAX_PATH + 1]; - gtk_path[0] = _T('\0'); - - if (*pidgin_dir) { - _sntprintf(gtk_path, sizeof(gtk_path) / sizeof(TCHAR), _T("%s\\Gtk\\bin"), pidgin_dir); - gtk_path[sizeof(gtk_path) / sizeof(TCHAR)] = _T('\0'); + if (!dll_prep(pidgin_dir)) { + /* set the GTK+ path to be \\path\to\GTK\bin */ + _tcscat(path, _T("\\GTK\\bin")); + common_dll_prep(path); } - - common_dll_prep(gtk_path); } static TCHAR* winpidgin_lcid_to_posix(LCID lcid) {
--- a/pidgin/win32/wspell.c Mon Mar 01 03:47:06 2010 +0000 +++ b/pidgin/win32/wspell.c Sat Mar 06 16:33:10 2010 +0000 @@ -3,7 +3,7 @@ * * File: wspell.c * Date: March, 2003 - * Description: Windows Purple gtkspell interface. + * Description: Windows Pidgin gtkspell interface. * * Copyright (C) 2002-2003, Herman Bloggs <hermanator12002@yahoo.com> * @@ -32,8 +32,22 @@ #include "win32dep.h" #include "wspell.h" +/* Intermediate function so that we can eat Enchant error popups when it doesn't find a DLL + * This is fixed upstream, but not released */ +GtkSpell* (*wpidginspell_new_attach_proxy) (GtkTextView *, + const gchar *, + GError **) = NULL; + /* GTKSPELL DUMMY FUNCS */ -static GtkSpell* wgtkspell_new_attach(GtkTextView *view, const gchar *lang, GError **error) {return NULL;} +static GtkSpell* wgtkspell_new_attach(GtkTextView *view, const gchar *lang, GError **error) { + GtkSpell *ret = NULL; + if (wpidginspell_new_attach_proxy) { + UINT old_error_mode = SetErrorMode(SEM_FAILCRITICALERRORS); + ret = wpidginspell_new_attach_proxy(view, lang, error); + SetErrorMode(old_error_mode); + } + return ret; +} static GtkSpell* wgtkspell_get_from_text_view(GtkTextView *view) {return NULL;} static void wgtkspell_detach(GtkSpell *spell) {} static gboolean wgtkspell_set_language(GtkSpell *spell, const gchar *lang, GError **error) {return FALSE;} @@ -54,28 +68,44 @@ void (*wpidginspell_recheck_all) (GtkSpell*) = wgtkspell_recheck_all; +#define GTKSPELL_DLL "libgtkspell-0.dll" + static void load_gtkspell() { - wpidginspell_new_attach = (void*) wpurple_find_and_loadproc("libgtkspell.dll", "gtkspell_new_attach" ); - wpidginspell_get_from_text_view = (void*) wpurple_find_and_loadproc("libgtkspell.dll", "gtkspell_get_from_text_view"); - wpidginspell_detach = (void*) wpurple_find_and_loadproc("libgtkspell.dll", "gtkspell_detach"); - wpidginspell_set_language = (void*) wpurple_find_and_loadproc("libgtkspell.dll", "gtkspell_set_language"); - wpidginspell_recheck_all = (void*) wpurple_find_and_loadproc("libgtkspell.dll", "gtkspell_recheck_all"); + UINT old_error_mode = SetErrorMode(SEM_FAILCRITICALERRORS); + gchar *tmp, *tmp2; + const char *path = g_getenv("PATH"); + tmp = g_build_filename(wpurple_install_dir(), "spellcheck", NULL); + tmp2 = g_strdup_printf("%s%s%s", (path ? path : ""), + (path ? G_SEARCHPATH_SEPARATOR_S : ""), + tmp); + g_free(tmp); + g_setenv("PATH", tmp2, TRUE); + + /* Suppress error popups */ + wpidginspell_new_attach_proxy = (void*) wpurple_find_and_loadproc(GTKSPELL_DLL, "gtkspell_new_attach" ); + if (wpidginspell_new_attach_proxy) { + wpidginspell_get_from_text_view = (void*) wpurple_find_and_loadproc(GTKSPELL_DLL, "gtkspell_get_from_text_view"); + wpidginspell_detach = (void*) wpurple_find_and_loadproc(GTKSPELL_DLL, "gtkspell_detach"); + wpidginspell_set_language = (void*) wpurple_find_and_loadproc(GTKSPELL_DLL, "gtkspell_set_language"); + wpidginspell_recheck_all = (void*) wpurple_find_and_loadproc(GTKSPELL_DLL, "gtkspell_recheck_all"); + } else { + purple_debug_warning("wspell", "Couldn't load gtkspell (%s) \n", GTKSPELL_DLL); + /*wpidginspell_new_attach = wgtkspell_new_attach;*/ + } + SetErrorMode(old_error_mode); } -static char* lookup_aspell_path() { +static void lookup_aspell_path() { const char *tmp; + gchar *aspell_path; if ((tmp = g_getenv("PIDGIN_ASPELL_DIR"))) - return g_strdup(tmp); - - return wpurple_read_reg_string(HKEY_LOCAL_MACHINE, "Software\\Aspell", "Path"); -} - -void winpidgin_spell_init() { - char *aspell_path = lookup_aspell_path(); + aspell_path = g_strdup(tmp); + else + aspell_path = wpurple_read_reg_string(HKEY_LOCAL_MACHINE, "Software\\Aspell", "Path"); if (aspell_path != NULL) { - char *tmp = g_strconcat(aspell_path, "\\aspell-15.dll", NULL); + char *tmp = g_build_filename(aspell_path, "aspell-15.dll", NULL); if (g_file_test(tmp, G_FILE_TEST_EXISTS)) { const char *path = g_getenv("PATH"); purple_debug_info("wspell", "Found Aspell in %s\n", aspell_path); @@ -88,14 +118,18 @@ g_setenv("PATH", tmp, TRUE); - load_gtkspell(); - } else { + } else purple_debug_warning("wspell", "Couldn't find aspell-15.dll\n"); - } g_free(tmp); g_free(aspell_path); - } else { - purple_debug_warning("wspell", "Couldn't find path for Aspell\n"); - } + } else + purple_debug_warning("wspell", "Aspell installation not found (this isn't necessarily a problem)\n"); } + +void winpidgin_spell_init() { + /* We keep doing the aspell path thing so that previously installed dictionaries still work */ + lookup_aspell_path(); + + load_gtkspell(); +}