3

在我的 Rails 应用程序中,我有一个与 facebook 喜欢一起使用的投票功能。

他们是为我支持的任何语言提供动态元 facebook 描述(og:title)的一种方式。

例如,在我的墙上,我希望如果一个英国人点击了投票/点赞按钮,它会写成“我刚刚投票给 XXX”,如果一个法国人点击它,就会写成“Je viens de voter pour XXX”

我看过这个文档:https ://developers.facebook.com/docs/internationalization/但是,我真的不明白如何实现它。

我在想 facebook 使用了某种缓存,所以它只解析 og:title 一次(所以用一种特定的语言),但我看到了一些具有该功能的网站......

谢谢

4

1 回答 1

3

您需要在标准 fb js 中更改 js.src:

<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = '<%= fb_source_url(your_app_id) %>';
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

例如,将此方法添加到 application_helper.rb:

  def localte_to_uri
    I18n.locale.to_s.gsub('-','_')
  end

  def fb_source_url(app_id)
    "http://connect.facebook.net/#{localte_to_uri}/all.js#xfbml=1&appId=#{app_id}&version=v2.0"
  end

如果我没有误认为法国,它是这样的:

"//connect.facebook.net/fr_FR/all.js#xfbml=1"
于 2012-08-02T15:50:56.883 回答