Skip to content

Commit a0f63a4

Browse files
authored
chore: Translation Service (MAPCO-8896)(MAPCO-8895)(MAPCO-8894) (#40)
* translation service * translation service
1 parent b8ea0a6 commit a0f63a4

File tree

11 files changed

+193
-173
lines changed

11 files changed

+193
-173
lines changed

Assets/EditorTests/Localization/TranslationServiceEditorTests.cs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.IO;
33
using com.mapcolonies.core.Localization;
44
using com.mapcolonies.core.Localization.Constants;
5+
using com.mapcolonies.core.Localization.Models;
56
using Cysharp.Threading.Tasks;
67
using NUnit.Framework;
78
using UnityEngine.Localization.Settings;
@@ -42,7 +43,12 @@ public IEnumerator Missing_File_Does_Not_Throw_And_Unknown_Key_Passthrough()
4243

4344
try
4445
{
45-
await svc.InitializeService(LocalizationConstants.EnglishLocaleIdentifier);
46+
TranslationSettings settings = new TranslationSettings()
47+
{
48+
Locale = LocalizationConstants.EnglishLocaleIdentifier,
49+
LocalFilePath = "Translations/Translations.json"
50+
};
51+
await svc.InitializeService(settings);
4652
LocalizationSettings.SelectedLocale =
4753
LocalizationSettings.AvailableLocales.GetLocale(LocalizationConstants.EnglishLocaleIdentifier);
4854

@@ -88,7 +94,13 @@ public IEnumerator Runtime_Language_Switch_Reflects_In_Translate()
8894

8995
try
9096
{
91-
await svc.InitializeService(LocalizationConstants.EnglishLocaleIdentifier);
97+
TranslationSettings settings = new TranslationSettings()
98+
{
99+
Locale = LocalizationConstants.EnglishLocaleIdentifier,
100+
LocalFilePath = "Translations/Translations.json"
101+
};
102+
103+
await svc.InitializeService(settings);
92104

93105
LocalizationSettings.SelectedLocale =
94106
LocalizationSettings.AvailableLocales.GetLocale(LocalizationConstants.EnglishLocaleIdentifier);

Assets/PlayModeTests/Localization/TranslationServicePlayModeTests.cs

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using UnityEngine.TestTools;
66
using com.mapcolonies.core.Localization;
77
using com.mapcolonies.core.Localization.Constants;
8+
using com.mapcolonies.core.Localization.Models;
89
using Cysharp.Threading.Tasks;
910

1011
namespace PlayModeTests.Localization
@@ -42,7 +43,13 @@ public IEnumerator Missing_File_Does_Not_Throw_And_Unknown_Key_Passthrough()
4243

4344
try
4445
{
45-
await svc.InitializeService(LocalizationConstants.EnglishLocaleIdentifier);
46+
TranslationSettings settings = new TranslationSettings()
47+
{
48+
Locale = LocalizationConstants.EnglishLocaleIdentifier,
49+
LocalFilePath = "Translations/Translations.json"
50+
};
51+
52+
await svc.InitializeService(settings);
4653

4754
LocalizationSettings.SelectedLocale =
4855
LocalizationSettings.AvailableLocales.GetLocale(LocalizationConstants.EnglishLocaleIdentifier);
@@ -89,7 +96,13 @@ public IEnumerator Runtime_Language_Switch_Reflects_In_Translate()
8996

9097
try
9198
{
92-
await svc.InitializeService(LocalizationConstants.EnglishLocaleIdentifier);
99+
TranslationSettings settings = new TranslationSettings()
100+
{
101+
Locale = LocalizationConstants.EnglishLocaleIdentifier,
102+
LocalFilePath = "Translations/Translations.json"
103+
};
104+
105+
await svc.InitializeService(settings);
93106

94107
LocalizationSettings.SelectedLocale =
95108
LocalizationSettings.AvailableLocales.GetLocale(LocalizationConstants.EnglishLocaleIdentifier);

Assets/StreamingAssets/DataManagement/app_settings.json

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,12 @@
22
"userSettingsFile": "DataManagement/UserSettings/user_settings.json",
33
"offlineConfigurationFile": "DataManagement/offline_config.json",
44
"workspacesDirectory": "DataManagement/workspaces",
5-
"remoteConfigurationUrl": "https://example.com/config/getConfig?v=10"
5+
"remoteConfigurationUrl": "https://example.com/config/getConfig?v=10",
6+
"translationSettings": {
7+
"locale": "he-IL",
8+
"localFilePath": "Translations/Translations.json",
9+
"remoteConfigUrl": "",
10+
"showTranslationWarnings": true,
11+
"TargetStringTableName": "Yahalom_HardCoded_Translations"
12+
}
613
}
Lines changed: 72 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,74 @@
11
{
2-
"showTranslationWarnings": true,
3-
"words": [
4-
{
5-
"key": "yahalom.example",
6-
"localizedValues": {
7-
"en": "example",
8-
"he-IL": "דוגמה"
9-
}
10-
},
11-
{
12-
"key": "yahalom.home",
13-
"localizedValues": {
14-
"en": "home",
15-
"he-IL": "בית"
16-
}
17-
},
18-
{
19-
"key": "yahalom.hello",
20-
"localizedValues": {
21-
"en": "hello",
22-
"he-IL": "שלום"
23-
}
24-
},
25-
{
26-
"key": "yahalom.welcome",
27-
"localizedValues": {
28-
"en": "welcome",
29-
"he-IL": "ברוך הבא"
30-
}
31-
},
32-
{
33-
"key": "yahalom.exit",
34-
"localizedValues": {
35-
"en": "exit",
36-
"he-IL": "יציאה"
37-
}
38-
},
39-
{
40-
"key": "yahalom.settings",
41-
"localizedValues": {
42-
"en": "settings",
43-
"he-IL": "הגדרות"
44-
}
45-
},
46-
{
47-
"key": "yahalom.language",
48-
"localizedValues": {
49-
"en": "language",
50-
"he-IL": "שפה"
51-
}
52-
},
53-
{
54-
"key": "yahalom.confirm",
55-
"localizedValues": {
56-
"en": "confirm",
57-
"he-IL": "אישור"
58-
}
59-
},
60-
{
61-
"key": "yahalom.cancel",
62-
"localizedValues": {
63-
"en": "cancel",
64-
"he-IL": "ביטול"
65-
}
66-
},
67-
{
68-
"key": "yahalom.error",
69-
"localizedValues": {
70-
"en": "error",
71-
"he-IL": "שגיאה"
72-
}
73-
}
74-
]
2+
"words": [
3+
{
4+
"key": "yahalom.example",
5+
"localizedValues": {
6+
"en": "example",
7+
"he-IL": "דוגמה"
8+
}
9+
},
10+
{
11+
"key": "yahalom.home",
12+
"localizedValues": {
13+
"en": "home",
14+
"he-IL": "בית"
15+
}
16+
},
17+
{
18+
"key": "yahalom.hello",
19+
"localizedValues": {
20+
"en": "hello",
21+
"he-IL": "שלום"
22+
}
23+
},
24+
{
25+
"key": "yahalom.welcome",
26+
"localizedValues": {
27+
"en": "welcome",
28+
"he-IL": "ברוך הבא"
29+
}
30+
},
31+
{
32+
"key": "yahalom.exit",
33+
"localizedValues": {
34+
"en": "exit",
35+
"he-IL": "יציאה"
36+
}
37+
},
38+
{
39+
"key": "yahalom.settings",
40+
"localizedValues": {
41+
"en": "settings",
42+
"he-IL": "הגדרות"
43+
}
44+
},
45+
{
46+
"key": "yahalom.language",
47+
"localizedValues": {
48+
"en": "language",
49+
"he-IL": "שפה"
50+
}
51+
},
52+
{
53+
"key": "yahalom.confirm",
54+
"localizedValues": {
55+
"en": "confirm",
56+
"he-IL": "אישור"
57+
}
58+
},
59+
{
60+
"key": "yahalom.cancel",
61+
"localizedValues": {
62+
"en": "cancel",
63+
"he-IL": "ביטול"
64+
}
65+
},
66+
{
67+
"key": "yahalom.error",
68+
"localizedValues": {
69+
"en": "error",
70+
"he-IL": "שגיאה"
71+
}
72+
}
73+
]
7574
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
using System;
2+
using com.mapcolonies.core.Localization.Constants;
3+
4+
namespace com.mapcolonies.core.Localization.Models
5+
{
6+
[Serializable]
7+
public record TranslationSettings
8+
{
9+
public string Locale
10+
{
11+
get;
12+
set;
13+
} = LocalizationConstants.HebrewLocaleIdentifier;
14+
15+
public string LocalFilePath
16+
{
17+
get;
18+
set;
19+
}
20+
21+
public string RemoteConfigUrl
22+
{
23+
get;
24+
set;
25+
}
26+
27+
public bool ShowTranslationWarnings
28+
{
29+
get;
30+
set;
31+
}
32+
33+
public string TargetStringTableName
34+
{
35+
get;
36+
set;
37+
}
38+
}
39+
}

Assets/com.mapcolonies.core/Localization/Models/TranslationSettings.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)