Symfony2将翻译存储在缓存中(例如app/cache/{dev|prod}/translations/catalogue.fr.php
),无论使用什么提供程序。
缓存中的这个文件只是定义了一个数组,其中键是英语,值是其他语言。
这是否意味着这个数组将随着翻译字符串数量的增长而无限增长?如果我已经翻译了10,000个字符串,这是否意味着每个请求都将在内存中加载这10,000个数组?
是的,这就是PHP的工作原理。Symfony只会在"缓存"数组中查找段键,当然,该数组必须加载到内存中。
更详细地说,下面是ArrayLoader类,它负责从数组中加载翻译段。