Региональные настройки (программирование)

Установка локали

Чтобы отобразить текущую локаль и связанные с ней переменные окружения, наберите:

$ locale

Используемая локаль, выбранная среди сгенерированных в системе, устанавливается в файлах , каждый из которых должен содержать список переменных окружения, например:

locale.conf
LANG=en_AU.UTF-8
LC_COLLATE=C
LC_TIME=en_DK.UTF-8

Системная локаль устанавливается в файле /etc/locale.conf. Вы можете установить ее также при помощи localectl:


# localectl set-locale LANG=en_US.UTF-8
Подробнее смотрите на man-странице .
Совет: Во время установки системы, если вас устраивает вывод команды locale, вы можете просто сохранить его в файл командой (в сеансе arch-chroot).

Системная локаль может переопределяться в каждом пользовательском сеансе с помощью файла ~/.config/locale.conf (или, в общем случае, $XDG_CONFIG_HOME/locale.conf либо $HOME/.config/locale.conf).

Совет:
  • Это позволяет вести системные логи в на английском, при использовании местного языке в рабочей среде пользователя.
  • Вы можете создать файл , тогда для всех новых пользователей, добавленных командой useradd с опцией сразу будет автоматически сгенерирован файл .

Приоритет файлов определяется в .

Смотрите , man-страницу и связанные страницы для получения подробной информации.

После внесения изменений в файлы , они вступят в силу после перезагрузки системы, и для отдельных сеансов пользователей — при входе. Чтобы принудительно обновить локаль в текущем окружении без перезагрузки, выполните:

$ source /etc/profile.d/locale.sh

Локаль

Локаль – первый и самый важный аргумент всех методов, связанных с интернационализацией.

Локаль описывается строкой из трёх компонентов, которые разделяются дефисом:

  1. Код языка.
  2. Код способа записи.
  3. Код страны.

На практике не всегда указаны три, обычно меньше:

  1. – русский язык, без уточнений.
  2. – английский язык, используемый в Англии ().
  3. – английский язык, используемый в США ().
  4. – китайский язык (), записываемый упрощённой иероглифической письменностью (), используемый в Китае.

Также через суффикс можно указать расширения локалей, например – тайский язык (), используемый в Таиланде (), с записью чисел тайскими буквами (๐, ๑, ๒, ๓, ๔, ๕, ๖, ๗, ๘, ๙) .

Стандарт, который описывает локали – RFC 5464, языки описаны в IANA language registry.

Все методы принимают локаль в виде строки или массива, содержащего несколько локалей в порядке предпочтения.

Если локаль не указана или – берётся локаль по умолчанию, установленная в окружении (браузере).

– вспомогательная настройка, которую тоже можно везде указать, она определяет способ подбора локали, если желаемая недоступна.

У него два значения:

  • – означает простейший порядок поиска путём обрезания суффикса, например → → → локаль по умолчанию.
  • – использует встроенные алгоритмы и предпочтения браузера (или другого окружения) для выбора подходящей локали.

По умолчанию стоит .

Если локалей несколько, например то пытается подобрать наиболее подходящую локаль для первой из списка (китайская), если не получается – переходит ко второй (русской) и так далее. Если ни одной не нашёл, например на компьютере не совсем поддерживается ни китайский ни русский, то используется локаль по умолчанию.

Как правило, является здесь наилучшим выбором.

Кодировка HTML-страниц

Объявить кодировку html-страницы можно двумя способами: через заголовки и мета-тег в самой странице. Мета-тег используется только в статичных страницах.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Я не буду его разбирать, это проблемы html. Во всех остальных случаях предпочтительней использовать HTTP-заголовок Content-Type.

PHP позволяет работать с HTTP-заголовками посредством функции header():

// Объявление типа содержимого и его кодировки
header('Content-Type: text/html; charset=utf-8');

Но браузер отобразит страницу корректно только в том случае, когда php-файлы сами были созданы в кодировке cp1251. Также нужно понимать, что заголовки должны быть отправлены до любого вывода на экран.

При необходимости перекодировать страницы «на лету», достаточно воспользоваться буферизацией и iconv:

Код - динамическая перекодировка
123456789
<?php
iconv_set_encoding('internal_encoding', 'WINDOWS-1251'); // Исходная кодировка файлов
iconv_set_encoding('output_encoding'  , 'UTF-8');        // Конечная кодировка
ob_start('ob_iconv_handler');                            // буферизация

header('Content-Type: text/html; charset=utf-8');
?>

Привет, мир!

Надпись «Привет, мир!» будет выведена в юникоде, при этом браузер получит информацию о кодировке через заголовки и правильно отобразит страницу

Но важно понимать, что внутри скрипта и при соединении с базой данных надо использовать windows-1251 (cp1251), поскольку страница должна быть сформирована в одной кодировке

Важно помнить, что функции iconv доступны не всегда, и проверка на доступность этих функций не будет лишней

Раскладка клавиатуры для консоли

OpenRC

Раскладка клавиатуры, используемая консолью, устанавливается в файле /etc/conf.d/keymaps с помощью переменной keymap. Допустимые значения можно найти в каталоге /usr/share/keymaps/YOUR_ARCH/. Каталог архитектуры i386 содержит подкаталоги, соответствующие различным раскладкам (qwerty/, azerty/ и так далее). У некоторых языков есть несколько вариантов — поэкспериментируйте с ними, чтобы определить более подходящий.


Файл Установка раскладки клавиатуры для консоли

keymap="de"
#keymap="de-latin1"
#keymap="de-latin1-nodeadkeys"

systemd

В systemd раскладка для консоли может быть установлена с помощью команды localectl. Сперва проверьте доступные раскладки:

Далее установите необходимую раскладку для консоли:

В конце проверьте, что раскладка для консоли была установлена правильно:

       VC Keymap: it

Зачем это?

Сейчас множество людей использует компьютеры ежедневно, и на работе, и дома. Большинство не является компьютерными профессионалами (программистами или системными администраторами). Это так называемые конечные пользователи. Они могут владеть английским языком или не владеть им. Программы для пользователей обычно локализуются — переводятся на родной для пользователей язык. Это, в общем-то, правильно, но некоторые старые перцы всё-таки предпочитают нелокализованные программы, потому что английские команды и сообщения обычно короче русских эквивалентов, локализации часто неполны или устаревши, или просто в силу старых, давно устоявшихся привычек.

Что же делать в таком случае? Использование локали en_US (английский для США) или других предустановленных англоязычных локалей, таких, как en_GB (английский для Великобритании) или en_CA (английский для Канады), имеет существенные недостатки: (кто-нибудь знает — 12pm — это полдень или полночь?), двусмысленный (для россиян) формат дат (08/03/2013 — это восьмое марта или третье августа?), английская система мер с её футами и дюймами, и т. д. и т. п.

Известный трюк с комбинацией локалей путём установки переменных окружения и работает, на мой взгляд, не очень хорошо:

Пожалуйста, помогите c переводом:

(8) 4 ÷ 2 are divided into 5 steps

(a) Correct quotient

(b) Over-quotient by once

(c) Over-quotient by twice or more

(d) Same first digits (2 scenarios)

(e) Both first digits are 1 over-quotient (129, 348, 567, 786, 95)

(f) Line to help memorize returning : minus 1 time, skip a space and add back Mr. Cat Английский-Русский

The rival gangs piled into one another with a vengeance — fists flew, knives flashed, clubs struck muscle and bone with sickening smacks Английский-Русский

It slides comfortably into the ‘affordable’ bracket though, considering its supersized display, and when it lands on contract (which should be soon) it won’t carry hefty monthly fees. Английский-Русский

Mendeleev was foreshadowed in his great generalization by De Chancourtois’s helix of elements of 1863, J.A.R. New-lands’s *law of octaves* (1864-5)-which uncovered periodicity in the 8th elements of his chemical groupings — and W. Odling’s work, which suggested that recurrent chemical properties in elements arranged according to atomic weight could not be accidental. Английский-Русский

Локаль Системы По Умолчанию

Дельный Совет: Создайте потрясающий ASCII баннер из командной строки в Linux и вставьте его в предупреждающее сообщение, которое будет появляться при подключении по SSH! Читать далее →

Выполните следующие действия для смены системной локали по умолчанию (для всех пользователей).

Поддерживаемые релизы: Ubuntu-15.04, 15.10, 16.04, 16.10, 18.04.

Ubuntu-14.04

Поддерживаемые релизы: Ubuntu-9.10, 10.04, 10.10, 11.04, 11.10, 12.04, 12.10, 13.04, 13.10, 14.04, 14.10.

Откройте файл с настройками локали по умолчанию:

/etc/default/locale

Переопределите значение переменной :

LANG="en_US.utf8"

CentOS-6

Откройте файл с настройками локали по умолчанию:

/etc/sysconfig/i18n

Переопределите значение переменной :

LANG="en_US.utf8"

Необходима перезагрузка: Изменения системных настроек вступит в силу только после перезагрузки.

Удалить лишние локали

После установки (генерации) локали, она помещается в архив . Файл архива — это файл, отображаемый в память, который содержит все локали системы; он используется всеми локализованными программами. Посмотреть список локалей в архиве можно с помощью команды:

$ localedef --list-archive
en_US.utf8
ru_RU.utf8
ru_UA.utf8

Удалить заданную локаль из файла архива:

$ sudo localedef --delete-from-archive ru_UA.utf8

Обратите внимание на название локали — , а не. Если неправильно указать локаль — она не будет удалена из архива:

$ sudo localedef --delete-from-archive ru_UA.UTF-8
locale "ru_UA.UTF-8" not in archive

В случае, если утилита была вызвана с опцией , надо удалить соответствующую директорию в :

$ cd /usr/lib/locale
$ ls
C.UTF-8    en_US.utf8    ru_RU.utf8    ru_UA.utf8
$ sudo rm -r ru_UA.utf8

Модуль locale

Последнее обновление: 03.05.2017

При форматировании чисел Python по умолчанию использует англосаксонскую систему, при которой разряды целого числа отделяются друг от друга запятыми, а дробная часть от целой отделяется точкой. В континентальной Европе, например, используется другая система, при которой разряды разделяются точкой, а дробная и целая часть — запятой:

# англосаксонская система
1,234.567
# европейская система
1.234,567

И для решения проблемы форматирования под определенную культуру в Python имеется встроенный модуль locale.

Для установки локальной культуры в модуле locale определена функция setlocale(). Она принимает два параметра:

setlocale(category, locale)

Первый параметр указывает на категорию, к которой применяется функция — к числам, валютам или и числам, и валютам. В качестве значения для параметра мы можем передавать одну из следующих констант:

  • LC_ALL: применяет локализацию ко всем категориям — к форматированию чисел, валют, дат и т.д.

  • LC_NUMERIC: применяет локализацию к числам

  • LC_MONETARY: применяет локализацию к валютам

  • LC_TIME: применяет локализацию к датам и времени

  • LC_CTYPE: применяет локализацию при переводе символов в верхний или нижний регистр

  • LC_COLLIATE: применяет локаль при сравнении строк

Второй параметр функции setlocale указывает на локальную культуру, которую надо использовать. На ОС Windows можно использовать код станы по ISO из двух символов, например, для США — «us», для Германии — «de», для России — «ru». Но на MacOS необходимо указывать код языка и код страны, например, для английского в США — «en_US», для немецкого в Германии — «de_DE», для русского в России — «ru_RU». По умолчанию фактически используется культура «en_US».

Непосредственно для форматирования чисел и валют модуль locale предоставляет две функции:

  • : форматирует валюту

  • : подставляет число num вместо плейсхолдера в строку str

    Применяются следующие плейсхолдеры:

    • : для целых чисел

    • : для чисел с плавающей точкой

    • : для экспоненциальной записи чисел

    Перед каждым плейсхолдером ставится знак процента %, например:

    "%d"

    При выводе дробных чисел перед плейсхолдером после точки можно указать, сколько знаков в дробной части должно отображаться:

    %.2f		# два знака в дробной части

Применим локализацию чисел и валют в немецкой культуре:

import locale

locale.setlocale(locale.LC_ALL, "de")        # для  Windows
# locale.setlocale(locale.LC_ALL, "de_DE")   # для MacOS

number = 12345.6789
formatted = locale.format("%f", number)
print(formatted)    # 12345,678900

formatted = locale.format("%.2f", number)
print(formatted)    # 12345,68

formatted = locale.format("%d", number)
print(formatted)    # 12345

formatted = locale.format("%e", number)
print(formatted)    # 1,234568e+04

money = 234.678
formatted = locale.currency(money)
print(formatted)    # 234,68 €

Если вместо конкретного кода в качестве второго параметра передается пустая строка, то Python будет использовать культуру, которая применяется на текущей рабочей машине. А с помощью функции getlocale() можно получить эту культуру:

import locale

locale.setlocale(locale.LC_ALL, "")

number = 12345.6789
formatted = locale.format("%.02f", number)
print(formatted)    # 12345,68
print(locale.getlocale())   # ('Russian_Russia', '1251')

НазадВперед

Функция как объект. Методы call и apply

Последнее обновление: 1.11.2015

В JavaScript функция тоже является объектом — объектом Function и тоже имеет прототип, свойства, методы. Все функции, которые используются в программе, являются объектами Function и имеют все его свойства и методы.

Например, мы можем создать функцию с помощью конструктора Function:

var square = new Function('n', 'return n * n;');
console.log(square(5));

В конструктор Function может передаваться ряд параметров. Последний параметр представляет собой само тело функции в виде строки. Фактически строка содержит код javascript. Предыдущие аргументы содержат названия параметров. В данном случае определяется функция возведения числа в квадрат, которая имеет один параметр n.


Среди свойств объекта Function можно выделить следующие:

  • arguments: массив аргументов, передаваемых в функцию

  • length: определяет количество аргументов, которые ожидает функция

  • caller: определяет функцию, вызвавшую текущую выполняющуюся функцию

  • name: имя функции

  • prototype: прототип функции

С помощью прототипа мы можем определить дополнительные свойства:

function display(){
	
	console.log("привет мир");
}
Function.prototype.program ="Hello";

console.log(display.program); // Hello

Среди методов надо отметить методы call() и apply().

Метод call() вызывает функцию с указанным значением this и аргументами:

function add(x, y){
	
	return x + y;
}
var result = add.call(this, 3, 8);

console.log(result); // 11

указывает на объект, для которого вызывается функция — в данном случае это глобальный объект window. После this передаются значения для параметров.

При передаче объекта через первый параметр, мы можем ссылаться на него через ключевое слово :

function User (name, age) {
	this.name = name;
	this.age = age;
}
var tom = new User("Том", 26);
function display(){
	console.log("Ваше имя: " + this.name);
}
display.call(tom); // Ваше имя: Том

В данном случае передается только одно значение, поскольку функция display не принимает параметров. То есть функция будет вызываться для объекта tom.

Если нам не важен объект, для которого вызывается функция, то можно передать значение null:

function add(x, y){
	
	return x + y;
}
var result = add.call(null, 3, 8);

console.log(result); // 11

На метод похож метод apply(), который также вызывает функцию и в качестве первого параметра также получает объект, для которого функция вызывается. Только теперь в качестве второго параметра передается массив аргументов:

function add(x, y){
	
	return x + y;
}
var result = add.apply(null, );

console.log(result); // 11

НазадВперед

Настройка X.org

Установите пакеты и для получения шрифтов DejaVu и Liberation соответственно.

Настройки клавиатуры

Клавиатура настраивается при помощи systemd, а точнее, . При настройке Xorg утилита считывает и изменяет файл :

$ cat /etc/X11/xorg.conf.d/00-keyboard.conf 
# Read and parsed by systemd-localed. It's probably wise not to edit this file
# manually too freely.
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
	Option "XkbLayout" "us,ru"
	Option "XkbModel" "pc105"
	Option "XkbVariant" "os_winkeys"
	Option "XKbOptions" "grp:menu_toggle,grp_led:scroll,ctrl:swapcaps,compose:ralt"
EndSection

Это значит, что нужен root, а Xorg придется перезапускать.

Посмотреть возможные значения:

 $ localectl list-x11-keymap-models
 $ localectl list-x11-keymap-layouts
 $ localectl list-x11-keymap-variants ru
 $ localectl list-x11-keymap-options

Переключение раскладок средствами X.org

См. статью Конфигурация клавиатуры в Xorg.

См. раздел .

Ubuntu 12.04 — удаление локалей и локализаций

Удаление лишних локалей в Ubuntu. Делал такие телодвижения:):

  • В файле locale-gen посмотрел пути в которых хранятся файлы локалей.
    nano /usr/sbin/locale-gen
    ...
    SUPPORTED=/var/lib/locales/supported.d
    LOCALES=/usr/share/i18n/locales
    STATEDIR=/var/lib/belocs
    ...
  • В директории supported.d отредактировал файлы, оставил только нужные локали
    # ls -l /var/lib/locales/supported.d
    итого 12
    -rw-r--r-- 1 root root 18 Май 30 22:09 en
    -rw-r--r-- 1 root root 36 Май  1 21:53 local
    -rw-r--r-- 1 root root 36 Апр 18 11:31 ru
  • Поставил и настроил утилиту localepurge, она служит для удаления файлов локализаций, а не локалей
    # aptitude install localepurge
    # nano /etc/locale.nopurge
    MANDELETE
    DONTBOTHERNEWLOCALE
    SHOWFREEDSPACE
    #QUICKNDIRTYCALC
    VERBOSE
    
    en_US.UTF-8
    ru_RU.UTF-8
    ru_UA.UTF-8
  • Запустил localepurge -v. Файлов много удалило, но вывод locale -a не изменился.
  • Перегенируем локали с ключом purge
    ~# locale-gen --purge
    Generating locales...
      en_US.UTF-8... done
      ru_RU.UTF-8... done
      ru_UA.UTF-8... done
    Generation complete.
  • Проверяем. Теперь все правильно остались только нужные мне локали
    ~# locale -a
    C
    C.UTF-8
    en_US.utf8
    POSIX
    ru_RU.utf8
    ru_UA.utf8

Генерирование локалей

Перед тем, как локаль сможет быть использована в системе, она должна быть сгенерирована. Чтобы вывести список всех доступных и сгенерированных локалей, выполните:

$ locale -a

Локали, которые вы можете сгенерировать перечислены в файле : их имена заданы в формате . Чтобы сгенерировать локаль, первым делом раскомментируйте соответствующую строку в файле (а для удаления наоборот, закомментируйте); вы можете раскомментировать несколько локалей, в зависимости от ваших потребностей. Например, для русской локали раскомментируйте . После сохранения файла сгенерируйте выбранные локали командой:

# locale-gen

Примечание: также запускается каждый раз при обновлении .

Решение проблем

Эмулятор терминала не поддерживает UTF-8

Небольшой список терминалов с поддержкой UTF-8:

  • gnustep-terminal
  • konsole
  • mlterm
  • rxvt-unicode (Русский)
  • st
  • xterm — необходимо запускать с опцией . Также вы можете запускать uxterm, который предоставляется пакетом .

gnome-terminal или rxvt-unicode не поддерживают UTF-8

Чтобы заработала поддержка UTF-8 в этих приложениях, необходимо запускать их с локалью, в которой установлена кодировка UTF-8, например . Включите эту локаль в системе, установите ее как системную локаль по умолчанию в соответствиями с инструкциями в предыдущих разделах и перезагрузите компьютер.

Возможно, некоторые переменные окружения из были переопределены каким-то другим файлом, например , который используется в GNOME. Подробнее смотрите на странице .

Мой репозиторий

Мой репозиторий содержит мои программы (и несколько чужих, собранных и упакованных мной). РПМ-пакеты построены для нескольких версий Федоры (а так же Красной Шапки/ЦентОСи, Открытой Суси и Магеи).

Репозиторий сделан для удовлетворения моих собственных потребностей; так как я работаю в Федоре, то пакеты для Федоры должны быть работающими. Пакеты для остальных дистрибутивов строятся, но не тестируются — у меня нет возможности проверять их работу на десятке платформ. Если что-то идёт не так — .

Для подключения репозитория в дистрибутиве с Днф (т. е. начиная с Федоры 22) исполните две команды:

В более древних дистрибутивах (Федора 21, Красная Шапка 7) вместо Днф надо использовать Юм:

Перевод «Locale» на русский язык: «местное»

Locale:   местный местные наши
Del locale?   Менеджер этого клуба. источник пожаловаться     Corpus name: OpenSubtitles2016. License: not specified. References: http://opus.lingfil.uu.se/OpenSubtitles2016.php, http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf
Dell’edizione locale.   Из Джорджии. источник пожаловаться     Corpus name: OpenSubtitles2016. License: not specified. References: http://opus.lingfil.uu.se/OpenSubtitles2016.php, http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf
Locale?   Местные? источник пожаловаться     Corpus name: OpenSubtitles2016. License: not specified. References: http://opus.lingfil.uu.se/OpenSubtitles2016.php, http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf
Cronaca locale.   В местную газету. источник пожаловаться     Corpus name: OpenSubtitles2016. License: not specified. References: http://opus.lingfil.uu.se/OpenSubtitles2016.php, http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf
Locale?   Он местный? источник пожаловаться     Corpus name: OpenSubtitles2016. License: not specified. References: http://opus.lingfil.uu.se/OpenSubtitles2016.php, http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf
Al locale.   В клубе. источник пожаловаться     Corpus name: OpenSubtitles2016. License: not specified. References: http://opus.lingfil.uu.se/OpenSubtitles2016.php, http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf

Mangiate locale

 

Ешьте местное

источник пожаловаться     Corpus name: tatoeba. License: Creative Commons CC-BY-2.0. References: http://tatoeba.org

Spacciatore locale.   Местный барыга. источник пожаловаться     Corpus name: OpenSubtitles2016. License: not specified. References: http://opus.lingfil.uu.se/OpenSubtitles2016.php, http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf
Locale.   источник пожаловаться     Corpus name: OpenSubtitles2016. License: not specified. References: http://opus.lingfil.uu.se/OpenSubtitles2016.php, http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf
Cronaca locale.   Отдел горновостей. источник пожаловаться     Corpus name: OpenSubtitles2016. License: not specified. References: http://opus.lingfil.uu.se/OpenSubtitles2016.php, http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf
E’ locale.   Это местный. источник пожаловаться     Corpus name: OpenSubtitles2016. License: not specified. References: http://opus.lingfil.uu.se/OpenSubtitles2016.php, http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf
Nel locale?   В клубе? источник пожаловаться     Corpus name: OpenSubtitles2016. License: not specified. References: http://opus.lingfil.uu.se/OpenSubtitles2016.php, http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf

Mangi locale

 

Ешьте местное

источник пожаловаться     Corpus name: tatoeba. License: Creative Commons CC-BY-2.0. References: http://tatoeba.org

E’ locale.   оно местное. источник пожаловаться     Corpus name: OpenSubtitles2016. License: not specified. References: http://opus.lingfil.uu.se/OpenSubtitles2016.php, http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf
Imprenditore locale.   Местный владелец бизнеса. источник пожаловаться     Corpus name: OpenSubtitles2016. License: not specified. References: http://opus.lingfil.uu.se/OpenSubtitles2016.php, http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf

LOCALE CALDAIA

 

источник пожаловаться     Corpus name: OpenSubtitles2016. License: not specified. References: http://opus.lingfil.uu.se/OpenSubtitles2016.php, http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf
Al locale.   в бар. источник пожаловаться     Corpus name: OpenSubtitles2016. License: not specified. References: http://opus.lingfil.uu.se/OpenSubtitles2016.php, http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf
Locale?   Местный? источник пожаловаться     Corpus name: OpenSubtitles2016. License: not specified. References: http://opus.lingfil.uu.se/OpenSubtitles2016.php, http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf
Notiziario locale.   Местные новости. источник пожаловаться     Corpus name: OpenSubtitles2016. License: not specified. References: http://opus.lingfil.uu.se/OpenSubtitles2016.php, http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf
Questo locale…   Это место, мне здесь нравится. источник пожаловаться     Corpus name: OpenSubtitles2016. License: not specified. References: http://opus.lingfil.uu.se/OpenSubtitles2016.php, http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf

С этим читают