Культурный офтопик
 help / color / mirror / Atom feed
* [room] Gettext
@ 2006-01-15 12:00 Alexander
  2006-01-15 12:53 ` Терешков Евгений
  2006-01-15 12:58 ` php-coder
  0 siblings, 2 replies; 8+ messages in thread
From: Alexander @ 2006-01-15 12:00 UTC (permalink / raw)
  To: smoke-room

Может кто-нибудь поможет с использованием gettext для локализыции  
программы?

Не пойму что нужно где прописать (в исходном коде) чтобы все заработало.
Уже есть готовые *.mo файлы с переводом, осталось только прописать что-то в
главной функции, как написано в хелпе по gettext. Но не написано конкретно  
что.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [room] Gettext
  2006-01-15 12:00 [room] Gettext Alexander
@ 2006-01-15 12:53 ` Терешков Евгений
  2006-01-15 13:54   ` Andrey Rahmatullin
  2006-01-15 12:58 ` php-coder
  1 sibling, 1 reply; 8+ messages in thread
From: Терешков Евгений @ 2006-01-15 12:53 UTC (permalink / raw)
  To: культурный
	офтопик

Alexander <rope-walker@yandex.ru> writes:

> Может кто-нибудь поможет с использованием gettext для локализыции
> программы?
> Не пойму что нужно где прописать (в исходном коде) чтобы все заработало.
> Уже есть готовые *.mo файлы с переводом, осталось только прописать что-то в
> главной функции, как написано в хелпе по gettext. Но не написано
> конкретно  что.

Зависит от. Например от язвка программирования.Чаще всего используют
функцию "_". Типа вместо "hello" пишут _("hello"). Рецепт для вашего
случая:

$apt-get install gettext-tools
$cd /usr/share/doc/gettext-*/examples
$ls
$cd <ваш язык>
$ls

Я скорее помочь не смогу, т.к. только несколько раз питоновые проги с
помощью gettext локализовывал. Но примеры, как помнится, там вменяемые.



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [room] Gettext
  2006-01-15 12:00 [room] Gettext Alexander
  2006-01-15 12:53 ` Терешков Евгений
@ 2006-01-15 12:58 ` php-coder
  2006-01-15 13:48   ` Alexander
  1 sibling, 1 reply; 8+ messages in thread
From: php-coder @ 2006-01-15 12:58 UTC (permalink / raw)
  To: культурный
	офтопик


--- Alexander 2006-01-15 14:00:01 +0200
+++ php-coder 2006-01-15 18:53:26 +0600

A> Может кто-нибудь поможет с использованием gettext для локализыции  
A> программы?

    Может быть, может быть...

	Я уже достаточно долгое время занимаюсь подобной задачей. Тут
	подробности: http://freesource.info/wiki/TZ/fluxbox/GettextSupport

A> Не пойму что нужно где прописать (в исходном коде) чтобы все заработало.

    info gettext

A> Уже есть готовые *.mo файлы с переводом, осталось только прописать что-то в
A> главной функции, как написано в хелпе по gettext. Но не написано конкретно  
A> что.

    Вы всё не правильно делаете ;))) Всё должны быть наоборот. Во-первых,
	откуда у вас mo-файлы? Их создает msgfmt и они двоичные :) Вы,
	наверное, имеете ввиде po-файлы ? Во-вторых, вы вручную что ли писали
	эти po-файлы?

	Вообщем, посмотрите примеры:

	http://www.linuxshare.ru/docs/devel/tools/auto/node1.html
	http://www.linuxshare.ru/docs/devel/tools/auto/node24.html
	http://www.linuxshare.ru/docs/devel/tools/auto/node25.html


-- 
+ php-coder
+ php-coder[at]altlinux[dot]ru

Фанаты это всегда хреново. А фанаты линукса уж куда злобней фанатов
сана или микросовта. Но хуже всех вообще - это вообще фанаты Спартака;)
		-- anonymous (linux.org.ru)


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [room] Gettext
  2006-01-15 12:58 ` php-coder
@ 2006-01-15 13:48   ` Alexander
  2006-01-15 14:30     ` php-coder
  0 siblings, 1 reply; 8+ messages in thread
From: Alexander @ 2006-01-15 13:48 UTC (permalink / raw)
  To: культурный
	офтопик

On Sun, 15 Jan 2006 14:58:36 +0200, php-coder <php-coder@ngs.ru> wrote:

>
> --- Alexander 2006-01-15 14:00:01 +0200
> +++ php-coder 2006-01-15 18:53:26 +0600
>
> A> Может кто-нибудь поможет с использованием gettext для локализыции
> A> программы?
>
>     Может быть, может быть...
>
> 	Я уже достаточно долгое время занимаюсь подобной задачей. Тут
> 	подробности: http://freesource.info/wiki/TZ/fluxbox/GettextSupport
>
> A> Не пойму что нужно где прописать (в исходном коде) чтобы все  
> заработало.
>
>     info gettext
>
> A> Уже есть готовые *.mo файлы с переводом, осталось только прописать  
> что-то в
> A> главной функции, как написано в хелпе по gettext. Но не написано  
> конкретно
> A> что.
>
>     Вы всё не правильно делаете ;))) Всё должны быть наоборот. Во-первых,
> 	откуда у вас mo-файлы? Их создает msgfmt и они двоичные :) Вы,
> 	наверное, имеете ввиде po-файлы ? Во-вторых, вы вручную что ли писали
> 	эти po-файлы?

Я наверное не написал, что юзаю С++, *.mo и *.po сделал сам, как и было  
написано:
gettext(string) ну или _(string), т.е с этим нет проблем, просто не могу  
понять что еще нужно чстобы все заработало


> 	Вообщем, посмотрите примеры:
>
> 	http://www.linuxshare.ru/docs/devel/tools/auto/node1.html
> 	http://www.linuxshare.ru/docs/devel/tools/auto/node24.html
> 	http://www.linuxshare.ru/docs/devel/tools/auto/node25.html
>
>



-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [room] Gettext
  2006-01-15 12:53 ` Терешков Евгений
@ 2006-01-15 13:54   ` Andrey Rahmatullin
  2006-01-15 15:41     ` Терешков Евгений
  0 siblings, 1 reply; 8+ messages in thread
From: Andrey Rahmatullin @ 2006-01-15 13:54 UTC (permalink / raw)
  To: smoke-room

[-- Attachment #1: Type: text/plain, Size: 467 bytes --]

On Sun, Jan 15, 2006 at 07:53:07PM +0700, Терешков Евгений wrote:
> Зависит от. Например от язвка программирования.Чаще всего используют
> функцию "_".
Это не функция, это макрос-ссылка на gettext(), который еще и писать надо
вручную, вроде бы (т.е. ни в каких хидерах ее нет).

-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(8):

Любое использование tmpnam(3)&Co есть block bug, если только я не сказал
обратного.
		-- ldv in sisyphus@

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [room] Gettext
  2006-01-15 13:48   ` Alexander
@ 2006-01-15 14:30     ` php-coder
  2006-01-15 14:32       ` Alexander
  0 siblings, 1 reply; 8+ messages in thread
From: php-coder @ 2006-01-15 14:30 UTC (permalink / raw)
  To: культурный
	офтопик


--- Alexander 2006-01-15 15:48:55 +0200
+++ php-coder 2006-01-15 20:28:50 +0600

A> просто не могу понять что еще нужно чстобы все заработало

    Может вызовов setlocale(), textdomain() и bindtextdomain() ?

A> >	Вообщем, посмотрите примеры:
A> >	http://www.linuxshare.ru/docs/devel/tools/auto/node1.html
A> >	http://www.linuxshare.ru/docs/devel/tools/auto/node24.html
A> >	http://www.linuxshare.ru/docs/devel/tools/auto/node25.html

    Остается в силе...


-- 
+ php-coder
+ php-coder[at]altlinux[dot]ru

>Под какую музыку вы читаете мануалы.
под мэнсона мануал по сборке самогонного аппарата
		-- anonymous (linux.org.ru)


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [room] Gettext
  2006-01-15 14:30     ` php-coder
@ 2006-01-15 14:32       ` Alexander
  0 siblings, 0 replies; 8+ messages in thread
From: Alexander @ 2006-01-15 14:32 UTC (permalink / raw)
  To: культурный
	офтопик

On Sun, 15 Jan 2006 16:30:38 +0200, php-coder <php-coder@ngs.ru> wrote:

>
> --- Alexander 2006-01-15 15:48:55 +0200
> +++ php-coder 2006-01-15 20:28:50 +0600
>
> A> просто не могу понять что еще нужно чстобы все заработало
>
>     Может вызовов setlocale(), textdomain() и bindtextdomain() ?
>
> A> >	Вообщем, посмотрите примеры:
> A> >	http://www.linuxshare.ru/docs/devel/tools/auto/node1.html
> A> >	http://www.linuxshare.ru/docs/devel/tools/auto/node24.html
> A> >	http://www.linuxshare.ru/docs/devel/tools/auto/node25.html
>
>     Остается в силе...
>
>

Посмотрел примеры, все сделал так как написано, но я вспомнил,
что пишу программу в винде. Использую Dev-C++, он создает только
Makefile.win - из конфигур. или других файлов.

Все что нужно имеется, все *.dll, *.exe для работы с gettext.

код:
#include <libintl.h>
#define LOCALEDIR "c:\echo_kernel" <- папка, где находится программа
#define PACKAGE "messages"

int main(int argc, char * argv[])
{
	setlocale (LC_ALL, "");
   	bindtextdomain (PACKAGE, LOCALEDIR);
   	textdomain (PACKAGE);
...

Перевод содержится в LOCALEDIR\ru\LC_MESSAGES\*.mo


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [room] Gettext
  2006-01-15 13:54   ` Andrey Rahmatullin
@ 2006-01-15 15:41     ` Терешков Евгений
  0 siblings, 0 replies; 8+ messages in thread
From: Терешков Евгений @ 2006-01-15 15:41 UTC (permalink / raw)
  To: культурный
	офтопик

Andrey Rahmatullin <wrar@altlinux.ru> writes:

>> Зависит от. Например от язвка программирования.Чаще всего используют
>> функцию "_".
> Это не функция, это макрос-ссылка на gettext(), который еще и писать надо
> вручную, вроде бы (т.е. ни в каких хидерах ее нет).

Я ж в том посте и говорю: "в питоне", и там кстати это функция
(симлинк на gettext :-). Есть она в одноименном модуле. Используется в
новых питонах примерно так:

import gettext  # since python 2.0
gettext.install("mydomain")

И вообще зависит от языка. Я долго удивлялся, рассматривая файлы в
/u/s/d/gettext*/examples, как же это делать (и на каком это можно сделать).
Другое дело, что ни с чем кроме питона дела не имел, и уж тем более с такой
"экзотической" платформой, как у задавшего вопрос человека.



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2006-01-15 15:41 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-01-15 12:00 [room] Gettext Alexander
2006-01-15 12:53 ` Терешков Евгений
2006-01-15 13:54   ` Andrey Rahmatullin
2006-01-15 15:41     ` Терешков Евгений
2006-01-15 12:58 ` php-coder
2006-01-15 13:48   ` Alexander
2006-01-15 14:30     ` php-coder
2006-01-15 14:32       ` Alexander

Культурный офтопик

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/smoke-room/0 smoke-room/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 smoke-room smoke-room/ http://lore.altlinux.org/smoke-room \
		smoke-room@lists.altlinux.org smoke-room@lists.altlinux.ru smoke-room@lists.altlinux.com smoke-room@altlinux.ru smoke-room@altlinux.org smoke-room@altlinux.com
	public-inbox-index smoke-room

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.smoke-room


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git