是否有可能建立国际永久?
-
02-07-2019 - |
题
我想知道你如何处理与永久性国际的网站。通过一篇我的意思是有些链接是独特的和人类的可读性。
E.g。英文短语其没有问题的,例如 产品/些标题/
但你做什么,如果该产品的标题是在电子.克汉语??你怎么处理这个问题?
我执行一个国际网址和一个要求是要有人阅读的网址。感谢每一个评论
解决方案
某些方案怎么样/ productid / {product-id-number} / some-title / 网站查看{number}并完全忽略'some-title'部分。你可以把它放到你喜欢的任何语言或编码中,因为它没有被使用。
其他提示
人物以外的ISO拉-1的设置不允许在网址根据 这一规格, ,因此中文字符串将是立刻。
那里的产品,名称可以进行本地化,可以使用网址喜欢 <DOMAIN>/<LANGUAGE>/DIR/<PRODUCT_TRANSLATED>
, ,例如:
http://www.example.com/en/products/cat/
http://www.example.com/fr/products/chat/
伴随着 mod_rewrite 规则的效果:
RewriteRule ^([a-z]+)/product/([a-z]+)? product_lookup.php?lang=$1&product=$2
对于第一个例子上,这一规则将呼叫 product_lookup.php?lang=en&product=猫
.在这个脚本是在那里你会访问内部翻译引擎(从 lang
参数, en
在这种情况下)做同样的翻译你在用户面临的一侧翻译,说,"聊天"上的法语网页,"猫"的英语,等等。
使用外部翻译API将是一个好主意,但是棘手的,获得一个可靠的工作正在商业领域。谷歌已经打开了 翻译API, 但它目前只支持有限数量的语言。
- 英语 <=>阿拉伯语
- 英语 <=>中国
- 英语 <=>俄罗斯
查看维基百科。 他们在网址中使用国家字符。
例如,俄罗斯主页网址为: http://ru.wikipedia.org/wiki/ <!>#1047; <!>#1072; <!>#1075; <!>#1083; <!>#1072; <!> #1074;#1085 <!>;#1072 <!>;#1103 <!>; _#1089 <!>;#1090 <!>;#1088 <!>;#1072 <!>; <!># 1085;#1080 <!>;#1094 <!>; <!> 1072#; 。浏览器透明地编码所有非ASCII字符,并在将URL发送到服务器时将其替换为代码。 但是在网页上,所有网址都是人类可读的。
因此,您无需执行任何特殊操作 - 只需将产品名称放入URL即可。 网络服务器应该能够自动为您的应用程序解码它们。
我通常会音译非ascii字符。例如<!>“; t <!>#228; st <!> quot;会变成<!>“taest <!>”; GNU iconv可以为你做这个(我确定还有其他库):
$ echo täst | iconv -t 'ascii//translit'
taest
唉,这些音译都依赖于语言环境:在德语以外的语言中,'<!>#228;'例如,可以简单地将其简化为'a'。但另一方面,应该将每个(常用的)字符集音译为ASCII。
如果内存有效,您只能在网址中使用英文字母。有一个讨论要改变这一点,但我相当肯定它还没有实现。
说,你需要有一个查找表,你可以将产品/标题的翻译分配到他们将使用另一种语言的任何单词。例如:
foo.com/cat需要翻译查找<!>“cat <!>”; QUOT <!>; <!>加托QUOT; <!> QUOT;ネQUOT <!>;等。
然后,将您的人类阅读对象解析为精确网址的HTTP模块将根据翻译知道要投放的页面。
创建一个查找这样的东西似乎是我的溢出。我无法为所有语言中的所有不同单词创建查找。也许访问翻译API会是一个好主意。
因此我认为不可能在固定链接中使用外来字符,因为URL的sepecs不允许它。
您如何看待编码特色字符?那些是Google认可的网址吗?