コンテンツにスキップ

翻訳


駅名を翻訳する

ベルギー国鉄(オランダ語でNationale Maatschappij der Belgische Spoorwegen、フランス語でSociété nationale des chemins de fer belges、現地ではNMBS/SNCBとして知られています)は、乗り換えサービスを多言語で行っているプロバイダがあります。同社は駅名を多言語で提供しており、ユーザーの言語や位置情報の設定に応じて表示されます。

NMBS/SNCBは、以下のファイルのようにフランス語でGTFSデータを公開しています。

agency.txt

agency_id,agency_name,agency_url,agency_timezone,agency_lang
NMBS/SNCB,NMBS/SNCB,http://www.belgiantrain.be/,Europe/Brussels,fr

代理店言語がフランス語に設定されているので、stops.txtには駅名がフランス語でリストアップされています。

stops.txt

stop_id,stop_code,stop_name,stop_desc,stop_lat,stop_lon,zone_id,stop_url,location_type,parent_station,platform_code
S8815040,,Bruxelles-Ouest,,50.8485600,4.32104000,,,1,,
S8821006,,Anvers-Central,,51.2172000,4.42109800,,,1,,

そして、translations.txtファイルは、駅名をデフォルトのエージェンシー言語(この場合はフランス語)からオランダ語に翻訳するために使用されます。

translations.txt

table_name,field_name,record_id,language,translation
stops,stop_name,S8815040,nl,Brussel-West
  • この例では、stops.txtの駅名が翻訳され、stops.txtのレコードがstop_id で識別されます。そのため
  • stopsはテーブル名の下に記載されています(stops.txtを参照)。
  • stop_name field_nameはの下に記載される(駅名が翻訳されるため)。
  • フランス語から翻訳される駅名のstop_id record_idはの下に記載されている(この場合、Bruxelles-Ouestのstop_id)。
  • 名称はオランダ語(nl)に翻訳されています。
  • 最後に翻訳された名称を翻訳に記載

GTFSで名前を翻訳するには、translations.txtというファイルを使う方法もあり、ここではrecord_idの代わりにfield_valueというフィールドが使われる。この場合、stops.txtから翻訳するレコードを探すのに駅名が使われる。

translations.txt

table_name,field_name,field_value,language,translation`
stops,stop_name,Bruxelles-Ouest,nl,Brussel-West

ソース例