Cum adaug un șir nou într-un fișier .po sau .pot?

2 nov. 2010, 14:51:39
Vizualizări: 15.2K
Voturi: 5

Am un fișier .pot care a venit cu tema mea WordPress. Acum vreau să adaug șiruri care nu au fost în tema originală. Cum fac asta? Trebuie să actualizez fișierul .pot? Dar 1) Cum fac asta și 2) Cum mă asigur că șirurile care au fost deja traduse nu se vor șterge? (În prezent folosesc Poedit și nu văd nicio opțiune pentru a adăuga un șir.)

2
Comentarii

Cred că această întrebare nu este suficient de specifică WordPress pentru a rămâne pe acest site, așa că poate ar fi bine să o repostezi pe Stack Overflow, sau poate pe Super User (deoarece menționezi și un program).

Jan Fabry Jan Fabry
2 nov. 2010 15:42:42

@Jan Am editat întrebarea astfel încât să fie mai orientată către WordPress și nu specifică unui anumit program

Lea Cohen Lea Cohen
3 nov. 2010 11:49:00
Toate răspunsurile la întrebare 4
1

Eu folosesc http://wordpress.org/extend/plugins/codestyling-localization/ Sugerez să-i dai o șansă :)

3 nov. 2010 00:19:14
Comentarii

Acest link al pluginului este mort. Are cineva alternative?

User User
21 iul. 2016 00:36:52
0

Iată un script shell pentru a genera fișiere .pot automat. Modificați drepturile de autor etc. conform nevoilor dumneavoastră:

#!/bin/sh
#
# Autor: Denis de Bernardy <http://www.mesoconcepts.com>
# Versiune: 0.1
# Licențiat sub GPL
#
# Creat de Ryan Boren
# Cod ulterior și patch-uri de la
# Kimmo Suominen (mai mult) și Nikolay Bachiyski (mai puțin)
# Denis de Bernardy

cwd=`pwd`

if [ -n "$1" ];
then
    cd "$1" || exit 1
    slug=`basename $1`
    dir=$cwd/$slug
else
    dir=$cwd
    slug=`basename $cwd`
fi

pot_file=$slug.pot

cp /dev/null "$dir/$pot_file"

find . -name '*.php' -print \
| sed -e 's,^\./,,' \
| sort \
| xargs xgettext \
    --keyword=__ \
    --keyword=_e \
    --keyword=_c \
    --keyword=__ngettext:1,2 \
    --keyword=_n:1,2 \
    --default-domain=$slug \
    --language=php \
    --output="$dir/$pot_file" \
    --join-existing \
    --from-code utf-8 \
    --copyright-holder='Mesoconcepts <http://www.mesoconcepts.com>' \
    --msgid-bugs-address=https://tickets.semiologic.com

# înlocuiește doar ANUL în mesajul de copyright (a doua linie)
sed -i '' -e '2s/YEAR/'`date +%Y`'/' "$pot_file"

# iar cireașa de pe tort - extrage versiunea folosind magie - versoextracanus!~

if [ -f $dir/style.css ];
then
    name=`fgrep -i 'Theme Name:' $dir/style.css`
    version=`fgrep -i 'Version:' $dir/style.css`
elif [ -f $dir/$slug.php ];
then
    #declarații
    name=`fgrep -i 'Plugin Name:' $dir/$slug.php`
    version=`fgrep -i 'Version:' $dir/$slug.php`
else
    name=$slug
    version=
fi

name=${name##*:}
name=${name##[[:space:]]}
version=${version##*:}
version=${version##[[:space:]]}
version=${version%%[[:space:]]*}

if [ "$name" != '' ];
then
    sed -i '' -e "1s/^# SOME DESCRIPTIVE TITLE/# Fișier pot $name/" "$pot_file"
    sed -i '' -e "s/\(^#.*\)PACKAGE\(.*\)/\1$name\2/g" "$pot_file"
fi

if [ "$version" != '' ];
then
    sed -i '' -e "s/\(Project-Id-Version: \)PACKAGE VERSION/\1$version/" "$pot_file"
fi

cd "$cwd"

Utilizare, presupunând un sistem *nix (Mac sau Linux):

  • plasați scriptul de mai sus în ~/bin/gen_pot.sh și faceți-l executabil
  • asigurați-vă că ~/bin este în $PATH-ul dumneavoastră
  • în wp-content/themes, rulați gen_pot.sh nume_tema
  • sau din directorul temei dumneavoastră, rulați gen_pot.sh
  • va genera fișierul .pot automat...
2 nov. 2010 15:44:31
0

Iată o idee bună. Cu iCanLocalize, poți crea automat un fișier .po.

Acest generator va scana fișier(e) PHP și va crea fișiere .po, care sunt folosite pentru localizare. Va extrage toate șirurile de caractere încadrate în apelurile __("txt", "domain") și _e("txt", "domain").

Șirurile pot fi încadrate fie în ghilimele duble (") fie în ghilimele simple (') și cu orice codificare de caractere.

4 feb. 2013 13:24:59
1

Dacă ai WP-CLI instalat (interfața de linie de comandă pentru WordPress), acest lucru poate fi realizat cu următoarea comandă:

wp i18n make-pot --merge source_dir target.pot

31 ian. 2021 08:35:57
Comentarii

Bine ați venit la WPSE și vă mulțumim pentru timpul acordat pentru a răspunde. Cu toate acestea, nu sunt sigur că acesta răspunde la întrebări. Ați putea, vă rog, să adăugați puțin mai mult context sau să explicați cum acest răspuns ar fi un răspuns adecvat?

Celso Bessa Celso Bessa
31 ian. 2021 16:52:57