3

目前,我在 PHP 页面上有一个注册表单,允许用户输入他们的姓名和电子邮件地址。

按下时,它会向服务器发送一个 AJAX POST,接收 postdata 的 PHP 脚本会使用它并使用 MailChimp PHP API 来注册用户(通过 listSubscribe())。

这是一个多语言网站,问题在于 MailChimp 在通过 API 调用执行注册时不知道用户的语言是什么。这意味着用户会收到他们的 MailChimp 确认电子邮件(即“您是否真的注册了这个”等),无论他们的实际语言偏好如何。

我目前解决此问题的方法是为每种语言创建单独的列表,根据用户查看网站的语言为用户订阅适当的列表。这意味着您可以设置 MailChimp 表单的默认语言到列表的语言。

这对我来说感觉很hacky,有没有更好的方法?这样做意味着必须为每种语言等设置广告系列。

4

3 回答 3

3

MailChimp 中有一个“语言”字段,但我看不到通过合并标签访问它的方法。查看我个人认识每个订阅者的列表之一,MailChimp 的语言工具似乎并不那么可靠。

我会在 MailChimp 中创建一个表单字段或组,然后添加一个字段,允许用户通过下拉列表指定他们的首选语言(或根据他们正在查看的内容自动填充),并将其与合并标签一起使用在您的确认电子邮件中发送自定义内容。请参阅此处以自定义确认过程

例如,如果您使用INTERESTED合并标签发送英语、法语、德语或西班牙语的电子邮件,其中英语是您的默认语言:

*|INTERESTED:Language:FR,DE,ES|*
 *|INTERESTED:Language:FR|*
   French content here
 *|END:INTERESTED|*
 *|INTERESTED:Language:DE|*
   German content here
 *|END:INTERESTED|*
 *|INTERESTED:Language:ES|*
   Spanish content here
 *|END:INTERESTED|*
*|ELSE|*
  English content here for everyone else, even those with an undefined language.
*|END:INTERESTED|*
于 2012-11-01T14:36:53.457 回答
3

不幸的是,文档中没有很好地说明它。表单自动翻译的工作方式是检测浏览器的语言:

http://kb.mailchimp.com/article/can-you-translate-my-signup-forms-response-emails#auto

这意味着,例如,当您使用他们的表单提交进行订阅时,他们会检测浏览器语言,然后发送正确的确认电子邮件。他们不使用可以设置为表单选项或使用 api 的“语言”字段。我通过几次对话通过技术支持验证了这一点。

那么通过api订阅时如何设置语言呢?同样,在 api 调用的 http 标头中设置浏览器语言。这对我来说就像一个冠军。不能说你将如何在你的 php 应用程序中执行此操作,但在使用 Gibbon gem 的 Rails 中,你将传递 'headers' 选项中的值,它只是将其设置在 api 调用的 http 标头中:

gibbon_api.lists.subscribe(headers: {'Accept-Language' => request.env['HTTP_ACCEPT_LANGUAGE']}, all_other_params...)

至少这种方法对我有用。希望这可以帮助...

于 2014-02-27T15:08:47.677 回答
0

对于 ChimpKit3 (v3) (iOS - objective-c repo),我添加了订阅者语言以支持MailChimp中响应邮件的自动翻译选项。

因此,只需将“Accept-Language”字段添加到请求标头即可。

https://github.com/mailchimp/ChimpKit3/pull/22

目标-C 示例:

NSDictionary *mailChimpParams = @{@"id": MAILCHIMP_LIST_ID,
                                  @"email": @{@"email": [NSString stringWithFormat:@"%@",emailAddress]},
                                  @"language": @"en",
                                  @"merge_vars": mergeVars};

[[ChimpKit sharedKit] callApiMethod:@"lists/subscribe"
                         withParams:mailChimpParams
               andCompletionHandler:^(NSURLResponse *response, NSData *data, NSError *error) { ...
于 2017-04-12T20:31:28.137 回答