| 478 | * Looks for fallback translation files to use if locale is not available. |
| 479 | * |
| 480 | * @since 4.0.0 |
| 481 | * |
| 482 | * @param string $domain Text domain. Unique identifier for retrieving translated strings. |
| 483 | * @param string $mofile Path to the .mo file. |
| 484 | * @return false or string $mofile Path |
| 485 | */ |
| 486 | function get_fallback_translations( $mofile, $domain ) { |
| 487 | |
| 488 | $languages = get_available_languages( dirname( $mofile ) ); |
| 489 | |
| 490 | if ( empty( $languages ) ) { |
| 491 | return false; |
| 492 | } |
| 493 | |
| 494 | $locale_base = substr( get_locale(), 0, 2); |
| 495 | |
| 496 | foreach ( $languages as $language ) { |
| 497 | $language_base = substr( $language, -5, 2); |
| 498 | if ( $locale_base == $language_base ) { |
| 499 | $alt_mofile = dirname( $mofile ) . '/' . $language . '.mo'; |
| 500 | $mofile = apply_filters( 'load_textdomain_mofile', $alt_mofile, $domain ); |
| 501 | if ( is_readable( $mofile ) ) { |
| 502 | return $mofile; |
| 503 | } |
| 504 | } |
| 505 | } |
| 506 | |
| 507 | return false; |
| 508 | } |
| 509 | |
| 510 | /** |