Cum adaug un șir nou într-un fișier .po sau .pot?
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.)

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

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...

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.

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

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?
