Symfony2 将翻译存储在缓存中(app/cache/{dev|prod}/translations/catalogue.fr.php
例如)使用任何提供程序。
缓存中的这个文件只定义了一个数组,其中键是英语,值是其他语言。
这是否意味着随着翻译字符串数量的增加,这个数组会随着时间无限增长?如果我翻译了 10.000 个字符串,这是否意味着每个请求都会将这 10.000 个数组加载到内存中?
Symfony2 将翻译存储在缓存中(app/cache/{dev|prod}/translations/catalogue.fr.php
例如)使用任何提供程序。
缓存中的这个文件只定义了一个数组,其中键是英语,值是其他语言。
这是否意味着随着翻译字符串数量的增加,这个数组会随着时间无限增长?如果我翻译了 10.000 个字符串,这是否意味着每个请求都会将这 10.000 个数组加载到内存中?
是的,这就是 PHP 的工作方式。Symfony 将简单地在“缓存”数组中查找段键,这当然必须加载到内存中。
更详细地说,这里是 ArrayLoader 类,它负责从数组中加载翻译段。