Add react-i18next for multi-language support (#917)

This is a rough start on adding react-i18next. I'll be working on adding
more translatable strings and translations in the coming days. I'm going
to need to wrap class components in HOCs, so let me know if there's
something I should be fixing before doing that. I'm thinking now to keep
the exported class names exactly the same, and rename the existing
classes by prefixing an `I` (for internal). For example:

```
export default class AppToolbar ...
```

becomes

```
class IAppToolbar ...
const AppToolbar = withTranslation()(IAppToolbar);
export default AppToolbar;
```

I'll be able to contribute Japanese strings (I've talked to a couple
people on my team and they'll be happy to help as well), so that's the
language I decided to go with in this PR.

Closes #746

---------

Co-authored-by: Ko Nagase <nagase@georepublic.co.jp>
Co-authored-by: Harel M <harel.mazor@gmail.com>
This commit is contained in:
Keitaroh Kobayashi
2024-08-19 18:43:04 +09:00
committed by GitHub
parent 35840409b8
commit 58edd262b0
55 changed files with 2333 additions and 501 deletions
+184
View File
@@ -0,0 +1,184 @@
{
"Input value": "ערך קבלה",
"Data value": "ערך מידע",
"Output value": "ערך החזרה",
"Function": "פונקציה",
"Select a type of data scale (default is 'categorical').": "בחרו סוג מידע לטובת הגדלה (ברירת המחדל היא קטגוריה)",
"Base": "בסיס",
"Input a data property to base styles off of.": "הכניסו מידע עליו יש לבסס את הסטייל",
"Default": "ברירת המחדל",
"Stops": "עצירות",
"Zoom": "זום",
"Add stop": "הוספת עצירה",
"Convert to expression": "המחרה לביטוי",
"Remove zoom level from stop": "הסרת רמת זום מעצירה",
"Revert from expression": "החזרה מביטוי",
"Delete expression": "מחיקת ביטוי",
"Convert property into a zoom function": "המרה לפונקציית זום",
"Convert property to data function": "המרה לפונקציית מידע",
"Layer <1>{formatLayerId(layerId)}</1>: {parsed.data.message}": "שכבה <1>{formatLayerId(layerId)}</1>: {parsed.data.message}",
"switch to layer": "שינוי לשכבה",
"Map": "מפה",
"Inspect": "בדיקה",
"Deuteranopia filter": "Deuteranopia filter",
"Protanopia filter": "Protanopia filter",
"Tritanopia filter": "Tritanopia filter",
"Achromatopsia filter": "Achromatopsia filter",
"Layers list": "רשימת שכבות",
"Layer editor": "עורך השכבות",
"Map view": "תצוגת מפה",
"Maputnik on GitHub": "מפוטניק בגיטהב",
"Open": "פתיחה",
"Export": "ייצוא",
"Data Sources": "מקורות מידע",
"Style Settings": "הגדרות הסטייל",
"View": "תצוגה",
"Color accessibility": "נגישות צבעים",
"Language": "שפה",
"Help": "עזרה",
"Comments for the current layer. This is non-standard and not in the spec.": "הערות על השכבה הנוכחית. זה לא חלק מהספסיפיקציות",
"Comments": "הערות",
"Comment...": "הערה...",
"Max Zoom": "זום מקסימאלי",
"Min Zoom": "זום מינימאלי",
"Source": "מקור",
"Source Layer": "שכבת מקור",
"Type": "סוג",
"Nested filters are not supported.": "סינונים מקוננים אינם נתמכים",
"Upgrade to expression": "שדרוג לביטוי",
"Filter": "סינון",
"every filter matches": "כל הסינונים מתאימים",
"no filter matches": "אף סינון אינו מתאים",
"any filter matches": "אחד הסינוים מתאימים",
"Add filter": "הוספת סינון",
"You've entered an old style filter.": "הכנסתם סינון מסוג ישן,",
"Switch to filter editor.": "עברו לעורך הסינונים",
"Delete filter block": "מחיקת גוש מסנן",
"Add value": "הוספת ערך",
"Remove array item": "הסרת איבר מערך",
"Press <1>ESC</1> to lose focus": "לחצו על <1>ESC</1> על מנת לאבד פוקוס",
"Must provide protocol: <1>https://</1>": "נדרש פרוטוקול: <1>https://</1>",
"Must provide protocol: <1>http://</1> or <3>https://</3>": "נדרשים פרוטוקולים: <1>http://</1> או <3>https://</3>",
"CORS policy won't allow fetching resources served over http from https, use a <1>https://</1> domain": "CORS policy won't allow fetching resources served over http from https, use a <1>https://</1> domain",
"Layer": "שכבה",
"JSON Editor": "עורך JSON",
"Delete": "מחיקה",
"Duplicate": "שכפול",
"Show": "הצגה",
"Hide": "הסתרה",
"Move layer up": "העלה שכבה",
"Move layer down": "הורד שכבה",
"Layer: {{layerId}}": "שכבה: {{layerId}}",
"Layers": "שכבות",
"Collapse": "הקטנה",
"Expand": "הגדלה",
"Add Layer": "הוספת שכבה",
"Zoom:": "זום:",
"Search": "חיפוש",
"Close popup": "סגירת החלון",
"cursor:": "סמן",
"center:": "מרכז:",
"rotation:": "סיבוב:",
"Close modal": "סגירת חלונית",
"Debug": "דיבאג",
"Options": "אפשרויות",
"<0>Open in OSM</0> &mdash; Opens the current view on openstreetmap.org": "<0>פתיחה ב-OSM</0> - פתיחה של התצוגה הנוכחית ב- openstreetmap.org",
"Export Style": "ייצוא של הסטייל",
"Download Style": "הורדה של הסטייל",
"Download a JSON style to your computer.": "הורדה של הסטייל למחשב",
"Download HTML": "הורדה כ-HTML",
"Cancel": "ביטול",
"Open Style": "פתיחת סטייל",
"Upload Style": "העלאה של סטייל",
"Upload a JSON style from your computer.": "העלאה של סטייל מהמחשב",
"Style file": "קובץ סטייל",
"Upload": "העלאה",
"Load from URL": "פתיחה מתוך כתובת",
"Load from a URL. Note that the URL must have <1>CORS enabled</1>.": "פתיחה מכתובת, שימו לב: הכתובת צריכה לתמוך ב- CORS",
"Style URL": "כתוסת סטייל",
"Enter URL...": "הכנסו כתובת",
"Gallery Styles": "גלריית סטיילים",
"Open one of the publicly available styles to start from.": "פתיחת אחד הסטייליםפ הציבוריים על מנת להתחיל מהם.",
"Loading style": "טוען סטייל",
"Loading: {{requestUrl}}": "טוען: {{requestUrl}}",
"Name": "שם",
"Owner": "שייך ל",
"Owner ID of the style. Used by Mapbox or future style APIs.": "מזהה השייכות של הסטייל.",
"Sprite URL": "כתובת ספרייט",
"Glyphs URL": "כתובת סמלילים",
"Center": "מרכז",
"Bearing": "כיוון",
"Pitch": "זווית",
"Light anchor": "עוגן אור",
"Light color": "צבע האור",
"Light intensity": "חוזק האור",
"Light position": "מיקום האור",
"Terrain source": "מקור terrain",
"Terrain exaggeration": "כמה \"להגזים\"",
"Transition delay": "זמן לפני מעבר",
"Transition duration": "זמן מעבר",
"Open Layers (experimental)": "Open Layers (experimental)",
"Shortcuts menu": "תפריט קיצורי דרך",
"Open modal": "פתיחת חלונית",
"Export modal": "חלונית ייצוא",
"Data Sources modal": "חלונית מקורות",
"Style Settings modal": "חלונית הגדרות סטייל",
"Toggle inspect": "שינוי בדיקה",
"Focus map": "פיקוס המפה",
"Debug modal": "חלונית דיבאג",
"Increase the zoom level by 1.": "העלאה של הזום ב-1",
"Increase the zoom level by 2.": "העלאה של הזום ב-2",
"Decrease the zoom level by 1.": "הורדה של הזום ב-1",
"Decrease the zoom level by 2.": "הורדה של הזום ב-2",
"Pan up by 100 pixels.": "תזוזה למעלה ב-100 פיקסלים",
"Pan down by 100 pixels.": "תזוזה למטה ב-100 פיקסלים",
"Pan left by 100 pixels.": "תזוזה שמאלה ב-100 פיקסלים",
"Pan right by 100 pixels.": "תזוזה ימינה ב-100 פיקסלים",
"Increase the rotation by 15 degrees.": "הוספת 15 מעלות לסיבוב",
"Decrease the rotation by 15 degrees.": "הורדת 15 מעלות לסיבוב",
"Increase the pitch by 10 degrees.": "הוספה של 10 מעלות לזיווית",
"Decrease the pitch by 10 degrees.": "הורדה של 10 מעלות מהזווית",
"Shortcuts": "קיצורי דרך",
"Press <1>ESC</1> to lose focus of any active elements, then press one of:": "לחיצה על <1>ESC</1> על מנת לאבד פוקוס מכל פקד פעיל, ואז ליחצו על אחד מאלו:",
"If the Map is in focused you can use the following shortcuts": "אם המפה נמצאת בפוקוס תוכלו להשתמש בקיצורי הדרך",
"Remove '{{sourceId}}' source": "הורדה של מקור '{{sourceId}}'",
"Source ID": "מזהה מקור",
"Unique ID that identifies the source and is used in the layer to reference the source.": "מזהה מקור ייחודי לטובת שימוש בשכבה",
"Source Type": "סוג מקור",
"GeoJSON (JSON)": "GeoJSON (JSON)",
"GeoJSON (URL)": "GeoJSON (URL)",
"Vector (TileJSON URL)": "Vector (TileJSON URL)",
"Vector (XYZ URLs)": "Vector (XYZ URLs)",
"Raster (TileJSON URL)": "Raster (TileJSON URL)",
"Raster (XYZ URL)": "Raster (XYZ URL)",
"Raster DEM (TileJSON URL)": "Raster DEM (TileJSON URL)",
"Raster DEM (XYZ URLs)": "Raster DEM (XYZ URLs)",
"Image": "תמונה",
"Video": "וידאו",
"Add Source": "הוספת מקור",
"Sources": "מקורות",
"Active Sources": "מקורות פעילים",
"Choose Public Source": "בחירת מקור ציבורי",
"Add one of the publicly available sources to your style.": "הוספת אחד המקורות הציבוריים הזמינים לסטייל שלך.",
"Add New Source": "הוספת מקור חדש",
"Add a new source to your style. You can only choose the source type and id at creation time!": "הוספת מקור לסטייל, ביכולתכם לעשות זאת רק בזמן מסויים",
"TileJSON URL": "כתובת TileJSON",
"Tile URL": "כתובת אריחים",
"Coord top left": "מיקום שמאלי עליון",
"Coord top right": "מיקום ימני עליון",
"Coord bottom right": "מיקום ימני תחתון",
"Coord bottom left": "מיקום שמאלי תחתון",
"Image URL": "כתובת תמונה",
"Video URL": "כתובת וידאו",
"GeoJSON URL": "כתובת GeoJSON",
"GeoJSON": "GeoJSON",
"Cluster": "קיבוץ",
"Encoding": "קידוד",
"Error:": "שגיאה",
"MapTiler Access Token": "MapTiler Access Token",
"Public access token for MapTiler Cloud.": "Public access token for MapTiler Cloud.",
"Thunderforest Access Token": "Thunderforest Access Token",
"Public access token for Thunderforest services.": "Public access token for Thunderforest services.",
"Style Renderer": "צייר הסטייל",
"Choose the default Maputnik renderer for this style.": "בחירת צייר ברירת המחדל של מפוטניק עבור הסטייל הזה"
}
+192
View File
@@ -0,0 +1,192 @@
{
"Input value": "入力値",
"Data value": "データ値",
"Output value": "値",
"Function": "関数",
"Select a type of data scale (default is 'categorical').": "データスケールの種類を選択してください(デフォルトは「categorical」です)。",
"Base": "ベース",
"Input a data property to base styles off of.": "スタイルのベースとなるデータプロパティを入力してください。",
"Default": "デフォルト",
"Stops": "ストップ",
"Zoom": "ズーム",
"Add stop": "ストップを追加",
"Convert to expression": "フィルタ式に変換",
"Remove zoom level from stop": "ズームレベルをストップから削除",
"Revert from expression": "式から戻す",
"Delete expression": "式を削除",
"Convert property into a zoom function": "プロパティをズーム関数に変換する",
"Convert property to data function": "プロパティをデータ関数に変換する",
"Layer <1>{formatLayerId(layerId)}</1>: {parsed.data.message}": "レイヤ<1>{formatLayerId(layerId)}</1>: {parsed.data.message}",
"switch to layer": "レイヤへ切替",
"Map": "地図",
"Inspect": "検査",
"Deuteranopia filter": "緑色盲フィルタ",
"Protanopia filter": "赤色盲フィルタ",
"Tritanopia filter": "青色盲フィルタ",
"Achromatopsia filter": "全色盲フィルタ",
"Layers list": "レイヤー一覧",
"Layer editor": "レイヤーエディタ",
"Map view": "地図画面",
"Maputnik on GitHub": "GitHubのMaputnik",
"Open": "開く",
"Export": "エクスポート",
"Data Sources": "データソース",
"Style Settings": "スタイル設定",
"View": "表示",
"Color accessibility": "色のアクセシビリティ",
"Language": "言語",
"Help": "ヘルプ",
"Comments for the current layer. This is non-standard and not in the spec.": "現在のレイヤーのコメント。注意:この機能は標準ではないため、他のライブラリとの互換性状況はわかりません。",
"Comments": "コメント",
"Comment...": "コメントを書く",
"Max Zoom": "最大ズーム",
"Min Zoom": "最小ズーム",
"Source": "ソース",
"Source Layer": "ソースレイヤ",
"Type": "タイプ",
"Nested filters are not supported.": "ネストされたフィルタはサポートされていません。",
"Upgrade to expression": "式にアップグレード",
"Filter": "フィルタ",
"every filter matches": "全てのフィルタが一致",
"no filter matches": "フィルタが一致しない",
"any filter matches": "いずれかのフィルタが一致",
"Add filter": "フィルタを追加",
"You've entered an old style filter.": "旧型フィルタを使用しております。",
"Switch to filter editor.": "新型に変換",
"Delete filter block": "フィルタブロックを削除",
"Add value": "値を追加する",
"Remove array item": "配列の項目を削除",
"Press <1>ESC</1> to lose focus": "<1>ESC</1>を押すとフォーカスが外れます",
"Must provide protocol: <1>https://</1>": "プロトコルを指定してください: <1>https://</1>",
"Must provide protocol: <1>http://</1> or <3>https://</3>": "プロトコルを指定してください: <1>http://</1> または <3>https://</3>",
"CORS policy won't allow fetching resources served over http from https, use a <1>https://</1> domain": "CORS使用時は、http経由で提供されるリソースをhttpsから取得することはできません。<1>https://</1> ドメインを使用してください。",
"Layer": "レイヤー",
"JSON Editor": "JSONエディタ",
"Delete": "削除",
"Duplicate": "複製",
"Show": "表示",
"Hide": "非表示",
"Move layer up": "上に移動",
"Move layer down": "下に移動",
"Layer: {{layerId}}": "レイヤー {{layerId}}",
"Layers": "レイヤー",
"Collapse": "畳む",
"Expand": "展開",
"Add Layer": "レイヤー追加",
"Zoom:": "ズーム:",
"Search": "検索",
"Close popup": "ポップアップを閉じる",
"cursor:": "カーソル",
"center:": "中央:",
"rotation:": "回転角度:",
"Close modal": "モーダルを閉じる",
"Debug": "デバッグ",
"Options": "設定",
"<0>Open in OSM</0> &mdash; Opens the current view on openstreetmap.org": "現在のビューを <0>openstreetmap.org で開く</0>",
"Export Style": "スタイルをエクスポート",
"Download Style": "スタイルをダウンロード",
"Download a JSON style to your computer.": "パソコンにJSONスタイルをダウンロードします。",
"Download HTML": "HTMLをダウンロード",
"Cancel": "キャンセル",
"Open Style": "スタイルを開く",
"Upload Style": "スタイルをアップロードする",
"Upload a JSON style from your computer.": "JSONスタイルをパソコンからアップロードする",
"Style file": "スタイルファイル",
"Upload": "アップロード",
"Load from URL": "URLから読み込む",
"Load from a URL. Note that the URL must have <1>CORS enabled</1>.": "URLから読み込む。注意: URLは <1>CORSを有効にする</1> 必要があります。",
"Style URL": "スタイルURL",
"Enter URL...": "URLを入力",
"Gallery Styles": "ギャラリースタイル",
"Open one of the publicly available styles to start from.": "公開スタイルを選んで開始しましょう。",
"Loading style": "スタイル読込中",
"Loading: {{requestUrl}}": "{{requestUrl}} を読み込み中",
"Name": "名前",
"Owner": "所有者",
"Owner ID of the style. Used by Mapbox or future style APIs.": "スタイルの所有者 ID。Mapbox または将来のスタイル API によって使用されます。",
"Sprite URL": "スプライトURL",
"Glyphs URL": "フォントグリフURL",
"Center": "中央",
"Bearing": "方位",
"Pitch": "ピッチ",
"Light anchor": "ライトアンカー",
"Light color": "ライトカラー",
"Light intensity": "ライト強度",
"Light position": "ライト位置",
"Terrain source": "地形ソース",
"Terrain exaggeration": "地形の誇張",
"Transition delay": "遷移遅延",
"Transition duration": "遷移期間",
"Open Layers (experimental)": "Open Layers (実験的)",
"Shortcuts menu": "ショートカットメニュー",
"Open modal": "モーダルを開く",
"Export modal": "書き出しのモーダル",
"Data Sources modal": "データソースのモーダル",
"Style Settings modal": "スタイル設定のモーダル",
"Toggle inspect": "検査の切り替え",
"Focus map": "地図にフォーカス",
"Debug modal": "デバッグモーダル",
"Increase the zoom level by 1.": "ズームレベルを1増やす",
"Increase the zoom level by 2.": "ズームレベルを2増やす",
"Decrease the zoom level by 1.": "ズームレベルを1減らす",
"Decrease the zoom level by 2.": "ズームレベルを2減らす",
"Pan up by 100 pixels.": "100ピクセル上に移動",
"Pan down by 100 pixels.": "100ピクセル下に移動",
"Pan left by 100 pixels.": "100ピクセル左に移動",
"Pan right by 100 pixels.": "100ピクセル右に移動",
"Increase the rotation by 15 degrees.": "回転角度を15度増やす",
"Decrease the rotation by 15 degrees.": "回転角度を15度減らす",
"Increase the pitch by 10 degrees.": "ピッチを10度増やす",
"Decrease the pitch by 10 degrees.": "ピッチを10度減らす",
"Shortcuts": "ショートカット",
"Press <1>ESC</1> to lose focus of any active elements, then press one of:": "<1>ESC</1> を押してアクティブな要素からフォーカスを外し、次に以下のいずれかを押してください:",
"If the Map is in focused you can use the following shortcuts": "地図がフォーカスされている場合、以下のショートカットを使用できます",
"Remove '{{sourceId}}' source": "'{{sourceId}}' ソースを削除",
"Source ID": "ソースID",
"Unique ID that identifies the source and is used in the layer to reference the source.": "ソースを識別するためのユニークID。レイヤーでソースを参照するために使用されます。",
"Source Type": "ソースタイプ",
"GeoJSON (JSON)": "GeoJSON (JSON)",
"GeoJSON (URL)": "GeoJSON (URL)",
"Vector (TileJSON URL)": "ベクトル (TileJSON URL)",
"Vector (XYZ URLs)": "ベクトル (XYZ URL)",
"Raster (TileJSON URL)": "ラスタ (TileJSON URL)",
"Raster (XYZ URL)": "ラスタ (XYZ URL)",
"Raster DEM (TileJSON URL)": "ラスタ DEM (TileJSON URL)",
"Raster DEM (XYZ URLs)": "ラスタ DEM (XYZ URL)",
"Image": "画像",
"Video": "動画",
"Add Source": "ソースを追加",
"Sources": "ソース一覧",
"Active Sources": "使用中ソース",
"Choose Public Source": "公開ソースから選択",
"Add one of the publicly available sources to your style.": "公開ソースをスタイルに追加しましょう",
"Add New Source": "新規ソースを追加",
"Add a new source to your style. You can only choose the source type and id at creation time!": "スタイルに新規ソースを追加します。注意: 作成時にソースタイプとIDのみを選択できます。",
"TileJSON URL": "TileJSON URL",
"Tile URL": "タイルURL",
"Coord top left": "左上座標",
"Coord top right": "右上座標",
"Coord bottom right": "右下座標",
"Coord bottom left": "左下座標",
"Image URL": "画像URL",
"Video URL": "動画URL",
"GeoJSON URL": "GeoJSON URL",
"GeoJSON": "GeoJSON",
"Cluster": "クラスタ",
"Encoding": "エンコーディング",
"Error:": "エラー:",
"MapTiler Access Token": "MapTiler アクセストークン",
"Public access token for MapTiler Cloud.": "MapTiler Cloud の公開用アクセストークン",
"Thunderforest Access Token": "Thunderforest アクセストークン",
"Public access token for Thunderforest services.": "Thunderforest サービスの公開用アクセストークン",
"Style Renderer": "スタイルレンダラ",
"Choose the default Maputnik renderer for this style.": "このスタイルのデフォルトの Maputnik レンダラを選択してください",
"Layer options": "レイヤー設定",
"Paint properties": "ペイントプロパティ",
"Layout properties": "レイアウトプロパティ",
"General layout properties": "一般レイアウトプロパティ",
"Text layout properties": "文字レイアウトプロパティ",
"Icon layout properties": "アイコンレイアウトプロパティ",
"Text paint properties": "文字ペイントプロパティ",
"Icon paint properties": "アイコンペイントプロパティ"
}