首先,ui-router
确实是任何一个假装灵活和结构良好的AngularJS应用程序的巨大改进。谢谢你的努力!
在我正在开发的一个应用程序中,我们需要提供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参数:
- 继承当前参数,替换i18n参数;
- 触发需要知道i18n变化的元素(可以被解析,在抽象路由上,甚至是当前);
- 使用ii,可以在不重新加载整个应用程序的情况下处理此问题(只能更改视图上使用的数据;我将使用反馈来通知新数据的加载);
有一点是,例如,如果用户将区域设置更改为没有所需语言内容的区域设置,则应用程序需要重定向到通知用户的状态。我想,如果有可能触发i18n上的元素变化,并且有对状态的解析,在拒绝一个时,它可以调度$stateChangeError
或其他东西。
.htaccess
处理,不是吗?谢谢!
我在我的应用程序中使用https://github.com/vizo/angular-ui-router-i18n,并且工作。
这是我的应用程序port.com.br/zh
我发现一个错误,没有区域设置不能工作
我向vizo发送了一个pull request,但是,目前,我没有收到任何反馈。
但是在我的fork是工作的,试试