映画のギリシャ語のサブタイトルをダウンロードしましたが、これはGeditで開いたときに表示されるものです。
字幕はVLCで最適に機能し、すべて完璧です。しかし、この字幕をギリシャ語の単語で編集したい場合はどうすればいいですか?文字エンコードに関するエラーがすぐに表示されます。
再試行すると、VLCが字幕を認識しません...
字幕の編集/翻訳(テキストベースの字幕、つまり)については、 Gaupol を強くお勧めします。
Sudo apt-get install gaupol
gaupol
のほかに、 字幕エディター および Gnome字幕 を試すこともできます。
ただし、スクリーンショットから、.srt
ファイルがUnicodeでnotエンコードされていることは明らかです。
判明したように、iconv
はファイルのエンコードをUTF-8に変更しますが、変換されたファイルにはGeditで開いたときと同じ文字が残っています。
私が見つけた解決策はこれです:
開いているウィンドウの下部にCharacter encodingというタイトルの選択メニューがあります。 その他...(最後のオプション)をクリックします。
ファイルに適したエンコードを選択します。 Greek ISO-8859-7、ボタンAcceptをクリックします。
.srt
ファイルを開き、すべての文字が正しくレンダリングされていることを確認してください。それ以外の場合は、上記の手順を別のエンコードで繰り返します。コマンドfile -bi yourfile.srt
を実行して、ファイルの正しいエンコードを決定できます(ただし、結果は必ずしも正確ではありませんが)。
コードページを追加するこの同じ手順 Geditで機能します 。しかし、この質問は字幕ファイルに関するものであるため、Gaupolに指示を残します。
幸運を。
iconv -f ISO-8859-7 -t UTF-8 Input_file.srt > Output_file.srt
Kateエディターからそれらを開くと、適切なテキストが表示されます。Geditから開く必要がある場合、言い換えると、上記のターミナルコマンドを実行してコードを永続的に変更する必要があります。
enca
をお勧めします。 gaupolとは異なり、字幕ファイルだけでなく、任意のテキストファイルを処理できます。
Encaをインストールします。
Sudo apt-get install enca
ファイルのエンコーディングを把握するには、encaが推測できるかどうかを確認します。
enca <file>
または、失敗し、テキストファイルの言語がわかっている場合は、たとえば
enca -L ru <file>
そしてそれがあなたに与えるものを見てください。 man enca
からサポートされている言語のリストを取得します。
UTF-8に変換することをお勧めします。実行すると実行できます
enconv -x utf8 <file>
または、enca
が言語を推測できない場合
enconv -L ru -x utf8 <file>
これでうまくいくはずです。
問題は、Gedit(および他の多くのLinuxアプリ)がテキストのエンコードを正しく認識しないことです。一方、VLCはおそらく([字幕設定]タブを使用して)正しく認識されるように設定されているため、そこで問題が発生することはありません。解決策は簡単です。
ファイルをダブルクリックして開くのではなく、Geditの[開く]ダイアログを使用して開く。そこでは、左下にdrop-down for Encoding
があります。デフォルトでは[自動検出]が選択されています。 「Windows-1253」または「ISO-8859-7」に設定すると、ファイルを正しく開くことができます(その後、将来の問題を回避するためにUTF-8に保存できます)
さまざまな形式への変換を可能にする(および多数の機能が付属する)別の字幕エディターは Aegisub です。ネイティブ形式(.ass)はVLC Media PlayerとMPlayerでサポートされており、それに変換するとエンコードの問題が修正されます。
SRTファイルの翻訳には、 DualSub も使用できます。これはオープンソース(GPLv3)であり、クロスプラットフォームです。 Google Translatorを使用します。
これは、字幕を含むすべてのテキストファイルをUTF-8エンコーディングのテキストファイルに変換するためのPython3関数です。
def correctSubtitleEncoding(filename, newFilename, encoding_from='ISO-8859-7', encoding_to='UTF-8'):
with open(filename, 'r', encoding=encoding_from) as fr:
with open(newFilename, 'w', encoding=encoding_to) as fw:
for line in fr:
fw.write(line[:-1]+'\r\n')
一般的な情報については、 subtitle-index.org があり、多数の字幕を集中し、複数の基準(期間、スペルチェック、リスビリティ、エンコード)に沿ってランク付けし、最高の字幕を提供します。 UTF-8として直接ダウンロード。
非常にうまく機能し、かなり一般的で迷惑なエンコードの問題を回避します。