Hello there,
Maybe in my other post my problem is going under.
My multi-language setup works so far, my content structure:
product-xyz/product.de.txt (default)
product-xyz/product.en.txt
product-xyz/product.DE-de.txt
product-xyz/product.DE-en.txt
product-xyz/product.UK-en.txt
My problem so far:
If I’m on my second domain, which is for the German Market (*.de) should always use the following languages:
product.DE-de.txt
product.DE-en.txt
If there is no .DE-.txt it should fall back to *.de.txt or *.en.txt
On the third domain (UK market), it should use the following rule, if something doesn’t exist:
product.UK-en.txt > product.DE-en.txt > product.de.txt
I was trying to use a controller (site.php
) for this:
$languages_code = array_column( c::get('languages'), 'code' );
$languages_pos = array_search( $site->language()->code(), $languages_code );
$language_info = c::get('languages')[$languages_pos];
if (!$page->content()->exists()) {
if ($page->content($language_info['inherit'])->exists()) {
$content = $page->content($language_info['inherit']);
} else if ($page->content($language_info['backup'])->exists()) {
$content = $page->content($language_info['backup']);
}
} else {
$content = $page->content();
}
I can pass $content
to my template, but I have to re-write/re-organize every template/snippet so far what I try to avoid.
Is there any elegant solution for multiple fallbacks in a multi-language site?
Please let me know if you need more information about any part of my code.
Cheers,
frank