cancel
Showing results for 
Search instead for 
Did you mean: 

Magento 2 set locale programmatically?

Magento 2 set locale programmatically?

i am create one test PHP file in Magento root directory. i install ar_SA Language pack and try to convert one string English to Saudi Arabia here is my test code.

 

<?php

ini_set('display_errors', 1);
ini_set('max_execution_time', 0);
ini_set("memory_limit", "-1");
set_time_limit(0);
error_reporting(E_ALL);
require './app/bootstrap.php';
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$state = $objectManager->get('Magento\Framework\App\State');
$state->setAreaCode('frontend');

$localeInterface = $objectManager->create('Magento\Framework\TranslateInterface');
$localeInterface->setLocale('ar_SA');
echo $localeInterface->getLocale(); // it's print ar_SA

echo __('Check Value');

I have the corresponding translation in /i18n/ar_SA.csv file, it doesn't print the translated sentence.

2 REPLIES 2

Re: Magento 2 set locale programmatically?

Hello @PK_KTPL 

 

I'm having the same issue, did you find a fix ?

 

Thanks !

Re: Magento 2 set locale programmatically?

Late in the part, but found it: https://www.youtube.com/watch?v=D5curtOIPEc&t=77s

TL;DR: import the Magento\Framework\View\DesignLoader class and use a `$this->designLoader->load()` before your translation string