how to generate po file from js file using poedit
Asked Answered
S

4

7

i am using Gettext.js library to localize my contents generated from a JS file. Now the situation is, i have to create and write each and every po files manually. I know we can scan php files for gettext strings using PoEdit. So, is it possible to scan JS files for gettext strings using PoEdit?

Sphingosine answered 15/5, 2013 at 5:11 Comment(0)
S
8

Achieved this by creating a new parser of python language in PoEdit.

File > Preferences > Parsers > New

Language:

JS

List of extension:

*.js

Parser command:

xgettext --language=Python --force-po -o %o %C %K %F

Item in Keyword List:

-k%k

Item in input files list:

%f

Source code charset:

--from-code=%c

i found this tutorial while searching on this, which helped me to attain the situation Tutorial Here>>

Actually the tutorial is in French and the link is a google translated(to English) one.

Sphingosine answered 31/5, 2013 at 4:55 Comment(1)
This worked for me when I changed --language=Python to --language=CBlakeney
T
5

Since version xgettext 0.18.3, you can use JavaScript as the language parameter.

This version of xgettext is used in Poedit since at least version 1.6.2.

Theiss answered 16/12, 2013 at 15:30 Comment(0)
E
2

xgettext now supports JavaScript natively, so the command is simply:

xgettext --output=output.pot --language=JavaScript *.js
Ecosystem answered 17/7, 2017 at 15:55 Comment(0)
B
1

The xgettext commandline program is used to scan source code and can parse the following languages:

C, C++, ObjectiveC, Shell, Python, Lisp, EmacsLisp, librep, Scheme, Java, C#, awk, Tcl, Perl, PHP, GCC-source, Glade

Although JavaScript is not listed as a language, I just tried it with a few and Perl actually worked. Try this:

echo " testFunc('foo');" > test.js;
xgettext --keyword=testFunc --output=- test.js --language="perl";

To do this from POEdit, open Preferences > Parsers > Perl add ;*.js to the file extensions list and add --language=Perl after xgettext in the Parser command field. This worked for me and I was able to get new strings from a JS file this way.

Although I don't know how gettext.js works a better approach may be to convert PO files to a native JavaScript file format.

Balustrade answered 15/5, 2013 at 13:26 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.