利用google翻译解决URL可读性

     题目有点乱,大家别介意,之前在做友通人才网(hr.it2500.com)的时候就一直在想URL的可读性不怎么好,我们习惯做WEB程序时用ID来检索内容,一直是将ID直接放在URL里的,这样不是太好。 可这个的可读性比较差,不仅是网站的访问者读不懂URL,也不利SEO,今天早上上班的时候就在想,下面要做CMS的时候,要解决这个问题,想要解决这个问题我第一个想到了google ajax language api。有的朋友会问似乎这个谷歌翻译和URL的可读没有多的关系吧,先别急,接下来我们先来看一段google language 例子:

    

<html> 
  <head> 
    <script type="text/javascript" src="http://www.google.com/jsapi"></script> 
    <script type="text/javascript"> 
 
    google.load("language", "1");
 
    function initialize() {
      var text = document.getElementById("text").innerHTML;
      google.language.detect(text, function(result) {
        if (!result.error && result.language) {
          google.language.translate(text, result.language, "en",
                                    function(result) {
            var translated = document.getElementById("translation");
            if (result.translation) {
              translated.innerHTML = result.translation;
            }
          });
        }
      });
    }
    google.setOnLoadCallback(initialize);
 
    </script> 
  </head> 
  <body> 
    <div id="text">你好,很高興見到你。</div> 
    <div id="translation"></div> 
  </body> 
</html>

大家可以试一下这段代码,我可很好将它翻译过来!如图


下面我们来说一下如何在ASP.NET MVC中应用。

比如说我们常做的新闻列表,现在大多网站,显示在URL里,要么是ID,要么是日期

如:localhost/new/1.aspx,localhost/new/2010-11-15.aspx

而ASP.NET MVC 就可以样写localhost/new/1

就不用带扩展名了,可是可读性还是不好。

其实我们可以在添加新闻的时候多一个字段,那就是标题的英文名。这个英文名我们用google ajax language api来翻译,就可以得到了英文,不过里面会有空格和标点符号,

这个没关系 我们用JS来过滤了它就可以了。

有的人说,不要自动翻译也可以啊,我用自己翻译的原因是更方便用户的体验,不过在自己翻译的同时也可以人工的输入。

最后只要在检索新闻时用英文名来检索就可以了,不过要保证它的唯一性。

这个代码我就不写出来了。日后有时候再放进来。ASP.NET 可以这样做,ROR,JAVA,PHP都可以这样做。同理!


原文地址:https://www.cnblogs.com/stalwart/p/1877767.html