Enviar búsqueda
Cargar
五行完成網頁多國語系
•
Descargar como ODP, PDF
•
15 recomendaciones
•
15,800 vistas
A
amostsai
Seguir
Entretenimiento y humor
Tecnología
Diseño
Denunciar
Compartir
Denunciar
Compartir
1 de 43
Descargar ahora
Recomendados
軟體弱點掃描
軟體弱點掃描
Rainmaker Ho
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
Masato Kinugawa
DynamoDBのテーブル設計手法.pptx
DynamoDBのテーブル設計手法.pptx
Tetsuya Wada
PHPのテスト名を日本語にした話
PHPのテスト名を日本語にした話
Norifumi Kawamoto
網站程式資安白箱與黑箱檢測處理經驗分享
網站程式資安白箱與黑箱檢測處理經驗分享
Ying-Chun Cheng
MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法
yoku0825
体系的に学ばないXSSの話
体系的に学ばないXSSの話
Yutaka Maehira
as-1. アセンブラ入門
as-1. アセンブラ入門
kunihikokaneko1
Recomendados
軟體弱點掃描
軟體弱點掃描
Rainmaker Ho
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
Masato Kinugawa
DynamoDBのテーブル設計手法.pptx
DynamoDBのテーブル設計手法.pptx
Tetsuya Wada
PHPのテスト名を日本語にした話
PHPのテスト名を日本語にした話
Norifumi Kawamoto
網站程式資安白箱與黑箱檢測處理經驗分享
網站程式資安白箱與黑箱檢測處理經驗分享
Ying-Chun Cheng
MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法
yoku0825
体系的に学ばないXSSの話
体系的に学ばないXSSの話
Yutaka Maehira
as-1. アセンブラ入門
as-1. アセンブラ入門
kunihikokaneko1
Microservices
Microservices
영기 김
Amazon DynamoDBの紹介と東急ハンズでの活用について
Amazon DynamoDBの紹介と東急ハンズでの活用について
Taiji INOUE
はじめてのDynamoDBスキーマ設計
はじめてのDynamoDBスキーマ設計
Yoichi Toyota
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
増田 亨
Wsfc basic 130720
Wsfc basic 130720
wintechq
Kamonを理解する
Kamonを理解する
Shuya Tsukamoto
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
yoshitaro yoyo
DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技
Yoichi Toyota
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
Sam Bowne
서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해
중선 곽
徳丸本ができるまで
徳丸本ができるまで
Hiroshi Tokumaru
Goのシンプルさについて
Goのシンプルさについて
pospome
DSLの使い所
DSLの使い所
disc99_
Cross Site Scripting(XSS)
Cross Site Scripting(XSS)
Nabin Dutta
カスタムブロックで自作モジュールをUIFlow対応にする
カスタムブロックで自作モジュールをUIFlow対応にする
Kenta IDA
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
Kouji Matsui
Splunk 교육자료 v1.2
Splunk 교육자료 v1.2
JunMyoung(준명) Youn(연)
Implement Checkpointing for Android
Implement Checkpointing for Android
National Cheng Kung University
RDRAモデリングを見てみよう
RDRAモデリングを見てみよう
Zenji Kanzaki
July.2011.w3ctech
July.2011.w3ctech
Kai Cui
Web设计 3 java_script初探(程序员与设计师的双重眼光)
Web设计 3 java_script初探(程序员与设计师的双重眼光)
ziggear
Más contenido relacionado
La actualidad más candente
Microservices
Microservices
영기 김
Amazon DynamoDBの紹介と東急ハンズでの活用について
Amazon DynamoDBの紹介と東急ハンズでの活用について
Taiji INOUE
はじめてのDynamoDBスキーマ設計
はじめてのDynamoDBスキーマ設計
Yoichi Toyota
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
増田 亨
Wsfc basic 130720
Wsfc basic 130720
wintechq
Kamonを理解する
Kamonを理解する
Shuya Tsukamoto
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
yoshitaro yoyo
DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技
Yoichi Toyota
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
Sam Bowne
서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해
중선 곽
徳丸本ができるまで
徳丸本ができるまで
Hiroshi Tokumaru
Goのシンプルさについて
Goのシンプルさについて
pospome
DSLの使い所
DSLの使い所
disc99_
Cross Site Scripting(XSS)
Cross Site Scripting(XSS)
Nabin Dutta
カスタムブロックで自作モジュールをUIFlow対応にする
カスタムブロックで自作モジュールをUIFlow対応にする
Kenta IDA
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
Kouji Matsui
Splunk 교육자료 v1.2
Splunk 교육자료 v1.2
JunMyoung(준명) Youn(연)
Implement Checkpointing for Android
Implement Checkpointing for Android
National Cheng Kung University
RDRAモデリングを見てみよう
RDRAモデリングを見てみよう
Zenji Kanzaki
La actualidad más candente
(20)
Microservices
Microservices
Amazon DynamoDBの紹介と東急ハンズでの活用について
Amazon DynamoDBの紹介と東急ハンズでの活用について
はじめてのDynamoDBスキーマ設計
はじめてのDynamoDBスキーマ設計
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
Wsfc basic 130720
Wsfc basic 130720
Kamonを理解する
Kamonを理解する
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해
徳丸本ができるまで
徳丸本ができるまで
Goのシンプルさについて
Goのシンプルさについて
DSLの使い所
DSLの使い所
Cross Site Scripting(XSS)
Cross Site Scripting(XSS)
カスタムブロックで自作モジュールをUIFlow対応にする
カスタムブロックで自作モジュールをUIFlow対応にする
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
Splunk 교육자료 v1.2
Splunk 교육자료 v1.2
Implement Checkpointing for Android
Implement Checkpointing for Android
RDRAモデリングを見てみよう
RDRAモデリングを見てみよう
Similar a 五行完成網頁多國語系
July.2011.w3ctech
July.2011.w3ctech
Kai Cui
Web设计 3 java_script初探(程序员与设计师的双重眼光)
Web设计 3 java_script初探(程序员与设计师的双重眼光)
ziggear
TypeScript
TypeScript
Jason Tseng
给聚划算后端开发的前端培训
给聚划算后端开发的前端培训
j5726
浅析浏览器解析和渲染
浅析浏览器解析和渲染
Ailsa126
前端開發學習簡介
前端開發學習簡介
peterju
构建可维护的Javascript 小米网
构建可维护的Javascript 小米网
yang alex
日新培训
日新培训
pan quanjin
Exam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development Fundamentals
Chieh Lin
Node.js 進攻桌面開發
Node.js 進攻桌面開發
Fred Chien
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
Jackson Tian
移动Web开发框架jqm探讨
移动Web开发框架jqm探讨
newker
Dynamic JS Loader
Dynamic JS Loader
feifeipan
Web设计 2 工欲善其事(开发web项目工具的选择)
Web设计 2 工欲善其事(开发web项目工具的选择)
ziggear
使用Javascript及HTML5打造協同運作系統
使用Javascript及HTML5打造協同運作系統
Hsu Ping Feng
Html5
Html5
cazhfe
Cocoa on Rails 4th
Cocoa on Rails 4th
Xiaochun Shen
Web Development Roadmap
Web Development Roadmap
Alexander Shieh
React.js what do you really mean?
React.js what do you really mean?
昱安 周
Elixir 好用的編輯器
Elixir 好用的編輯器
bobo52310
Similar a 五行完成網頁多國語系
(20)
July.2011.w3ctech
July.2011.w3ctech
Web设计 3 java_script初探(程序员与设计师的双重眼光)
Web设计 3 java_script初探(程序员与设计师的双重眼光)
TypeScript
TypeScript
给聚划算后端开发的前端培训
给聚划算后端开发的前端培训
浅析浏览器解析和渲染
浅析浏览器解析和渲染
前端開發學習簡介
前端開發學習簡介
构建可维护的Javascript 小米网
构建可维护的Javascript 小米网
日新培训
日新培训
Exam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development Fundamentals
Node.js 進攻桌面開發
Node.js 進攻桌面開發
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
移动Web开发框架jqm探讨
移动Web开发框架jqm探讨
Dynamic JS Loader
Dynamic JS Loader
Web设计 2 工欲善其事(开发web项目工具的选择)
Web设计 2 工欲善其事(开发web项目工具的选择)
使用Javascript及HTML5打造協同運作系統
使用Javascript及HTML5打造協同運作系統
Html5
Html5
Cocoa on Rails 4th
Cocoa on Rails 4th
Web Development Roadmap
Web Development Roadmap
React.js what do you really mean?
React.js what do you really mean?
Elixir 好用的編輯器
Elixir 好用的編輯器
五行完成網頁多國語系
1.
五行完成 網頁多國語系
Amos Tsai August 19, 2012@COSCUP
2.
● 萬華社區大學、救國團
電腦老師 ● 曾經出沒地: H4, CloudTW, GTUG ● 目前擔任 H4 值日生
3.
目前使用的技能 : Nginx, uWSGI,
bottle, Python, MySQL, MySQLdb, Javascript, jQuery, HTML5, CSS3
4.
amos.tsai@gmail.com
amos.tsai amos-tsai.blogspot.com
5.
五行真的可以開發出網頁版多國語系嗎
6.
係真ㄟ
7.
以前用 gettext 好像有點複雜 會不會網頁版也一樣複雜?
8.
不會,反而更簡單!
9.
jQuery.i18n 有什麼優點
10.
●
相依性低 – jquery-1.3.0.min.js 以上 – jquery.i18n.js ● 體積小,載入速度快 - 3.2KB 無壓縮 ● 適合各種 framework ● 開發速度快 ● 學習曲線低
11.
JQuery i18n ●
2009 年由 Bryan W Berry 開發 ● MIT license ● https://github.com/bryanwb/jquery-i18n/
12.
原本的作法
13.
<script type='text/javascript' src='./jquery-1.3.2.min.js'></script> <script
type='text/javascript' src='./jquery.i18n.js'></script> <script type='text/javascript' src='./jquery.ne.json'></script> <script type='text/javascript' src='example.ne.json'></script> <script type='text/javascript'> $(document).ready(function(){ $._.setLocale('ne'); $('#example1').append("<div>" + $._('Welcome')+"</div>"); $('#example1').append("<div>" + $._n(90) + "</div>"); }); </script> <div id='example1'>Example using strings application-wide <br />
14.
現有作法不足之處
15.
●
手動預先加入語系檔 – 就算使用者用不到也要花費流量讀取檔案 ● 手動輸入使用者語系 – 可以直接讀取瀏覽器語系設定 ● 轉換文字必須放在 <script> 中 – 破壞 HTML 文字可閱讀性
16.
OpenSource 的精神
17.
覺得少了些什麼?
18.
自己改
19.
緊張刺激的 Demo
20.
其實只有講者會緊張 ....orz
21.
撰寫一個 HTML 檔 <!DOCTYPE
html> <html> <head> <meta charset="utf-8"> </head> <body> <span>Hello</span><span>World</span> </body> </html>
22.
載入 2 個
javascript 檔案 ● jquery-1.8.0.min.js ● jquery.i18n.js
23.
在要轉換的標籤加上 class='gettext'
24.
執行 genLocaleJson.py
產生語系檔
25.
根據每個語系檔進行翻譯
26.
移動語系檔到 language 資料夾
27.
// 幫 class="gettext"
的元素增加 gettext 屬性 $._.setAnchorByClass( 'gettext' ); // 根據語系設定替換網頁文字 $._.replaceByLocale( "language/hellow orld." + $._.getLocale() + ".json" );
28.
Just this!
29.
線上即時轉換語系
30.
$('.change').click( function() {
// 根據按鈕更改語系設定 $._.setLocale( $(this).text() ) // 根據語系設定替換網頁文字 $._.replaceByLocale( "language/helloworld." + $._.getLocale() + ".json" ); });
31.
製作語系切換鈕 <button class="change">jp</button> <button class="change">zh_TW</button>
32.
It's All
33.
Source Code 下載 https://bitbucket.org/amostsai/jquery.i18n
34.
35.
歡迎加入 Hacking Thursday Welcome
to Hacking Thursday ハッキング木曜日へようこそ
36.
1. 討論
web, network, programming, system, blablah…. 2. 交流系統工具 & 使用技巧 3. 八卦
37.
聚會地點 店家 : MarketPlace
( 市集 台北 站前 ) 地址 : 台北市重慶南路一段 1 號 2 樓 電話 : (02) 7725-2525 時間 : 每週四晚上 19:30-22:00
38.
最後 ...
39.
未來打算建立數位學習平台
40.
如果您對這個計畫有興趣 或是對相關技術有興趣 歡迎在任何場合與我聯繫:)
41.
Amos Tsai
0982-460-210 amos.tsai@gmail.com
42.
Q&A
43.
thank you
Descargar ahora