Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓƵ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
JSħ·¨Ì㺲»ÍêÈ«¹ú¼Ê»¯&±¾µØ»¯ÊÖ²áÖ®ÀíÂÛƪ
 
×÷Õߣº·Ê×ÓJohnÀ´Ô´£ºsegmentfault ·¢²¼ÓÚ2016-10-13
   次浏览      
 

Ç°ÑÔ

×î½ü¼ÓÈëµ½ÐÂÏîÄ¿×鸺ÔðÇ°¶Ë¼¼ÊõÔ¤ÑкÍÑ¡ÐÍ£¬ÆäÖÐÉæ¼°µ½Ò»¸öÊìϤÓÖÄ°ÉúµÄÐèÇ󡪡ª¹ú¼Ê»¯&±¾µØ»¯¡£ÊìϤµÄÊÇ֮ǰµÄÏîÄ¿Ò²Íæ¹ý£¬Ä°ÉúµÄÊÇ֮ǰµÄʵÏÖ½ö½öÍ£ÁôÔÚ"ÓÐ"µÄ½×¶Î¶øÒÑ¡£³Ã×ÅÕâ¸ö»ú»áºÃºÃѧϰÕûÀíһϣ¬ÎªºóÃæµÄ¼¼ÊõÑ¡ÐÍ×ö×¼±¸¡£?±¾Æª½«²ûÊö¹ú¼Ê»¯ºÍ±¾µØ»¯µÄ¸ÅÄÒÔ¼°ÆäÖÐÒ»¸öºÜÖØÒªµÄ¸ÅÄ¡ªLanguage tag(Ò²½ÐLanguage code »ò Culture)¡£

ºÎΪ¹ú¼Ê»¯?

¹ú¼Ê»¯ÎÒÈÏΪ¾ÍÊÇÓ¦ÓÃÖ§³Ö¶àÓïÑÔºÍÎÄ»¯Ï°Ë×(Êý×Ö¡¢»õ±Ò¡¢ÈÕÆÚºÍ×Ö·û±È½ÏËã·¨µÈ)£¬¶ø±¾µØ»¯ÔòÊÇÓ¦ÓÃÄÜʶ±ðÓû§ËùÊôÎÄ»¯Ï°Ë××Ô¶¯ÊÊÅäÖÁÏàÓ¦µÄÓïÑÔÎÄ»¯°æ±¾¡£?¹ýÈ¥³£³£ÒÔΪ¹ú¼Ê»¯¾ÍÊÇ×Ö·û´®µÄÌæ»»¡ª¡ªÈç"ÄãºÃ!"Ì滻Ϊ"What's up, man!"£¬Æäʵ¾ßÌåÊÇ·ÖΪÒÔÏÂ5·½Ãæ:

1.×Ö·û´®Ìæ»»

Èç"ÄãºÃ!"Ì滻Ϊ"What's up, man!".

2.Êý×Ö±íʾ·½Ê½

Èç1200.01£¬Ó¢Óï±íʾ·½Ê½Îª1,200.01£¬¶ø·¨ÓïÔòΪ1 200,01£¬µÂÓïÔòΪ1.200,01.

3.»õ±Ò±íʾ·½Ê½

ÈçÈËÃñ±Ò£¤1,200.01£¬ÃÀÔª±íʾ·½Ê½Îª$1,200.01£¬¶øÓ¢ÓïµÄÅ·ÔªÔòΪ€1,200.01£¬µÂÓïµÄÅ·ÔªÔòΪ1.200,01 €.

×¢Òâ: ÕâÀïûÓл¹Ã»ËãÉÏ»ãÂÊÄØ.

1.ÈÕÆÚ±íʾ·½Ê½

Èç2016Äê9ÔÂ15ÈÕ£¬Ó¢Óï±íʾ·½Ê½Îª9/15/2016, ¶ø·¨ÓïΪ15/9/2016, µÂÓïΪ15.9.2016.

2.×Ö·û±È½ÏËã·¨

Èç?ºÍz±È½Ïʱ£¬Ó¢Óï¡¢µÂÓïÖоùÊÇ?ÅÅÔÚzÇ°Ã棬¶øÔÚÈðµäÓïÖÐÔòÊÇzÅÅÔÚ?Ç°Ãæ.

±¾µØ»¯µÄ¹Ø¼ü ¡ª¡ª Language Tag

¼ÈȻҪ×Ô¶¯ÊÊÅäÖÁÓû§ËùÊôµÄÓïÑÔÎÄ»¯°æ±¾£¬ÄÇô×ܵÃÓиö¸ù¾Ý²ÅÄÜʶ±ð°É?ÎÒÏë´ó¼ÒÓ¦¸Ã¶Ôzh-CNºÍenµÈ²»Ä°Éú°É£¬¶øËüÃÇÕýÊÇÎÒÃÇËùÐèµÄ¸ù¾ÝÁË!ÔÚÎÒÃÇʹÓÃÒÑÓÐi18n¿âʵÏÖ¹ú¼Ê»¯/±¾µØ»¯Ê±£¬±Ø¶¨»áдÏÂÒÔÏÂÎĵµ

    { 
"en": { "name": "Enter Name" },
"zh-CN": { "name": "ÊäÈëÐÕÃû" }
}

µ«³ýÁËenºÍzh-CN»¹ÓÐÆäËû¼üÂð?ËüÃǵÄ×é³É¹æÔòÓÖÊÇÈçºÎµÄÄØ?ÏÂÃæÎÒÃÇÀ´ÉÔ΢ÉîÈëµÄÁ˽âÕâЩLanguage Tag°É!

Óï·¨¹æÔò

×¢ÒâÒÔϲÉÓÃABNFÓïÑÔÃèÊö(ABNFµÄÓï·¨Çë²Î¿¼Óï·¨¹æ·¶£ºBNFÓëABNF)

    Language-Tag = langtag 
/ privateuse
/ grandfathered

langtag = language
["-" script]
["-" region]
*("-" variant)
*("-" extension)
["-" privateuse]

¿ÉÒÔ¿´µ½Language-Tag·ÖΪlangtag£¬privateuse ºÍ grandfatherdÈý¸ö×ÓÀà,ÏÂÃæÎÒÃÇÏÈÁ˽âÒ»°ãÇé¿öÓò»ÉϵÄÁ½¸ö°É!

privateuse

±êÇ©µÄÒâ˼²»ÓÉsubtag registry¶¨Ò壬¶øÊÇÓÉʹÓõÄÍŶӼä˽×Ô¶¨Ò塢ά»¤ºÍʹÓá£

¸ñʽ:

    privateuse = "x" 1*("-" (1*8alphanum)) 

ʾÀý:x-zh-CNÊÇprivateuse£¬ÆäÒâ˼²»Ò»¶¨Óëlanguagezh-CNÒ»Ö¡£

×¢Òâ: Ö»×÷ΪС¼¯ÍÅÄÚ²¿ÓÿÉÒÔ£¬¾ö²»ÄÜ´ó·¶Î§ÊÊÓá£

grandfathered

ÓÃÓÚÏòºó¼æÈÝ¡£ÓÉÓÚRFC 4646Ç°µÄ±êÇ©ÎÞ·¨ÍêÈ«Æ¥Å䵱ǰregistryµÄ±êÇ©Óï·¨ºÍÒâ˼£¬Òò´Ëͨ¹ýgrandfatheredÀ´ÌṩÏòºó¼æÈݵÄÌØÐÔ¡£

Óï·¨:

    grandfathered = irregular 
/ regualr
irregular = "en-GB-oed" ; irregular tags do not match
/ "i-ami" ; the 'langtag' production and
/ "i-bnn" ; would not otherwise be
/ "i-default" ; considered 'well-formed'
/ "i-enochian" ; These tags are all valid,
/ "i-hak" ; but most are deprecated
/ "i-klingon" ; in favor of more modern
/ "i-lux" ; subtags or subtag
/ "i-mingo"
/ "i-navajo"
/ "i-pwn"
/ "i-tao"
/ "i-tay"
/ "i-tsu"
/ "sgn-BE-FR"
/ "sgn-BE-NL"
/ "sgn-CH-DE"
regular = "art-lojban" ; these tags match the 'langtag'
/ "cel-gaulish" ; production, but their subtags
/ "no-bok" ; are not extended language
/ "no-nyn" ; or variant subtags: their meaning
/ "zh-guoyu" ; is defined by their registration
/ "zh-hakka" ; and all of these are deprecated
/ "zh-min" ; in favor of a more modern
/ "zh-min-nan" ; subtag or sequence of subtags
/ "zh-xiang"

×¢Òâ: ¼¸ºõËùÓÐgrandfarthered±êÇ©¾ù¿É±»µ±Ç°registryµÄ±êÇ©¼°Æä×éºÏ×÷Ìæ´ú(Ïñi-tao¿ÉÒÔ±»tao´úÌæ)£¬Òò´ËÈçÎÞÒâÍâÇëʹÓÃÏÖÐеıêÇ©°É¡£

ÏÂÃæ¾Íµ½ÁËÎÒÃǵÄÖØÍ·Ï·langtagÁË,Ê×ÏÈÎÒÃÇ¿´¿´langtagϵĵÚÒ»¸ösubtag¡ª¡ªlanguage.

Primary language subtag

ÏñenÕâÖÖ¾ÍÊÇPrimary language subtag£¬ÓÃÓÚ±êʶ×ÊÔ´Ëù¶ÔÓ¦µÄÓïÑÔ¡£

Óï·¨:

    language = 2*3ALPAH 
["-" extlang]
/ 4ALPHA
/ 5*8ALPHA
extlang = 3ALPHA
*2("-" 3ALPHA)

¿´µ½languageÓÐÈýÖÖÐÎʽ£¬ÆäÖÐÈÃÎұȽϺÃÆæµÄÊǵÚÒ»ÖÖ2*3ALPHA ["-" extlang]¡£ÕâÖÖÐÎʽÖÐÇ°ÃæµÄ2*3ALPHA³ÆΪmacrolanguage£¬ÓÃÓÚ±êÃ÷×ÊÔ´¶ÔÓ¦Ò»ÖÖÓïÑԵĻã×Ü£¬¶ø¾ßÌåµÄijһÖÖÓïÑÔ/·½ÑÔÔòͨ¹ýextlangÖ¸¶¨¡£¶ø°üº¬extlang²¿·ÖµÄlanguageÒ²±»³ÆΪencompassed language.

Èçzh-cmnºÍzh-yue¾ÍÊÇencompassed language£¬ÆäÖÐzhÊÇmacrolanguage£¬¶øcmnºÍyueÔòÊÇextlang¡£

ÕâÀïÓиöºÜÓÐȤµÄÊÂÇéÊÇ£¬ÎÒÃÇÈÏΪÆÕͨ»°ºÍ¹ã¶«»°µÈ¶¼ÊǺºÓïµÄ·½ÑÔ£¬µ«Î÷·½È´ÈÏΪÆÕͨ»°¡¢¹ã¶«»°¸ù±¾¾Í²»ÊôÓÚÒ»ÖÖÓïÑÔ£¬Òò´ËÏñzh-cmnºÍzh-yueÔڹ淶Öб»ÉèÖÃΪredundant£¬½¨ÒéÖ±½ÓʹÓÃcmnºÍyueµÈ¡£²»¹ýÓÉÓÚÀúÊ·Ô­Òò£¬ÎÒÃÇ»¹ÊÇʹÓÃzh-CN´ú±ícmn-CN¡£

ÁíÍâÏÖÔÚ¿ÉÒÔ×÷ΪmacrolanguageµÄ¾ÍÖ»ÓÐ7¸ö±êÇ©(ar,kok,ms,sw,uz,zhºÍsgn)

ÁíÍ⼸¸öºÍcmnÀàËƵÄsubtagsÈçÏÂ

    cmn ÆÕͨ»°£¨¹Ù»°¡¢¹úÓ 
wuu ÎâÓ½­Õã»°¡¢ÉϺ£»°£©
czh »ÕÓ»ÕÖÝ»°¡¢ÑÏÖÝ»°¡¢ÎâÓï-»ÕÑÏƬ£©
hak ¿Í¼ÒÓï
yue ÔÁÓ¹ã¶«»°£©
nan ÃöÄÏÓ¸£½¨»°¡¢Ì¨Ó
cpx ÆÎÏÉ»°£¨ÆÎÌï»°¡¢ÐË»¯Ó
cdo Ãö¶«Óï
mnp Ãö±±Óï
zco ÃöÖÐÓï
gan ¸ÓÓ½­Î÷»°£©
hsn ÏæÓºþÄÏ»°£©
cjy ½úÓɽÎ÷»°¡¢É±±»°£©

×¢Òâ: Ò»°ã²ÉÓÃȫСд

Script subtag

ÓÃÓÚÖ¸¶¨×Ö¼£»òÎÄ×Öϵͳ×ÊÔ´ËùÊôµÄÓïÑԺͷ½ÑԵȡ£?Óï·¨:

script = 4ALPHA 

×¢Òâ: Ò»°ã²ÉÓÃÊ××Öĸ´óд£¬ºóÐø×ÖĸȫСд

Region subtag

Ö¸¶¨Óë¹ú¼Ò¡¢µØÓò¶ÔÓ¦µÄÓïÑÔ/·½ÑÔÎÄ»¯¡£?Óï·¨:

    region = 2ALPHA 
/ 3DIGIT

×¢Òâ: Ò»°ã²ÉÓÃÈ«´óд

Variant subtag

Ö¸¶¨ÆäËûsubtagÓÖÎÞ·¨ÌṩµÄ¶îÍâÐÅÏ¢?Óï·¨:

    variant = 5*8alphanum 

/ (DIGIT 3alphanum)

ʾÀý:de-CH-1996ÆäÖÐ1996ÊÇvariant subtag£¬ÕûÌåÒâ˼ÊÇÔÚSwitzerlandʹÓõÄ×Ô1996¸ÄÁ¼¹ýµÄµÂÓï¡£

Extension subtag

ÌṩһÖÖ»úÖÆÈÃÎÒÃÇÈ¥À©Õ¹langtagÓï·¨:

    extension = singleton 1*("-" (2*8alphanum)) 
singleton = DIGIT
/ %x41-57
/ %x59-5A
/ %x61-77
/ %x79-7A

ÏÖÔÚ½öÖ§³Öu×÷ΪsigletonµÄÖµ¡£

ʾÀý:de-DE-u-co-phonebk±íʾ²ÉÓõ绰±¾ºË¶ÔµÄ·½Ê½¶ÔÄÚÈݽøÐÐÅÅÐòµÈ²Ù×÷¡£

¸ü¶à¹ØÓÚlanguage-tagµÄÐÅÏ¢Çë²Î¿¼BCP 47

ÈçºÎÑ¡ÔñLanguage Tag

Ó²×ÅͷƤ¿ÐÏÂÕâô¶à¹æ·¶µÄÄÚÈÝ£¬µ«ÎÒ»¹²»ÖªµÀÈçºÎ×éºÏºÏÊʵÄlanguage-tagÄØ:(ÆäʵѡÔñºÍ×éºÏµÄÔ­Ôò¾ÍÖ»ÓÐÒ»Ìõ

ÔÚ×ãÒÔÇø±ðµ±Ç°ÉÏÏÂÎÄÖÐÆäËûlanguage-tagµÄÇ°ÌáÏ£¬±£³Ölanguage-tag×ã¹»µØ¶ÌС¾«¸É

ʾÀý1:ÏÂÎÄÆÕͨ»°¡¢ÔÁÓï²¢´æ

    <p lang="cmn"> 
С³Â˵:"ÀÏ´óÒ¯£¬¶«·½¹ã³¡Ôõô×ß°¡£¿"
ÀÏ´óÒ¯»Ø´ðµÀ:"<span lang="yue">Äã½²ßãÒ²°¡£¿ÎÒÌýßíÃ÷ม£</span>"
</p>

ʾÀý2:ÏÂÎ嬴ó½È˽²Ó¢Óï¡¢Ïã¸ÛÈ˽²ÆÕͨ»°ºÍÃÀ¹úÈË˵ӢÓï

    <p lang="cmn"> 
С³Â˵:"<span lang="en-CN">Hi, where are you come from?</span>"
ÀîÏÈÉú˵:"<span lang="cmn-HK">ÄãµÄÓ¢ÎĸúÎÒµÄÆÕͨ»°Ò»ÑùÆÕͨ°¡£¬¹þ¹þ£¡</span>"
Simon˵:"<span lang="en">Hey, what's up!</span>"
</p>

ÄÇÏÖÔÚÒý³öÁíÒ»¸öÎÊÌ⣬ÄǾÍÊÇÎÒÃÇÔõô֪µÀ¸÷¸ösubtag¾ßÌ嶨ÒåÁËÄÄЩֵÄØ?

¾ßÌ嶼¶¨ÒåÔÚIANA Language Subtag RegistryÖÐÁË¡£

¼ÙÈç¾õµÃ²éÕÒÆðÀ´»¹ÊDz»·½±ã£¬ÄÇô¾ÍʹÓÃLanguage Subtag Lookup tool°É!

ÁíÍâÈô²»Çå³þ¸÷¹ú¸÷µØÇøËùʹÓõÄÓïÑÔ»ò·½ÑÔʱ£¬¿Éͨ¹ýEthnologue²é¿´£¬Ö±½Óµã»÷µØͼÉϵÄÇøÓò¼´¿É»ñÈ¡ÏàÓ¦µÄsubtagÐÅÏ¢¡£

×ܽá

ÏÖÔÚÎÒÃÇÒѾ­¶Ô¹ú¼Ê»¯ºÍ±¾µØ»¯ÓÐÁ˸üÈ«ÃæµÄÀí½â£¬Ò²¶ÔLanguage tagÓÐÁ˸üÉîÈëµÄÈÏʶ£¬ÏÖÔÚÊDz»ÊÇÆȲ»¼°´ýÏëÍìÆðÐä×Óߣ´úÂëÄØ?¾´ÇëÆÚ´ýÏÂƪ¡¶JSħ·¨ÌÃ:²»ÍêÈ«¹ú¼Ê»¯&±¾µØ»¯ÊÖ²á Ö® ʵսƪ¡·

   
´Îä¯ÀÀ       
Ïà¹ØÎÄÕ Ïà¹ØÎĵµ Ïà¹Ø¿Î³Ì



Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
Öع¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
Öع¹-¸ÄÉƼÈÓдúÂëµÄÉè¼Æ
Èí¼þÖع¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì
×îл¼Æ»®
LLM´óÄ£ÐÍÓ¦ÓÃÓëÏîÄ¿¹¹½¨ 12-26[ÌØ»Ý]
QTÓ¦Óÿª·¢ 11-21[ÏßÉÏ]
C++¸ß¼¶±à³Ì 11-27[±±¾©]
ÒµÎñ½¨Ä£&ÁìÓòÇý¶¯Éè¼Æ 11-15[±±¾©]
Óû§Ñо¿ÓëÓû§½¨Ä£ 11-21[±±¾©]
SysMLºÍEA½øÐÐϵͳÉè¼Æ½¨Ä£ 11-28[±±¾©]

AndroidÊÖ»ú¿ª·¢£¨Ò»£©
Àí½âJavascript
·ÇµäÐÍajaxʵ¼ù
³¹µ×µÄAjax
javascript ʹÓÃCookies
ʹÓà jQuery ¼ò»¯ Ajax ¿ª·¢

Struts+Spring+Hibernate
»ùÓÚJ2EEµÄWeb 2.0Ó¦Óÿª·¢
J2EEÉè¼ÆģʽºÍÐÔÄܵ÷ÓÅ
Java EE 5ÆóÒµ¼¶¼Ü¹¹Éè¼Æ
Javaµ¥Ôª²âÊÔ·½·¨Óë¼¼Êõ
Java±à³Ì·½·¨Óë¼¼Êõ

ijº½¿Õ¹«Ë¾IT²¿ JavaScriptʵ¼ù
ijµçÊÓÈí¼þ HTML5ºÍJavaScript
Öк½ÐÅ JavaScript¸ß¼¶Ó¦Óÿª·¢
´óÇìÓÍÌï web½çÃæAjax¿ª·¢¼¼Êõ
ºÍÀûʱ ʹÓÃAJAX½øÐÐWEBÓ¦Óÿª·¢