Comments (11)
@ustmaestro I think the line should actually be:
$language = $request->getCookies()->getValue($this->languageCookieName);
please would you mind opening a PR?
from yii2-localeurls.
@ustmaestro Thanks for the report. I think @phpnode's suggestion should work. I'm just not sure, why the current test cases don't fail. They actually (shoul) also test the cookie feature. Will have to take a close look later.
If a PR is too much work for you, don't worry. I can also take care of this.
from yii2-localeurls.
@ustmaestro I've fixed this now. It's interesting to note though, that the bug had no effect. yii\web\Cookie
implements a __toString()
method. In matchCode($code)
, $code
is used in two places:
$parts = explode('-', $code);
in_array($code, $this->languages);
I would have expected the cast to string
in explode()
- but not really for in_array()
. Still it worked, even without my fix.
Anyhow, it's fixed now. Thanks again.
from yii2-localeurls.
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
As you can see $needle
is mixed
and it can be an array
(object) that's why your test is not throwing any error
In my case I changed the languages array like
'languages' = > [
'en' => 'English',
'ro' => 'Română',
'ru' => 'Русский',
....
]
and changed in_array
with array_key_exists
that's how I found this bug.
I changed the languages array because of using https://github.com/OmgDef/yii2-multilingual-behavior in my application
from yii2-localeurls.
@ustmaestro Can you confirm that my change above fixes the problem? If everything is fine I'll create a new release.
from yii2-localeurls.
Yes, it's fine now.
Different controller/action names for different languages
#29
Have you planned to do this extension, that will be a great yii2 extension for multilingual websites
I and think many other users is need for this extension
Also it can be a great feature to add dinamic links
Example:
site.com/en/blog/post/sample-post
site.com/ro/blog/post/post-simplu
site.com/ru/blog/post/prostoi-post
This is the same post but in different languages with slug stored in db
from yii2-localeurls.
Have you planned to do this extension
Sorry, no plans on this. It's really a different story (writing a UrlRule class). It should not conflict with this extension, as we do our tricks here very early in the app life cycle. UrlRules should work as usual - if they simply ignore any locale code in the URL.
from yii2-localeurls.
I found a new strange issue
site.com/ro/blog/post/login is not existing url
with config
'urlManager' => [
'class' => 'yii\web\UrlManager',
]
is throwing 404
with config
'urlManager' => [
'class' => 'common\components\UrlManager', // your module
]
is showing post #1
what is wrong
from yii2-localeurls.
someone has tested not existing urls
from yii2-localeurls.
Could you open a new issue with a full report (what is your exact configuration and what do you expect to see), please?
from yii2-localeurls.
OK
from yii2-localeurls.
Related Issues (20)
- Problem with default language HOT 3
- Redirect from https to http HOT 1
- Ajax also redirects when enableLanguagePersistence is turned on HOT 2
- Regular expression trouble HOT 5
- Using GeoIp as primary language detection method HOT 2
- Support for different domains HOT 2
- The page keeps redirecting HOT 1
- index.php is shown in browser url HOT 1
- How can i change language position in url HOT 2
- Please fix this define HOT 3
- Url::to with rules HOT 1
- One language for all EU locales HOT 1
- Problem with change language under Windows HOT 3
- Some issues with yii2-localeurls
- using Yii functionality HOT 2
- Bug in tests HOT 1
- The configuration for the "localeUrls" component must contain a "class" element. HOT 1
- Generating URL with custom urlRule HOT 2
- Help me please. Error with route. HOT 3
- Redirect for specific languages HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yii2-localeurls.