Багатомовні
  сайти
Міжнародний
      vs.
багатомовний
Обов’язковий перелік
   Тексти
   Телефонні номери
   Ціни, валюта
   Дати, час
   Зображення
Тексти
Телефонні номери
123-45-67
(495) 123-45-67
+7 495 123-45-67
8 985 123-45-67
+380 44 123-45-67
(044) 123-45-67
Ціни
Валюта
Дати
Час
Логотипи
Зображення
URLs
example.com
en.example.com
example.com
example.com/en
example.ru
example.com
rian.ru
de.rian.ru
fr.rian.ru
ar.rian.ru
pe.rian.ru
sp.rian.ru
rian.ru
de.rian.ru
fr.rian.ru
ar.rian.ru
pe.rian.ru
sp.rian.ru
rusnews.cn
big5.rusnews.cn
en.wikipedia.org
ru.wikipedia.org
de.wikipedia.org
be.wikipedia.org
uk.wikipedia.org
be-x-old.wikipedia.org
google.com
google.ru
google.de
google.it
google.com.ua
google.co.uk
korrespondent.net
korespondent.net
korrespondent.net
ua.korrespondent.net
Зміна мови
HTTP_ACCEPT_LANGUAGE
<?xml
version=quot;1.0quot;
encoding=quot;Windows‐1251quot;?>
<api>




<request>








<search>











<abbr
exact=...
<?xml
version=quot;1.0quot;
encoding=quot;Windows‐1251quot;?>
<api>




<request>








<search>











<abbr
exact=...
<?xml
version=quot;1.0quot;
encoding=quot;UTF‐8quot;?>
<api>




<response>








<count>1</count>








<uri>http://u...
Код
Template::Toolkit
<p>




<t>








<en>Attendees
are
welcome













free
of
charge.</en>








<ru>Участие
в
мероприятии








...
msgid
quot;User
informationquot;
msgstr
quot;Информация
о
пользователеquot;

msgid
quot;Loginquot;
msgstr
quot;Входquot;

...
Poedit
SQL
insert
into

translations
(



locale,




msgid,




msgstr
)
...
select
name_$lang
from
...
XSLT
Файли ресурсів
  <strings>
  
 <months>
  
 
 <item>січень</item>
  
 
 <item>лютий</item>
  
 
 <item>березень</item>
  
...
Файли ресурсів

<xsl:value‐of



select=quot;





document('strings.xml')/





strings/months/





item[5]/text()



qu...
Файли ресурсів

<xsl:value‐of



select=quot;





document($lang)/





strings/months/





item[5]/text()



quot;
/>
Файли ресурсів

<xsl:value‐of



select=quot;





$months/item[5]/text()



quot;
/>
<phone
country=quot;7quot;
city=quot;495quot;>1234567</phone>
<phone
country=quot;7quot;
city=quot;495quot;>1234567</phone>

<phone





country=quot;russiaquot;





city=quot;moscowq...
<phone
country=quot;7quot;
city=quot;495quot;>1234567</phone>

<phone





country=quot;russiaquot;





city=quot;moscowq...
XML     xml:lang

XPath   lang()

HTML    lang

CSS     :lang(),
[lang=]
http://www.w3.org/International/articles/css3-text/images/Slide0130.gif
Мова
  vs.
країна
RFC 4646
Tags for the Identification of Languages


ISO 3166
Codes for Country Names
IANA
Language Subtag Registry


RFC 4647
Matching of Language Tags
RFC 4646


language-script-region-variant-extension-privateuse
sr‐Cyrl
Serbian written using the Cyrillic script


sr-Latn
Serbian written using the Latin script


sr-Latn-CS
Serbian wr...
ISO 639-2       ISO 3166
Language Code   Country code
ukr
                English country name
                UKRAINE
ISO...
IANA Language Subtag Registry
http://www.iana.org/assignments/language-subtag-registry



%%                              ...
IANA Language Subtag Registry
http://www.iana.org/assignments/language-subtag-registry



%%                              ...
IANA Language Subtag Registry
http://www.iana.org/assignments/language-subtag-registry



%%
Type: language
Subtag: sh
Des...
<p
xml:lang=quot;en‐GBquot;>



What
colour
is
it?
</p>

<p
xml:lang=quot;en‐USquot;>



What
color
is
it?
</p>


http://w...
<style
type=quot;text/cssquot;>




p:lang(en)
{








color:
red;




}




p[lang
|=
quot;enquot;]
{








color:
gr...
http://www.w3.org/International/tests/results/css-lang
Занадто
багатомовні
сайти
Строковые ресурсы в XSLT-шаблонах
http://www.artlebedev.ru/tools/technogrette/xslt/strings/


Локализация
http://www.artle...
CSS3 and International Text
http://www.w3.org/International/articles/language-tags/


Language tags in HTML and XML
http:/...
Крім того
   Типографіка
   Капчи
   Дизайн
   Одиниці вимірювання
UA Web 2008




Андрей Шитов
andy@shitov.ru
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Многоязычные сайты
Upcoming SlideShare
Loading in...5
×

Многоязычные сайты

457

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
457
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Многоязычные сайты

  1. 1. Багатомовні сайти
  2. 2. Міжнародний vs. багатомовний
  3. 3. Обов’язковий перелік Тексти Телефонні номери Ціни, валюта Дати, час Зображення
  4. 4. Тексти
  5. 5. Телефонні номери
  6. 6. 123-45-67
  7. 7. (495) 123-45-67
  8. 8. +7 495 123-45-67
  9. 9. 8 985 123-45-67
  10. 10. +380 44 123-45-67
  11. 11. (044) 123-45-67
  12. 12. Ціни Валюта
  13. 13. Дати Час
  14. 14. Логотипи
  15. 15. Зображення
  16. 16. URLs
  17. 17. example.com en.example.com
  18. 18. example.com example.com/en
  19. 19. example.ru example.com
  20. 20. rian.ru de.rian.ru fr.rian.ru ar.rian.ru pe.rian.ru sp.rian.ru
  21. 21. rian.ru de.rian.ru fr.rian.ru ar.rian.ru pe.rian.ru sp.rian.ru rusnews.cn big5.rusnews.cn
  22. 22. en.wikipedia.org ru.wikipedia.org de.wikipedia.org be.wikipedia.org uk.wikipedia.org be-x-old.wikipedia.org
  23. 23. google.com google.ru google.de google.it google.com.ua google.co.uk
  24. 24. korrespondent.net korespondent.net
  25. 25. korrespondent.net ua.korrespondent.net
  26. 26. Зміна мови
  27. 27. HTTP_ACCEPT_LANGUAGE
  28. 28. <?xml
version=quot;1.0quot;
encoding=quot;Windows‐1251quot;?> <api> 



<request> 







<search> 










<abbr
exact=quot;1quot;>ООО</abbr> 







</search> 



</request> 



<response> 







<count>4</count> 







<uri>http://sokr.ru/?text= 












%CE%CE%CE&amp;exact=on</uri> 



</response> </api>
  29. 29. <?xml
version=quot;1.0quot;
encoding=quot;Windows‐1251quot;?> <api> 



<request> 







<search> 










<abbr
exact=quot;1quot;>ООО</abbr> 







</search> 



</request> 



<response> 







<count>4</count> 







<uri>http://sokr.ru/?text= 












%CE%CE%CE&amp;exact=on</uri> 



</response> </api>
  30. 30. <?xml
version=quot;1.0quot;
encoding=quot;UTF‐8quot;?> <api> 



<response> 







<count>1</count> 







<uri>http://ukrskor.info/?text= 












%D0%9E%D0%9E%D0%9E</uri> 



</response> </api>
  31. 31. Код
  32. 32. Template::Toolkit
  33. 33. <p> 



<t> 







<en>Attendees
are
welcome
 











free
of
charge.</en> 







<ru>Участие
в
мероприятии 











бесплатное.</ru> 



</t> </p> Template::Multilingual
  34. 34. msgid
quot;User
informationquot; msgstr
quot;Информация
о
пользователеquot; msgid
quot;Loginquot; msgstr
quot;Входquot; msgid
quot;Namequot; msgstr
quot;Имяquot; msgid
quot;Cityquot; msgstr
quot;Городquot; GNU gettext msgid
quot;Countryquot; msgstr
quot;Странаquot;
  35. 35. Poedit
  36. 36. SQL
  37. 37. insert
into
 translations ( 


locale,
 


msgid,
 


msgstr )
...
  38. 38. select
name_$lang
from
...
  39. 39. XSLT
  40. 40. Файли ресурсів <strings> 
 <months> 
 
 <item>січень</item> 
 
 <item>лютий</item> 
 
 <item>березень</item> 
 
 <item>квітень</item> 
 
 <item>травень</item> 
 
 <item>червень</item> 
 
 <item>липень</item> 
 
 <item>серпень</item> 
 
 <item>вересень</item> 
 
 <item>жовтень</item> 
 
 <item>листопад</item> 
 
 <item>грудень</item> 
 </months> </strings>
  41. 41. Файли ресурсів <xsl:value‐of 


select=quot; 




document('strings.xml')/ 




strings/months/ 




item[5]/text() 


quot; />
  42. 42. Файли ресурсів <xsl:value‐of 


select=quot; 




document($lang)/ 




strings/months/ 




item[5]/text() 


quot; />
  43. 43. Файли ресурсів <xsl:value‐of 


select=quot; 




$months/item[5]/text() 


quot; />
  44. 44. <phone
country=quot;7quot;
city=quot;495quot;>1234567</phone>
  45. 45. <phone
country=quot;7quot;
city=quot;495quot;>1234567</phone> <phone
 



country=quot;russiaquot;
 



city=quot;moscowquot;>1234567</phone>
  46. 46. <phone
country=quot;7quot;
city=quot;495quot;>1234567</phone> <phone
 



country=quot;russiaquot;
 



city=quot;moscowquot;>1234567</phone> <phone
country=quot;7quot;
city=quot;495quot;> 







<item>1234567</item> 







<item>8901234</item> 







<item>5678901</item> </phone>
  47. 47. XML xml:lang XPath lang() HTML lang CSS :lang(),
[lang=]
  48. 48. http://www.w3.org/International/articles/css3-text/images/Slide0130.gif
  49. 49. Мова vs. країна
  50. 50. RFC 4646 Tags for the Identification of Languages ISO 3166 Codes for Country Names
  51. 51. IANA Language Subtag Registry RFC 4647 Matching of Language Tags
  52. 52. RFC 4646 language-script-region-variant-extension-privateuse
  53. 53. sr‐Cyrl Serbian written using the Cyrillic script sr-Latn Serbian written using the Latin script sr-Latn-CS Serbian written using the Latin script as used in Serbia and Montenegro
  54. 54. ISO 639-2 ISO 3166 Language Code Country code ukr English country name UKRAINE ISO 639-1 Language Code Code element uk UA
  55. 55. IANA Language Subtag Registry http://www.iana.org/assignments/language-subtag-registry %% %% Type: language Type: region Subtag: uk Subtag: UA Description: Ukrainian Description: Ukraine Added: 2005-10-16 Added: 2005-10-16 Suppress-Script: Cyrl %% %%
  56. 56. IANA Language Subtag Registry http://www.iana.org/assignments/language-subtag-registry %% %% Type: language Type: region Subtag: uk Subtag: UA Description: Ukrainian Description: Ukraine Added: 2005-10-16 Added: 2005-10-16 Suppress-Script: Cyrl %% %%
  57. 57. IANA Language Subtag Registry http://www.iana.org/assignments/language-subtag-registry %% Type: language Subtag: sh Description: Serbo-Croatian Added: 2005-10-16 Deprecated: 2000-02-18 %%
  58. 58. <p
xml:lang=quot;en‐GBquot;> 


What
colour
is
it? </p> <p
xml:lang=quot;en‐USquot;> 


What
color
is
it? </p> http://www.w3.org/TR/REC-xml/
  59. 59. <style
type=quot;text/cssquot;> 



p:lang(en)
{ 







color:
red; 



} 



p[lang
|=
quot;enquot;]
{ 







color:
green; 



} 



p[lang
=
quot;enquot;]
{ 







color:
blue; 



} </style>
  60. 60. http://www.w3.org/International/tests/results/css-lang
  61. 61. Занадто багатомовні сайти
  62. 62. Строковые ресурсы в XSLT-шаблонах http://www.artlebedev.ru/tools/technogrette/xslt/strings/ Локализация http://www.artlebedev.ru/tools/technogrette/xslt/localizing/ Телефонные номера http://www.artlebedev.ru/tools/technogrette/xslt/phone-numbers/ Еще раз о многоязычном сайте http://www.artlebedev.ru/tools/technogrette/xslt/multilang/
  63. 63. CSS3 and International Text http://www.w3.org/International/articles/language-tags/ Language tags in HTML and XML http://www.w3.org/International/articles/language-tags/ Understanding the New Language Tags http://www.w3.org/International/articles/bcp47/ Internationalization Best Practices http://www.w3.org/TR/i18n-html-tech-lang/ Planet I18n http://www.w3.org/International/planet/
  64. 64. Крім того Типографіка Капчи Дизайн Одиниці вимірювання
  65. 65. UA Web 2008 Андрей Шитов andy@shitov.ru
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×