|
21 | 21 | import fr.adrienbrault.idea.symfony2plugin.translation.TranslatorLookupElement; |
22 | 22 | import fr.adrienbrault.idea.symfony2plugin.translation.collector.YamlTranslationVisitor; |
23 | 23 | import fr.adrienbrault.idea.symfony2plugin.translation.parser.DomainMappings; |
| 24 | +import fr.adrienbrault.idea.symfony2plugin.translation.provider.CompiledContainerTranslatorProvider; |
| 25 | +import fr.adrienbrault.idea.symfony2plugin.translation.provider.CompiledTranslatorProvider; |
| 26 | +import fr.adrienbrault.idea.symfony2plugin.translation.provider.IndexTranslatorProvider; |
24 | 27 | import fr.adrienbrault.idea.symfony2plugin.util.MethodMatcher; |
25 | 28 | import fr.adrienbrault.idea.symfony2plugin.util.PhpElementsUtil; |
26 | 29 | import fr.adrienbrault.idea.symfony2plugin.util.PsiElementUtils; |
|
46 | 49 | import java.util.regex.Matcher; |
47 | 50 | import java.util.regex.Pattern; |
48 | 51 | import java.util.stream.Collectors; |
| 52 | +import java.util.stream.Stream; |
49 | 53 |
|
50 | 54 | /** |
51 | 55 | * @author Daniel Espendiller <daniel@espendiller.net> |
52 | 56 | */ |
53 | 57 | public class TranslationUtil { |
54 | | - public static final ExtensionPointName<TranslatorProvider> TRANSLATION_PROVIDER = new ExtensionPointName<>("fr.adrienbrault.idea.symfony2plugin.extension.TranslatorProvider"); |
| 58 | + private static final ExtensionPointName<TranslatorProvider> TRANSLATION_PROVIDER = new ExtensionPointName<>("fr.adrienbrault.idea.symfony2plugin.extension.TranslatorProvider"); |
| 59 | + public static final TranslatorProvider[] INTERNAL_TRANSLATOR_PROVIDERS = new TranslatorProvider[]{ |
| 60 | + new CompiledContainerTranslatorProvider(), |
| 61 | + new CompiledTranslatorProvider(), |
| 62 | + new IndexTranslatorProvider(), |
| 63 | + }; |
55 | 64 |
|
56 | 65 | public static MethodMatcher.CallToSignature[] PHP_TRANSLATION_SIGNATURES = new MethodMatcher.CallToSignature[] { |
57 | 66 | new MethodMatcher.CallToSignature("\\Symfony\\Component\\Translation\\TranslatorInterface", "trans"), |
@@ -378,8 +387,12 @@ public static Set<String> getPlaceholderFromTranslation(@NotNull String text) { |
378 | 387 | return placeholder; |
379 | 388 | } |
380 | 389 |
|
| 390 | + @NotNull |
381 | 391 | private static TranslatorProvider[] getTranslationProviders() { |
382 | | - return TRANSLATION_PROVIDER.getExtensions(); |
| 392 | + return Stream.concat( |
| 393 | + Arrays.stream(INTERNAL_TRANSLATOR_PROVIDERS), |
| 394 | + Arrays.stream(TRANSLATION_PROVIDER.getExtensions()) |
| 395 | + ).toArray(TranslatorProvider[]::new); |
383 | 396 | } |
384 | 397 |
|
385 | 398 | /** |
|
0 commit comments