linkedin语言代码更改

时间:2014-02-03 02:53:44

标签: javascript django linkedin

我是编程的初学者,我已经能够将linkedin share按钮添加到测试网页。

我现在想要更改linkedin共享按钮的语言,以便在用户更改测试网页上的语言时更改语言。

Linkedin用户使用了五个字符的代码(ru_RU, en_US, ko_KR, etc)。我的测试网页使用两个字符的语言代码(ru, en, ko),因此我必须编写一个js函数来返回五个字符的语言代码。

我使用的是django 1.4,"{{ user.get_profile.language_preference }}"返回两个字符语言代码。

以下是我尝试“转换”语言代码的内容:

        <script type="text/javascript">
        function language_code_extended(){
            var language_code_value = "{{ user.get_profile.language_preference }}";
            if ( language_code_value == ru ) { 
                return "ru_RU"
            }
            else if ( language_code_value == "fr" ) { 
                return "fr_FR"
            }
            else if ( language_code_value == "ko" ) {  
                return "ko_KR"
            }
            else {
                return "en_US"
            }
        }
    </script>

这是我的linkedin分享按钮代码:

    <!-- LinkedIn Like Button code -->
    <script src="//platform.linkedin.com/in.js" type="text/javascript">
        //lang: ru_RU
        lang: language_code_extended()
    </script>

这不起作用。有人可以指出我做错了吗?

感谢。

2 个答案:

答案 0 :(得分:2)

可能你需要引用你要比较的字符串,例如:

language_code_value == ru

应该是

language_code_value == "ru"

否则比较将寻找一个名为ru的变量来比较。

进行此转换时还有一些其他问题需要解决:

  • 对您要处理的每种语言进行if条件测试很快就会变得笨拙且容易出错。

  • 此映射采用语言代码ru并映射到代表语言国家/地区ru_RU的代码。这涉及假设某人说某种语言是在某个国家,这通常是不正确的。许多语言在多个国家/地区使用,每种语言都有不同的惯例。

为了找到更好的方法,深入挖掘一下可能是值得的。这可能会减少工作量并提供更正确的解决方案。

对不起,我不知道Django,所以我不能指出你正确的方向,但你可能想探索它或第三方包是否可以直接返回正确的IETF语言标签

修改

你也会遇到问题:

var language_code_value = "{{ user.get_profile.language_preference }}";

language_code_value将具有文字字符串值{{ user.get_profile.language_preference }},它永远不会比较您要与之比较的两位数语言代码。

答案 1 :(得分:0)

使用不同的方法解决了这个问题 - 而不是JavaScript。