1. Go to this page and download the library: Download fccn/webapp-tools-translate library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
fccn / webapp-tools-translate example snippets
$c = array(
...
#----- locale configuration
"defaultLocale" => "pt_PT", # Setup the default locale
"defaultLocaleLabel" => "PT", # and default locale label
"locale_selection" => "param", # locale selection method, can be 'param' if locale to be set up by a url parameter, or 'cookie' if locale is set up by cookie
#- array of available locales
"locales" => array(
array("label" => "GB", "locale" => "en_GB", "flag_alt" => "English flag", "language" => "English"),
array("label" => "PT", "locale" => "pt_PT", "flag_alt" => "Portuguese flag", "language" => "Português"),
# add other languages here....
),
"locale_textdomain" => "messages",
"locale_path" => "../locale", #path of the locale folder
"locale_cookie_name" => "locale", #name of the cookie to store locale information
"locale_cookie_path" => "/", #relative path of the locale cookie
"locale_param_name" => "lang", #name of the URL param to store locale information
"request_attribute_name" => "locale", #name of the request attribute to store locale info
#-twig parser configurations
"twig_parser_templates_path" => "../templates", #path for twig templates folder, can be an array if you are importing templates from other projects
"twig_parser_cache_path" => "../cache", #path for cache folder
#activate verbose debug for debugging purposes (defaults to false)
"verbose_debug" => false,
...
)
$c = array(
...
twig_parser_templates_path => array(
0 => __DIR__ . '/../templates', //set the base template path
//add other namespaces to twig, in the form of 'namespace' => 'path/to/twig/templates'
),
...
);
public function loadConfigs($twig){
....
#add the i18n extensions
$twig->addExtension(new Twig_Extensions_some_extension());
#add translate filter
$filter = new Twig_SimpleFilter("my filter", function($stdClassObject) {
return null;
}),
$twig->addFilter($filter);
...
}
$app = new \Slim\App(...);
// Fetch DI Container
$container = $app->getContainer();
$container['locale'] = function ($cnt) {
$locale = new Fccn\Lib\Locale();
//add global lang var
$cnt->view->getEnvironment()->addGlobal('lang', $locale);
return $locale;
};
$app = new \Slim\App();
//get container
$container = $app->getContainer();
//Create the locale service
$container['locale'] = function ($cnt) {
//set Locale to middleware integration
$locale = new Fccn\Lib\Locale(array('slim_middleware' => true));
//add global lang var
$cnt->view->getEnvironment()->addGlobal('lang', $locale);
return $locale;
};
//Add locale middleware
$app->add(new Fccn\WebComponents\LocaleMiddleware($container['locale']));
$app = new \Slim\App();
$app->get('/utils/setlang/{lang}', Fccn\WebComponents\SwitchLanguageAction::class);
$locale = new \Fccn\Lib\Locale();
$html_content = $locale->getHtmlContent('my_snippet');
echo $html_content
$locale = new \Fccn\Lib\Locale();
$text_content = $locale->getFileContent('my_snippet');
echo $text_content
$locale = new \Fccn\Lib\Locale();
$text_content = $locale->processFile('hello_user',array("{user_name}" => "New User"));
echo $text_content
$twig = new Twig_Environment();
\Fccn\Lib\TranslateConfigurationLoader::loadTwigConfigs($twig);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.