首先,ui-router
對於任何假裝靈活且結構良好的AngularJS應用來說都是一個巨大的進步。感謝你的付出!是否可以使用ui-router來i18n /本地化我的應用程序?
在我正在開發的應用程序中,我們需要提供i18n的路徑。
由於它的性質,我們需要處理在應用程序中帶來可用語言的端點。
因此,用戶輸入的應用程序,我們有以下幾種可能:
- 沒有一個語言環境:
http://www.app.com(/)
; - 使用有效區域設置:
http://www.app.com/:i18n(/)
; - 使用無效的區域設置字符串:
http://www.app.com/articles(/)
-:i18n
路徑參數被解釋爲articles
; - 使用有效區域設置但不可用:
http://www.app.com/ru(/)
-:i18n
路徑參數是不可用的區域設置;
我需要能夠:
- 裝入API端點,讓可用的語言;
- 解析提供的URL,必要時進行更改,如果需要,更換它;
- 在該應用運行時,可能通過一些改變I18N PARAM例如按鈕和:
- 繼承當前參數,可以更換一個I18N;
- 觸發需要了解國際化的變化(可以做出決議,抽象的路線上,甚至在當前的元素;
- 隨着II,對付這種無需重新加載整個應用的可能性(能夠僅改變在圖中使用的數據;我將使用一個反饋通知新數據的負載);
的一點是,例如,如果用戶改變區域設置爲一個沒有所需語言內容的應用程序,該應用程序需要重定向到一個通知給用戶的狀態,我想,如果有可能觸發國際元素的變化,並且有關國家的決議,拒絕一個國家,它可以派遣一個$stateChangeError
,或其他東西。
最終,如果我正在處理的事情可以更簡單,請讓我知道...使用服務器配置(這個應用程序的最終服務器將是一個Apache),是不可能的而且,因爲可用的語言環境來自API,所以我想沒有太多東西需要處理.htaccess
,是不是?
謝謝!
UI路由器有默認值的可選PARAMS。在頂級狀態下爲Lang定義一個,如果沒有找到,則使用決定或拒絕加載語言。 –