×

CodeIgniter Language Class

Language Class

The CodeIgniter’s language class contains the various functionality that is used to access the language-specific files and text line for the purposes of internationalization. This class provides you suitability to add or create files of your own languages file or text ??as needed; even you can show a specific error message on the application or translate any core message into other languages.

Note: When Codeigniter loads the language file, it must first be loaded into the system/language/ folder, and then it will search for the folder that defines it in the application/language directory to override.

Switching languages

A language class provide a suitability to switch between multiple languages by the following example:

$file_name = $this->session->get_userdata( ‘language’ );
$this->lang->load( ‘error_messages’, $file_name);
$data = $this->lang->line( ‘message_key’ ); 

Create a Languages File

The creation of a language file is simple with the _lang.php as the suffix filename extension in the application/language/filename_lang.php. For example, suppose you are creating a file that contains welcome messages; the name of the file can be welcome_lang.php.

Inside the file you can assign each line of text to an array called $lang with the following Syntax:

$lang[ ‘language_key’] = ‘You can define actual contents here’;
$lang[ ‘error_url’ ] = ‘This is not a valid URL’;
$lang[ ‘error_username_missing’] = ‘Please provide a valid username’; 

Loading a language file

To fetch a line from a specific file in the language folder, you have to load that file first. The loading of a language file can be done with the following code:

$this->lang->load( ‘file_name’, ‘language_name’);

Where file_name denotes the name of the file that you want to load (without the file extension), and the language_name shows the language that you want to display ( english, hindi, Chinese, etc.) with your file. If the second parameter is blank ( or missing), the default language set in the application/config/config.php file can take place.

If you want to load multiple filename at same time, you can pass the filename in an array of language files.

$this->lang->load(array ( ‘filename’, filename1’, ‘filename2’));

To fetch a line of text

Once the selected language files have been loaded, you can fetch any line of text using the following function:

$this->load->line( ‘language_key’);

Here language_key is the selected array key to fetch a line of text that you want to display in the Codeigniter application.

Autoload a Languages

If you want a particular language should be run globally in the application, you have to specify the Codeigniter to autoload the selected language during the system initialization. Furthermore, it can be done through the following path application/config/autoload.php file and add a language to the autoload function that you want to run in the application.

Class function

  1. load(): It is a load() function that is used to load a language file with the specified language name.

Syntax

lang ( $langfile [, $idiom = ‘’ [, $return = FALSE [, $add_suffix = TRUE [, $alt_path = ‘’ ] ] ] ]);

It has few parameters as listed below:

$langfile: It defines the language file to be load or an array with multiple files.

$idiom: It defines the language name (such as english, chinese, hindi).

$return (bool): In this field, whether you wish to return a loaded array of translations.

$add_suffix (bool): It defines whether you want to add ‘_lang’ as a suffix to the language file name or not.

$alt_path: It defines the alternate path to search for the language file.

  • line(): As the name suggests, a line() function is used to select a single line of text from the preloaded language files, based on the line’s name.

Syntax:

$data = $this->lang->line( ‘line_name’ );

Example: To shows a different type of language message in the Codeigniter application.

Create a controller file Language_controller.php and save it in application/controller/Language_controller.php. After that, write the following program in the controller file.

Language_controller.php

<?php
 defined('BASEPATH') OR exit('No direct script access allowed');
 class Language_controller extends CI_Controller
 {
 public function input()
 {
     echo "<title> Tutorial and Example </title>";
 $this->lang->load('alert_eng', 'english'); // alert_eng_lang.php is the file name. 
  $eng = $this->lang->line('welcome_message'); // it fetches only a single line message
  echo "<h2> $eng </h2>";
  $this->lang->load('alert_eng', 'english');
 $eng2 =  $this->lang->line('alert_url');
  echo "<h2> $eng2 </h2>";
 $this->lang->load('alert_language', 'hindi'); 
 $hn = $this->lang->line('welcome_message');
 echo "<h2> $hn </h2>";
 $this->lang->load('show_message', 'spanish');
 echo $this->lang->line('spanish_welcome');
 }
 }
 ?> 

You have to create english, hindi and spanish folder inside the application/language/ folder. After that, create a separate file of each languages with _lang.php extension such as:

alert_eng_lang.php

<?php
 $lang['welcome_message'] = 'Welcome to the Tutorial and Example.com!';
 $lang['alert_url'] = ' This is not a valid URL';
 ?> 

Follow this path: application\language\spanish\alert_language_lang.php

alert_language_lang.php

<?php
 $lang['welcome_message'] = '?????????? ?? example.com ??? ???? ?????? ??!';
 ?> 

Follow this path: application\language\spanish\show_message_lang.php

show_message_lang.php

<?php
 $lang['spanish_welcome'] = 'Bienvenido al tutorial y example.com.';
 ?> 

When you execute the program in the localhost by invoking the URL localhost/CodeIgniter-3.1.11/index.php/Language_controller/input function, it shows the output, as shown below.

CodeIgniter Language Class

Related Topics

Versions of CodeIgniter

CodeIgniter v3.1.11 (This is the current version which we will used in this tutorial)CodeIgniter v3.1.10CodeIgniter v3.1.9CodeIgniter v3.1.8CodeIgniter v3.1.7CodeIgniter v3.1.6CodeIgniter v3.1.5CodeIgniter v3.1.4CodeIgniter v3.1.3CodeIgniter v3.1.2CodeIgniter v3.1.1CodeIgniter v3.1.0CodeIgniter v3.0.6CodeIgniter...

1 minute read.

Installation of CodeIgniter

Before installing CodeIgniter, you need to make sure that the wamp or xampp server in the system is preinstalled. The installation procedure for CodeIgniter is very easy. You can download CodeIgniter by following these...

2 minutes read.

Structure of Codeigniter

The File structure of CodeIgniter is divided into three parts: ApplicationSystemuser_guide Application -: As the name represents Application, which contains all the main parts of the project like a controller, libraries, view, models, and others....

3 minutes read.

Directory Helper Codeigniter

Directory Helper CodeIgniter: provides a directory helper function that works with the directory. It shows the structure of the file, hidden file in the folder, and the folder in...

3 minutes read.

CodeIgniter User Agent Class

User Agent Class The CodeIgniter provides a user agent class that helps to identify and collect information about the browser, mobile devices, or robots visiting your site. Besides this, it is also used...

4 minutes read.

CodeIgniter Benchmarking Class

The CodeIgniter contains the Benchmarking class that is used to calculate the time difference between two points or the memory usage of the passed statements in the application. By default, the Benchmarking...

7 minutes read.

CodeIgniter Input Class

Input Class The CodeIgniter framework provides an input class that includes various input functions to pre-process global input data for protection; furthermore, it also provides some helper functions to obtain input data. This...

11 minutes read.

Image Manipulation Codeigniter

Image Manipulation A Codeigniter provides an image manipulation class that is used for resizing, cropping, rotation, and many other manipulation tasks. This class also support three major image libraries such as GD/GD2, NetPBM, and...

11 minutes read.

Database Configuration CodeIgniter

In every application, there is an important part of a database through which developers can connect an application to store users’ data and perform various functions in the database application such as inserting,...

10 minutes read.

CodeIgniter Models

Models are the classes that deals with backend operations. It is used to fetch the data from the database and send it to the Controller. All the database related information provided inside...

5 minutes read.

HTML Table Class CodeIgniter

HTML Table Class The CodeIgniter framework provides an HTML Table Class that is used to develop an auto-generated table using a defined array or result sets of the database table. Loading an HTML Table Class...

8 minutes read.

CodeIgniter String Helper

The string helper file contains functions that allows separate operations with strings in CodeIgniter. Loading the String Helper Before using the string helper in the CodeIgniter application, you must load it in the controller...

7 minutes read.

CodeIgniter ZIP Encoding Class

ZIP Encoding Class The CodeIgniter provides a Zip encoding class that are used to compress a large file into a Zip archives. And this archives files can be downloaded either to your desktop or...

5 minutes read.

CodeIgniter Creating Library

As we know, CodeIgniter has a large collection of library functions that are stored in the system/libraries folder. CodeIgniter also provides some additional functionality in library files. For example, if you want to...

3 minutes read.

CodeIgniter Views

A View is a presentational part which shows the information to the users. It is a complex web page which contains navbar, header, footer, sidebar, etc. A view file cannot be called directly...

5 minutes read.

CodeIgniter Helpers

The Helpers (functions) are stored in the Helper file. It helps CodeIgniter to perform different tasks. The helper file is the collection of many functions that is used to perform specific task. It...

3 minutes read.

CodeIgniter Inflector Helper

The inflector helper file contains some predefined function that allows users to change their English words into plural, singular, and camel case, etc. Loading an Inflector Helper Before using an inflector helper function, you must...

3 minutes read.

CodeIgniter Array Helper

The Array Helper contains some predefined functions that are used to perform the various operation with array. Load Array helper It is used to load the helper class. We can pass the helper function in the...

6 minutes read.

Codeigniter Session Library

Session Library The session is an essential part of any application. It contains various functions to manage the users' status and track their activity while browsing on the site. For example,...

13 minutes read.

CodeIgniter Libraries

The library is an important part of the CodeIgniter framework. It has a large collection of libraries files that are used to increase the performance of an application. By default, all CodeIgniter libraries...

4 minutes read.