🇨🇳 Shenzhen,China・🕹Web developer
如果你喜欢我的项目并想支持我,点击这里 ❤️
:earth_asia: 75 languages support for Laravel application.
License: MIT License
🇨🇳 Shenzhen,China・🕹Web developer
如果你喜欢我的项目并想支持我,点击这里 ❤️
When I try to publish the translation file, I note that was an old version of Caouse-laravel-lang files.
I hope to check it to publish the newest translation files.
如果不事先配置.env,如果才能动态加载不同的语言
Hi, i'm using Laravel Framework version 5.2.31,
i have installed the package according to the main page instructions but i still see validation errors in english instead in the locale i have set in config/app.php.
I discovered that within the registerLoader method in TranslationServiceProvider there is a reference to this method:
app()->basePath('vendor/caouecs/laravel-lang/src/'),
And looking into the basePath Application class it does not accept any parameters. This line will output just the base path and not the base path with 'vendor/caouecs/laravel-lang/src/' concatenated, this is preventing the FIleLoader class to find the translation files.
there is a function in Illuminate/Foundation/helpers.php that it does accept a path parameter and it will concatenate it to the base path:
if (! function_exists('base_path')) {
/**
* Get the path to the base of the install.
*
* @param string $path
* @return string
*/
function base_path($path = '')
{
return app()->basePath().($path ? DIRECTORY_SEPARATOR.$path : $path);
}
}
I think this will work good.
Could you please fix this?
Thanks for this great package, i love it!
In MemcachedConnector.php line 69:
Class 'Memcached' not found
windows 下报错:
'cp' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
对应代码:
$process = new Process("cp -r{$force} $files $targetPath");
Class FileLoader文件内
str_contains laravel6中需改成 Str::contains
看了 Publish.php
,查找语言文件还是从 caouecs/laravel-lang
目录中找
$sourcePath = base_path('vendor/caouecs/laravel-lang/src');
$sourceJsonPath = base_path('vendor/caouecs/laravel-lang/json');
分页报错:
Translation file [*vendor/caouecs/laravel-lang/json//zh-CN.json] contains an invalid JSON structure.. (View:*\vendor\laravel\framework\src\Illuminate\Pagination\resources\views\bootstrap-4.blade.php)
老大,适配下Laravel 7.x啊,求发版
5.4 Translator.php trans方法移除了$domain = 'messages'传参
public function trans($key, array $replace = [], $locale = null)
{
return $this->get($key, $replace, $locale);
}
'cp' is not recognized as an internal or external command,
operable program or batch file.
如何解决
'cp' is not recognized as an internal or external command,
laravel5.4之前安装有用,今天尝试了两次 都没有效果
Class 'Overtrue\LaravelLang\TranslationServiceProvider' not found
Hello
After enabling Swedish language I got the error in the issue' subject
推荐和 laravel-lang/lang
一致,用大版本的版本号来对应不同的 laravel
版本,例如:
Laravel version | Composer command |
---|---|
Laravel 8.x | composer require overtrue/laravel-lang:~7.0 |
Laravel 7.x and new directory names | composer overtrue/laravel-lang:~7.0 |
Laravel 7.x | composer require overtrue/laravel-lang:~6.1 |
Laravel 6.x | composer require overtrue/laravel-lang:~5.0 |
Laravel 5.8 | composer require overtrue/laravel-lang:~4.0 |
Laravel 5.1-5.7 | composer require overtrue/laravel-lang:~3.0 |
Laravel 5 | composer require overtrue/laravel-lang:~2.0 |
Laravel 4 | composer require overtrue/laravel-lang:~1.0 |
否则用户不知道哪个版本的翻译对应到哪个 laravel
版本。
这次适配laravel9.x
发布的laravel-lang6.0
,貌似不是在上一个版本5.0.2
基础下迭代发布的,导致之前修复的几个BUG又出现了。
Lumen 5.6 + ValidationException,升级到 3.0.9 和 3.0.10 报错,降级到 3.0.8 正常。
[2018-09-02 16:06:18] local.ERROR: Symfony\Component\Debug\Exception\FatalThrowableError: Argument 1 passed to Illuminate\Translation\Translator::__construct() must implement interface Illuminate\Contracts\Translation\Loader, null given, called in /Users/huachen/Projects/dongri/api/vendor/illuminate/translation/TranslationServiceProvider.php on line 33 in /Users/huachen/Projects/dongri/api/vendor/illuminate/translation/Translator.php:60
Stack trace:
#0 /Users/huachen/Projects/dongri/api/vendor/illuminate/translation/TranslationServiceProvider.php(33): Illuminate\Translation\Translator->__construct(NULL, 'zh-CN')
#1 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(764): Illuminate\Translation\TranslationServiceProvider->Illuminate\Translation\{closure}(Object(Laravel\Lumen\Application), Array)
#2 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(646): Illuminate\Container\Container->build(Object(Closure))
#3 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(601): Illuminate\Container\Container->resolve('translator', Array)
#4 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Application.php(223): Illuminate\Container\Container->make('translator', Array)
#5 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(1210): Laravel\Lumen\Application->make('translator')
#6 /Users/huachen/Projects/dongri/api/vendor/illuminate/validation/ValidationServiceProvider.php(36): Illuminate\Container\Container->offsetGet('translator')
#7 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(764): Illuminate\Validation\ValidationServiceProvider->Illuminate\Validation\{closure}(Object(Laravel\Lumen\Application), Array)
#8 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(646): Illuminate\Container\Container->build(Object(Closure))
#9 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(601): Illuminate\Container\Container->resolve('validator', Array)
#10 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Application.php(223): Illuminate\Container\Container->make('validator', Array)
#11 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Application.php(524): Laravel\Lumen\Application->make('validator')
#12 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(764): Laravel\Lumen\Application->Laravel\Lumen\{closure}(Object(Laravel\Lumen\Application), Array)
#13 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(646): Illuminate\Container\Container->build(Object(Closure))
#14 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(601): Illuminate\Container\Container->resolve('validator', Array)
#15 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Application.php(223): Illuminate\Container\Container->make('validator', Array)
#16 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/helpers.php(38): Laravel\Lumen\Application->make('validator')
#17 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Routing/ProvidesConvenienceMethods.php(206): app('validator')
#18 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Routing/ProvidesConvenienceMethods.php(64): Laravel\Lumen\Routing\Controller->getValidationFactory()
#19 /Users/huachen/Projects/dongri/api/app/Http/Controllers/V2/SolutionRecordsController.php(15): Laravel\Lumen\Routing\Controller->validate(Object(Illuminate\Http\Request), Array)
#20 [internal function]: App\Http\Controllers\V2\SolutionRecordsController->index(Object(Illuminate\Http\Request))
#21 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/BoundMethod.php(29): call_user_func_array(Array, Array)
#22 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/BoundMethod.php(87): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#23 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/BoundMethod.php(31): Illuminate\Container\BoundMethod::callBoundMethod(Object(Laravel\Lumen\Application), Array, Object(Closure))
#24 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(564): Illuminate\Container\BoundMethod::call(Object(Laravel\Lumen\Application), Array, Array, NULL)
#25 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(373): Illuminate\Container\Container->call(Array, Array)
#26 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(339): Laravel\Lumen\Application->callControllerCallable(Array, Array)
#27 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(313): Laravel\Lumen\Application->callLumenController(Object(App\Http\Controllers\V2\SolutionRecordsController), 'index', Array)
#28 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(275): Laravel\Lumen\Application->callControllerAction(Array)
#29 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(260): Laravel\Lumen\Application->callActionOnArrayBasedRoute(Array)
#30 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(160): Laravel\Lumen\Application->handleFoundRoute(Array)
#31 [internal function]: Laravel\Lumen\Application->Laravel\Lumen\Concerns\{closure}(Object(Illuminate\Http\Request))
#32 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Routing/Pipeline.php(52): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#33 /Users/huachen/Projects/dongri/api/vendor/barryvdh/laravel-cors/src/HandlePreflight.php(35): Laravel\Lumen\Routing\Pipeline->Laravel\Lumen\Routing\{closure}(Object(Illuminate\Http\Request))
#34 /Users/huachen/Projects/dongri/api/vendor/illuminate/pipeline/Pipeline.php(151): Barryvdh\Cors\HandlePreflight->handle(Object(Illuminate\Http\Request), Object(Closure))
#35 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#36 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#37 /Users/huachen/Projects/dongri/api/vendor/barryvdh/laravel-cors/src/HandleCors.php(36): Laravel\Lumen\Routing\Pipeline->Laravel\Lumen\Routing\{closure}(Object(Illuminate\Http\Request))
#38 /Users/huachen/Projects/dongri/api/vendor/illuminate/pipeline/Pipeline.php(151): Barryvdh\Cors\HandleCors->handle(Object(Illuminate\Http\Request), Object(Closure))
#39 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#40 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#41 /Users/huachen/Projects/dongri/api/vendor/illuminate/pipeline/Pipeline.php(104): Laravel\Lumen\Routing\Pipeline->Laravel\Lumen\Routing\{closure}(Object(Illuminate\Http\Request))
#42 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(410): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#43 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(166): Laravel\Lumen\Application->sendThroughPipeline(Array, Object(Closure))
#44 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(107): Laravel\Lumen\Application->dispatch(NULL)
#45 /Users/huachen/Projects/dongri/api/public/index.php(28): Laravel\Lumen\Application->run()
#46 {main} {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Argument 1 passed to Illuminate\\Translation\\Translator::__construct() must implement interface Illuminate\\Contracts\\Translation\\Loader, null given, called in /Users/huachen/Projects/dongri/api/vendor/illuminate/translation/TranslationServiceProvider.php on line 33 at /Users/huachen/Projects/dongri/api/vendor/illuminate/translation/Translator.php:60)
[stacktrace]
#0 /Users/huachen/Projects/dongri/api/vendor/illuminate/translation/TranslationServiceProvider.php(33): Illuminate\\Translation\\Translator->__construct(NULL, 'zh-CN')
#1 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(764): Illuminate\\Translation\\TranslationServiceProvider->Illuminate\\Translation\\{closure}(Object(Laravel\\Lumen\\Application), Array)
#2 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(646): Illuminate\\Container\\Container->build(Object(Closure))
#3 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(601): Illuminate\\Container\\Container->resolve('translator', Array)
#4 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Application.php(223): Illuminate\\Container\\Container->make('translator', Array)
#5 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(1210): Laravel\\Lumen\\Application->make('translator')
#6 /Users/huachen/Projects/dongri/api/vendor/illuminate/validation/ValidationServiceProvider.php(36): Illuminate\\Container\\Container->offsetGet('translator')
#7 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(764): Illuminate\\Validation\\ValidationServiceProvider->Illuminate\\Validation\\{closure}(Object(Laravel\\Lumen\\Application), Array)
#8 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(646): Illuminate\\Container\\Container->build(Object(Closure))
#9 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(601): Illuminate\\Container\\Container->resolve('validator', Array)
#10 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Application.php(223): Illuminate\\Container\\Container->make('validator', Array)
#11 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Application.php(524): Laravel\\Lumen\\Application->make('validator')
#12 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(764): Laravel\\Lumen\\Application->Laravel\\Lumen\\{closure}(Object(Laravel\\Lumen\\Application), Array)
#13 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(646): Illuminate\\Container\\Container->build(Object(Closure))
#14 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(601): Illuminate\\Container\\Container->resolve('validator', Array)
#15 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Application.php(223): Illuminate\\Container\\Container->make('validator', Array)
#16 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/helpers.php(38): Laravel\\Lumen\\Application->make('validator')
#17 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Routing/ProvidesConvenienceMethods.php(206): app('validator')
#18 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Routing/ProvidesConvenienceMethods.php(64): Laravel\\Lumen\\Routing\\Controller->getValidationFactory()
#19 /Users/huachen/Projects/dongri/api/app/Http/Controllers/V2/SolutionRecordsController.php(15): Laravel\\Lumen\\Routing\\Controller->validate(Object(Illuminate\\Http\\Request), Array)
#20 [internal function]: App\\Http\\Controllers\\V2\\SolutionRecordsController->index(Object(Illuminate\\Http\\Request))
#21 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/BoundMethod.php(29): call_user_func_array(Array, Array)
#22 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/BoundMethod.php(87): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#23 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/BoundMethod.php(31): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Laravel\\Lumen\\Application), Array, Object(Closure))
#24 /Users/huachen/Projects/dongri/api/vendor/illuminate/container/Container.php(564): Illuminate\\Container\\BoundMethod::call(Object(Laravel\\Lumen\\Application), Array, Array, NULL)
#25 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(373): Illuminate\\Container\\Container->call(Array, Array)
#26 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(339): Laravel\\Lumen\\Application->callControllerCallable(Array, Array)
#27 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(313): Laravel\\Lumen\\Application->callLumenController(Object(App\\Http\\Controllers\\V2\\SolutionRecordsController), 'index', Array)
#28 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(275): Laravel\\Lumen\\Application->callControllerAction(Array)
#29 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(260): Laravel\\Lumen\\Application->callActionOnArrayBasedRoute(Array)
#30 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(160): Laravel\\Lumen\\Application->handleFoundRoute(Array)
#31 [internal function]: Laravel\\Lumen\\Application->Laravel\\Lumen\\Concerns\\{closure}(Object(Illuminate\\Http\\Request))
#32 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Routing/Pipeline.php(52): call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))
#33 /Users/huachen/Projects/dongri/api/vendor/barryvdh/laravel-cors/src/HandlePreflight.php(35): Laravel\\Lumen\\Routing\\Pipeline->Laravel\\Lumen\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#34 /Users/huachen/Projects/dongri/api/vendor/illuminate/pipeline/Pipeline.php(151): Barryvdh\\Cors\\HandlePreflight->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 [internal function]: Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))
#37 /Users/huachen/Projects/dongri/api/vendor/barryvdh/laravel-cors/src/HandleCors.php(36): Laravel\\Lumen\\Routing\\Pipeline->Laravel\\Lumen\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#38 /Users/huachen/Projects/dongri/api/vendor/illuminate/pipeline/Pipeline.php(151): Barryvdh\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 [internal function]: Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))
#41 /Users/huachen/Projects/dongri/api/vendor/illuminate/pipeline/Pipeline.php(104): Laravel\\Lumen\\Routing\\Pipeline->Laravel\\Lumen\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#42 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(410): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(166): Laravel\\Lumen\\Application->sendThroughPipeline(Array, Object(Closure))
#44 /Users/huachen/Projects/dongri/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(107): Laravel\\Lumen\\Application->dispatch(NULL)
#45 /Users/huachen/Projects/dongri/api/public/index.php(28): Laravel\\Lumen\\Application->run()
#46 {main}
"}
chenjinhaodeMacBook-Pro:rarone_watch chenjinhao$ php artisan lang:publish zh-CN
cp: /Applications/MAMP/htdocs/rarone_watch/vendor/caouecs/laravel-lang/src/zh-CN /Applications/MAMP/htdocs/rarone_watch/vendor/caouecs/laravel-lang/json/zh-CN.json: No such file or directory
published languages (no overwrite): ["zh-CN"].
Laravel 6.0项目下出现如上标题的问题:
Method Illuminate\Translation\Translator::trans does not exist.
因为我在Laravel模板中使用了__()或trans()等内置辅助函数,而更新后出现找不到如上trans方法问题。
composer2.0下更新后,新产生的vendor/composer/autoload_static.php文件中加载顺序变了:
'6ab8ad87a734f276a6bcd5a0fe1289be' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/operations/divideinto.php',
'6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
'f960e77410032f236cef8c56617b313e' => __DIR__ . '/..' . '/overtrue/laravel-lang/src/helpers.php',
'538ca81a9a966a6716601ecf48f4eaef' => __DIR__ . '/..' . '/opis/closure/functions.php',
'801c31d8ed748cfa537fa45402288c95' => __DIR__ . '/..' . '/psy/psysh/src/functions.php',
'e39a8b23c42d4e1452234d762b03835a' => __DIR__ . '/..' . '/ramsey/uuid/src/functions.php',
'f0906e6318348a765ffb6eb24e0d0938' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/helpers.php',
'58571171fd5812e6e447dce228f52f4d' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/helpers.php',
'5e8fe2a5ffaded85af682684fe3bbf5a' => __DIR__ . '/..' . '/mews/captcha/src/helpers.php',
注意上方/overtrue/laravel-lang/src/helpers.php和/laravel/framework/src/Illuminate/Foundation/helpers.php的加载顺序,不知为何composer2.0将/overtrue/laravel-lang/src/helpers.php先加载了,导致后面加载的/laravel/framework/src/Illuminate/Foundation/helpers.php中的trans函数无法正常使用。因为/overtrue/laravel-lang/src/helpers.php中也有同名函数,从而出现以上问题。
暂时不知道如何解决此问题,我对composer没有深入了解。如果每次composer update后手动更改回来不现实,所以我只能暂停使用此项目改用laravel-lang/lang了。
`vagrant@homestead:~/Code/sample$ composer require "overtrue/laravel-lang:~3.0"
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Writing lock file
Generating optimized autoload files
Illuminate\Foundation\ComposerScripts::postAutoloadDump
@php artisan package:discover
In Translator.php line 60:
Type error: Argument 1 passed to Illuminate\Translation\Translator::__const
ruct() must implement interface Illuminate\Contracts\Translation\Loader, nu
ll given, called in /home/vagrant/Code/sample/vendor/laravel/framework/src/
Illuminate/Translation/TranslationServiceProvider.php on line 33
Script @php artisan package:discover handling the post-autoload-dump event retur ned with error code 1
vagrant@homestead:~/Code/sample$ composer require "overtrue/laravel-lang:~3.0"`
Laravel Framework 8.68.0
"overtrue/laravel-lang": "^5.0",
app.php 设置 'locale' => 'zh_CN', 验证 提示 是 phone 必须介于 3 - 10 个字符之间。
, 这个 phone 字段 在 validation-attributes.php 文件中 有定义, 没有 将 phone
提示为手机
。
猜测: validation-attributes.php
和 validation-inline.php
都没有起作用
在 validation.php
文件中 添加
'attributes' => [
'phone' => '手机号',
],
这样 才有作用
环境:
"laravel/framework": "5.5.*",
"overtrue/laravel-lang": "~3.0",
按照 readme 所述,php artisan lang:publish zh_CN
,会出现:
lang 'zh_CN' not found.
换成 zh-CN 就可以正常执行。
对于 3.0 版本,是否应该在 readme 中说明一下?
运行 php artisan lang:publish zh-CN
报错:
'cp' is not recognized as an internal or external command, operable program or batch file.
根据文档上的示例,
在执行
$ php artisan lang:publish zh_CN
命令的时候报错, 同时配置文件里边也不正确;
还是得使用zh-CN
Hi,
I'm a bit uncertain what information to provide, but I started a lumen project, installed :
https://github.com/caouecs/Laravel-lang
and then
https://github.com/overtrue/laravel-lang
I followed the description and installed all languages. Everything is copied, but not the 'en' version (located in vendor/laravel/lumen-framework/resources/lang)
If I check your script in src/TranslationServiceProvider.php, it does set $inLumen = true
However, there isn't any 'en' folder in resources/lang/ after the copy.
Know it's not much information, but let me know what you need
Lumen: 5.5
readme 里面
echo trans('user_not_exists'); // 用户不存在
echo trans('email_has_registed', ['email' => '[email protected]']);
怎么我用都必须要 trans('demo.user_not_exists') ?
你是怎么做到可以不用加 demo的?
It is officially supported to place language packs in the resources/lang
or lang
directory.
The location of language packs for each project is different. The release command should support publishing to the lang
directory.
如题。比如有一些代码是先写的,类似于mock一样,在写的时候并没有相应的语言包设置。
比如就写了不少的$name = __('name');或者 $ame = __('admin.name');
能否根据这个生成相应的 language文件?
比如默认的,就加到zh-CN.json中。有前缀的创建相应的文件,并写进去?
例如:
<?php
class TestController extends Controller {
public function index(){
$name = __('sitename'); // global lang variable
$menuName = __('menu.name'); //
return response()->json([
'data' => compact('sitename','menuName'),
]);
}
}
我想检测 __() 方法 或者 trans 方法,并自动生成相应的文件,不知道是否可行
|--resources
|----lang
|-------zh-CN
|----------menu.php
|-------zh-CN.json
zh-CN.json
{
"sitename":"Chinese language for sitename"
}
menu.php
<?php
return [
'name'=>'Chinese language for menu.name',
];
比如用在API中的时候,就比较容易遇到。可能会写先方法再写语言包。或者当时就是用的中文之类的
Since the addJsonPath method was introduced in version 5.5 of Laravel, the use of it in your package breaks compatibility with Laravel <5.5
https://laravel.com/api/5.4/search.html?search=addJsonPath
https://laravel.com/api/5.5/search.html?search=addJsonPath
You should use Semver to avoid this. Besides, it would be nice to indicate the compatability requirements in your composer.json file.
I want to use the German locale pack also for locales of austria and switzerland. How to do so? Do I have to copy the files?
caouecs/laravel-lang更新到Laravel-lang/lang已经有段时间了,也看到了本项目依赖已经更改,但是好像还没打标签,导致packagist上还没更改,最近composer update老是提示 “Package caouecs/laravel-lang is abandoned, you should avoid using it.” 。
D:\myWork\test>php artisan lang:publish zh-CN
'cp' is not recognized as an internal or external command,
operable program or batch file.
published languages (no overwrite): ["zh-CN"].
Problem 1
- overtrue/laravel-lang[5.0.0, ..., 5.x-dev] require symfony/process ^5.0.0 -> found symfony/process[v5.0.0-BETA1, ..., 5.4.x-dev] but the package is fixed to v6.0.3 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
- Root composer.json requires overtrue/laravel-lang ~5.0 -> satisfiable by overtrue/laravel-lang[5.0.0, 5.0.1, 5.0.2, 5.x-dev].
要升级依赖喽
vendor\overtrue\laravel-lang\src\Commands\Publish.php下的handle方法
删除或注释掉文件数组添加.json文件的相关代码
`
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$locale = \str_replace('-', '_', $this->argument('locales'));
$force = $this->option('force') ? 'f' : 'n';
$sourcePath = base_path('vendor/laravel-lang/lang/locales');
$sourceJsonPath = base_path('vendor/laravel-lang/lang/locales');
$targetPath = base_path('resources/lang/');
if (!is_dir($targetPath) && !mkdir($targetPath)) {
return $this->error('The lang path "resources/lang/" does not exist or not writable.');
}
$files = [];
$published = [];
$copyEnFiles = false;
$inLumen = $this->laravel instanceof \Laravel\Lumen\Application;
if ('all' == $locale) {
$files = [
\addslashes($sourcePath) . '/*',
\addslashes($sourceJsonPath) . '/*/*.json',
];
$message = 'all';
$copyEnFiles = true;
} else {
foreach (explode(',', $locale) as $filename) {
if ('en' === $locale) {
$copyEnFiles = true;
continue;
}
$trimFilename = trim($filename);
$file = $sourcePath . '/' . $trimFilename;
if (!file_exists($file)) {
$this->error("'$filename' not found.");
continue;
}
$published[] = $filename;
$files[] = escapeshellarg($file);
/*$jsonFile = $sourceJsonPath . "/{$trimFilename}/{$trimFilename}" . '.json';
if (!file_exists($jsonFile)) {
$this->error("'$filename' not found.");
continue;
}
$files[] = escapeshellarg($jsonFile);*/
}
if (empty($files)) {
return;
}
$message = json_encode($published);
}
if ($inLumen && $copyEnFiles) {
$files[] = escapeshellarg(base_path('vendor/laravel/lumen-framework/resources/lang/en'));
}
array_map(function ($file) use ($targetPath) {
$file = str_replace("\\", "/", $file);
$targetPath = str_replace("\\", "/", $targetPath);
$result = $this->cp($file, $targetPath);
$this->info("copy {$file} to $targetPath result: " . json_encode($result));
}, $files);
/*$files = implode(' ', $files);
$targetPath = escapeshellarg($targetPath);
$command = "cp -r{$force} {$files} {$targetPath}";
$process = \method_exists(Process::class, 'fromShellCommandline') ? Process::fromShellCommandline($command) : new Process($command);
$process->run(function ($type, $buffer) {
if (Process::ERR === $type) {
return $this->error(trim($buffer));
}
});
$type = ('f' == $force) ? 'overwrite' : 'no overwrite';
$this->info("published languages <comment>({$type})</comment>: {$message}.");*/
}
/**
*$param 来源文件夹或者文件$src
*$param 目的地 $des
*返回值,true或者false
*/
function cp($src, $des)
{
// 删除路径左右两侧的双引号
$src = rtrim(ltrim($src, "\""), "\"");
// 清除文件状态缓存
clearstatcache($src);
//假如是文件并且目的地不存在则创建目的地,并把文件放在目的地之下
if (is_file($src)) {
var_dump($des . '/' . dirname($src));
//目的地不存在则创建目的地
if (!file_exists($des) && !is_dir($des)) {
mkdir($des, 0777, true);
}
copy($src, $des . '/' . basename($src));
//假如是目录
} else if (is_dir($src)) {
//目的地不存在则创建目的地
if (!file_exists($des) && !is_dir($des)) {
mkdir($des, 0777, true);
}
//遍历目录下面的文件
foreach (glob($src . '/*') as $f) {
//假如目录下面的文件是目录则对它进行递归复制
if (is_dir($f)) {
$this->cp($f, $des . '/' . basename($f));
} else {
$baseDir = $des . '/' . basename($src);
if (!file_exists($baseDir) && !is_dir($baseDir)) {
mkdir($baseDir, 0777, true);
}
$to = $baseDir . '/' . basename($f);
if (!file_exists($to)) {
fopen($to, "w+");
}
//文件则复制到目的地
copy($f, $to);
}
}
} else {
return false;
}
return true;
}`
After last update when I do a php artisan clear-compiled I recive the following error:
[Symfony\Component\Debug\Exception\FatalErrorException]
Call to undefined function Overtrue\LaravelLang\resource_path()
Script php artisan clear-compiled handling the post-update-cmd event returned with an error
Bash output
- Updating overtrue/laravel-lang (3.0.8 => 3.0.9): Reading /Users/xiaohuilam/.composer/cache/files/overtrue/laravel-lang/b6ff270c011f55f142a8e3cb94e42c62db8503b4.zip from cache
Loading from cache Extracting archiveExecuting command (CWD): unzip -qq '/Project/nginx/xxx/vendor/overtrue/laravel-lang/8486e4a5ebadb3edca7e92c341a70bf8' -d '/Project/nginx/xxx/vendor/composer/b0ecc785'
REASON: Required by the root package: Install command rule (install overtrue/laravel-lang 3.0.9)
Reading /Project/nginx/xxx/vendor/composer/installed.json
Reading ./composer.lock
Writing lock file
Generating optimized autoload files
> post-autoload-dump: Illuminate\Foundation\ComposerScripts::postAutoloadDump
> post-autoload-dump: @php artisan package:discover
Executing command (CWD): '/usr/local/Cellar/php/7.2.8/bin/php' -d allow_url_fopen='1' -d disable_functions='' -d memory_limit='2048M' artisan package:discover
In Translator.php line 60:
Argument 1 passed to Illuminate\Translation\Translator::__construct() must
implement interface Illuminate\Contracts\Translation\Loader, null given, ca
lled in /Project/nginx/xxx/vendor/laravel/framework/src/Illuminate/Transl
ation/TranslationServiceProvider.php on line 33
Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1
And try fix this in composer.json
everything will be fine.
"require": {
"overtrue/laravel-lang": "v3.0.8"
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.