This file is indexed.

/usr/share/php/kohana3.1/system/guide/kohana/files/i18n.md is in libkohana3.1-core-php 3.1.4-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# I18n

Kohana has a fairly simple and easy to use i18n system. It is slightly modeled after gettext, but is not as featureful. If you need the features of gettext, please use that :)

## __()

Kohana has a __() function to do your translations for you. This function is only meant for small sections of text, not entire paragraphs or pages of translated text.

To echo a translated string:

	<?php echo __('Hello, world!');?>

This will echo 'Home' unless you've changed the defined language, which is explained below.

## Changing the displayed language

Use the I18n::lang() method to change the displayed language:

	I18n::lang('fr');

This will change the language to 'es-es'.

## Defining language files

To define the language file for the above language change, create a `i18n/fr.php` that contains:

	<?php
	
	return array
	(
		'Hello, world!' => 'Bonjour, monde!',
	);

Now when you do `__('Hello, world!')`, you will get `Bonjour, monde!`

## I18n variables

You can define variables in your __() calls like so:

	echo __('Hello, :user', array(':user' => $username));

Your i18n key in your translation file will need to be defined as:

	<?php
	
	return array
	(
		'Hello, :user' => 'Bonjour, :user',
	);

## Defining your own __() function

You can define your own __() function by simply defining your own i18n class:

	<?php
	
	class I18n extends Kohana_I18n
	{
		// Intentionally empty
	}
	
	function __($string, array $values = NULL, $lang = 'en-us')
	{
		// Your functionality here
	}

This will cause the built-in __() function to be ignored.