Skip to content

Commit 5813403

Browse files
authored
Merge pull request #12 from mixin-ch/bugfix/FallbackLanguageOverwrite
Fixed Fallback Language
2 parents 2e51bca + 4842e93 commit 5813403

File tree

5 files changed

+214
-9
lines changed

5 files changed

+214
-9
lines changed

Runtime/LanguageTextSO.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
using UnityEngine;
2-
using Mixin.Utils;
1+
using Mixin.Utils;
32
using System.Collections.Generic;
3+
using UnityEngine;
44

55
namespace Mixin.MultiLanguage
66
{
@@ -52,10 +52,10 @@ private string GetText(bool replacePlaceholders, HashSet<LanguageTextSO> forbidd
5252
text = _languageTextList[selectedLanguage].Text;
5353

5454
// Set the fallback language text if selected language does not exist.
55-
if (_languageTextList.ContainsKey(fallbackLanguage))
55+
if (text == null && _languageTextList.ContainsKey(fallbackLanguage))
5656
text = _languageTextList[fallbackLanguage].Text;
5757

58-
if (replacePlaceholders)
58+
if (text != null && replacePlaceholders)
5959
text = TryReplacePlaceholders(text, forbiddenPlaceholderSet);
6060

6161
// Return the text
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
%YAML 1.1
2+
%TAG !u! tag:unity3d.com,2011:
3+
--- !u!114 &11400000
4+
MonoBehaviour:
5+
m_ObjectHideFlags: 0
6+
m_CorrespondingSourceObject: {fileID: 0}
7+
m_PrefabInstance: {fileID: 0}
8+
m_PrefabAsset: {fileID: 0}
9+
m_GameObject: {fileID: 0}
10+
m_Enabled: 1
11+
m_EditorHideFlags: 0
12+
m_Script: {fileID: 11500000, guid: 065124708552ba1449321fd81d9843d3, type: 3}
13+
m_Name: Fallback Language
14+
m_EditorClassIdentifier:
15+
_languageTextList:
16+
reorderableList:
17+
canAdd: 1
18+
canRemove: 1
19+
draggable: 1
20+
expandable: 1
21+
multipleSelection: 1
22+
isExpanded: 1
23+
label:
24+
m_Text: Keys
25+
m_Image: {fileID: 0}
26+
m_Tooltip:
27+
headerHeight: 18
28+
footerHeight: 13
29+
slideEasing: 0.15
30+
verticalSpacing: 2
31+
showDefaultBackground: 1
32+
elementDisplayType: 0
33+
elementNameProperty:
34+
elementNameOverride:
35+
elementIcon: {fileID: 0}
36+
reqReferences: {fileID: 0}
37+
isExpanded: 1
38+
_keyValues: 00000000
39+
_keys: 00000000
40+
_values:
41+
- Text: "Zur\xFCckfall Sprache"
42+
_placeholders:
43+
- {fileID: 11400000, guid: d0c737d6e9b65694995f8e235b329cad, type: 2}
44+
- {fileID: 11400000, guid: d4091ae3a2911404399e5fa351ae0b8d, type: 2}
45+
- {fileID: 11400000, guid: d4091ae3a2911404399e5fa351ae0b8d, type: 2}

Samples/Sample 1/Fallback Language.asset.meta

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

Samples/Sample 1/Language Sample 1.unity

Lines changed: 156 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,157 @@ NavMeshSettings:
123123
debug:
124124
m_Flags: 0
125125
m_NavMeshData: {fileID: 0}
126+
--- !u!1 &879204773
127+
GameObject:
128+
m_ObjectHideFlags: 0
129+
m_CorrespondingSourceObject: {fileID: 0}
130+
m_PrefabInstance: {fileID: 0}
131+
m_PrefabAsset: {fileID: 0}
132+
serializedVersion: 6
133+
m_Component:
134+
- component: {fileID: 879204774}
135+
- component: {fileID: 879204777}
136+
- component: {fileID: 879204776}
137+
- component: {fileID: 879204775}
138+
m_Layer: 5
139+
m_Name: Sample Text 3
140+
m_TagString: Untagged
141+
m_Icon: {fileID: 0}
142+
m_NavMeshLayer: 0
143+
m_StaticEditorFlags: 0
144+
m_IsActive: 1
145+
--- !u!224 &879204774
146+
RectTransform:
147+
m_ObjectHideFlags: 0
148+
m_CorrespondingSourceObject: {fileID: 0}
149+
m_PrefabInstance: {fileID: 0}
150+
m_PrefabAsset: {fileID: 0}
151+
m_GameObject: {fileID: 879204773}
152+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
153+
m_LocalPosition: {x: 0, y: 0, z: 0}
154+
m_LocalScale: {x: 1, y: 1, z: 1}
155+
m_ConstrainProportionsScale: 0
156+
m_Children: []
157+
m_Father: {fileID: 2031148418}
158+
m_RootOrder: 2
159+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
160+
m_AnchorMin: {x: 0, y: 0}
161+
m_AnchorMax: {x: 0, y: 0}
162+
m_AnchoredPosition: {x: 24, y: 364}
163+
m_SizeDelta: {x: 283.7253, y: 107.1264}
164+
m_Pivot: {x: 0, y: 0}
165+
--- !u!114 &879204775
166+
MonoBehaviour:
167+
m_ObjectHideFlags: 0
168+
m_CorrespondingSourceObject: {fileID: 0}
169+
m_PrefabInstance: {fileID: 0}
170+
m_PrefabAsset: {fileID: 0}
171+
m_GameObject: {fileID: 879204773}
172+
m_Enabled: 1
173+
m_EditorHideFlags: 0
174+
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
175+
m_Name:
176+
m_EditorClassIdentifier:
177+
m_Material: {fileID: 0}
178+
m_Color: {r: 1, g: 1, b: 1, a: 1}
179+
m_RaycastTarget: 1
180+
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
181+
m_Maskable: 1
182+
m_OnCullStateChanged:
183+
m_PersistentCalls:
184+
m_Calls: []
185+
m_text: "Zur\xFCckfall Sprache"
186+
m_isRightToLeft: 0
187+
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
188+
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
189+
m_fontSharedMaterials: []
190+
m_fontMaterial: {fileID: 0}
191+
m_fontMaterials: []
192+
m_fontColor32:
193+
serializedVersion: 2
194+
rgba: 4294967295
195+
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
196+
m_enableVertexGradient: 0
197+
m_colorMode: 3
198+
m_fontColorGradient:
199+
topLeft: {r: 1, g: 1, b: 1, a: 1}
200+
topRight: {r: 1, g: 1, b: 1, a: 1}
201+
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
202+
bottomRight: {r: 1, g: 1, b: 1, a: 1}
203+
m_fontColorGradientPreset: {fileID: 0}
204+
m_spriteAsset: {fileID: 0}
205+
m_tintAllSprites: 0
206+
m_StyleSheet: {fileID: 0}
207+
m_TextStyleHashCode: -1183493901
208+
m_overrideHtmlColors: 0
209+
m_faceColor:
210+
serializedVersion: 2
211+
rgba: 4294967295
212+
m_fontSize: 36
213+
m_fontSizeBase: 36
214+
m_fontWeight: 400
215+
m_enableAutoSizing: 0
216+
m_fontSizeMin: 18
217+
m_fontSizeMax: 72
218+
m_fontStyle: 1
219+
m_HorizontalAlignment: 2
220+
m_VerticalAlignment: 512
221+
m_textAlignment: 65535
222+
m_characterSpacing: 0
223+
m_wordSpacing: 0
224+
m_lineSpacing: 0
225+
m_lineSpacingMax: 0
226+
m_paragraphSpacing: 0
227+
m_charWidthMaxAdj: 0
228+
m_enableWordWrapping: 1
229+
m_wordWrappingRatios: 0.4
230+
m_overflowMode: 0
231+
m_linkedTextComponent: {fileID: 0}
232+
parentLinkedComponent: {fileID: 0}
233+
m_enableKerning: 1
234+
m_enableExtraPadding: 0
235+
checkPaddingRequired: 0
236+
m_isRichText: 1
237+
m_parseCtrlCharacters: 1
238+
m_isOrthographic: 1
239+
m_isCullingEnabled: 0
240+
m_horizontalMapping: 0
241+
m_verticalMapping: 0
242+
m_uvLineOffset: 0
243+
m_geometrySortingOrder: 0
244+
m_IsTextObjectScaleStatic: 0
245+
m_VertexBufferAutoSizeReduction: 0
246+
m_useMaxVisibleDescender: 1
247+
m_pageToDisplay: 1
248+
m_margin: {x: 0, y: 0, z: 0, w: 0}
249+
m_isUsingLegacyAnimationComponent: 0
250+
m_isVolumetricText: 0
251+
m_hasFontAssetChanged: 0
252+
m_baseMaterial: {fileID: 0}
253+
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
254+
--- !u!114 &879204776
255+
MonoBehaviour:
256+
m_ObjectHideFlags: 0
257+
m_CorrespondingSourceObject: {fileID: 0}
258+
m_PrefabInstance: {fileID: 0}
259+
m_PrefabAsset: {fileID: 0}
260+
m_GameObject: {fileID: 879204773}
261+
m_Enabled: 1
262+
m_EditorHideFlags: 0
263+
m_Script: {fileID: 11500000, guid: 9b648b4acc1b7da488f0988d49014752, type: 3}
264+
m_Name:
265+
m_EditorClassIdentifier:
266+
_languageFile: {fileID: 11400000, guid: 953bacd5943046e479d969022ecdcbf2, type: 2}
267+
_useCustomTextField: 0
268+
_customTextField: {fileID: 0}
269+
--- !u!222 &879204777
270+
CanvasRenderer:
271+
m_ObjectHideFlags: 0
272+
m_CorrespondingSourceObject: {fileID: 0}
273+
m_PrefabInstance: {fileID: 0}
274+
m_PrefabAsset: {fileID: 0}
275+
m_GameObject: {fileID: 879204773}
276+
m_CullTransparentMesh: 1
126277
--- !u!1 &959722854
127278
GameObject:
128279
m_ObjectHideFlags: 0
@@ -223,7 +374,7 @@ RectTransform:
223374
m_ConstrainProportionsScale: 0
224375
m_Children: []
225376
m_Father: {fileID: 2031148418}
226-
m_RootOrder: 2
377+
m_RootOrder: 3
227378
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
228379
m_AnchorMin: {x: 0, y: 0}
229380
m_AnchorMax: {x: 0, y: 0}
@@ -250,7 +401,7 @@ MonoBehaviour:
250401
m_OnCullStateChanged:
251402
m_PersistentCalls:
252403
m_Calls: []
253-
m_text: (Deutsch)(Outer)(0:{0})(1:(Deutsch)(Inner)(0:{0}))
404+
m_text: English Outer 0:{0} 1:English Inner 0:{0}
254405
m_isRightToLeft: 0
255406
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
256407
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
@@ -532,7 +683,7 @@ MonoBehaviour:
532683
m_OnCullStateChanged:
533684
m_PersistentCalls:
534685
m_Calls: []
535-
m_text: Das ist der Deutsche Text Platzhalter 2
686+
m_text: This is the English Text
536687
m_isRightToLeft: 0
537688
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
538689
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
@@ -683,7 +834,7 @@ MonoBehaviour:
683834
m_OnCullStateChanged:
684835
m_PersistentCalls:
685836
m_Calls: []
686-
m_text: Mixin Games Deutsch Platzhalter 1 Platzhalter 2
837+
m_text: Mixin Games English Placeholder 1 Placeholder 2
687838
m_isRightToLeft: 0
688839
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
689840
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
@@ -869,6 +1020,7 @@ RectTransform:
8691020
m_Children:
8701021
- {fileID: 2029671567}
8711022
- {fileID: 1877239720}
1023+
- {fileID: 879204774}
8721024
- {fileID: 1400356705}
8731025
m_Father: {fileID: 0}
8741026
m_RootOrder: 1

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "com.mixin.unity-multi-language",
3-
"version": "0.3.0",
3+
"version": "0.3.1",
44
"displayName": "Multi Language",
55
"description": "Easily translate your game with Language Files.",
66
"unity": "2021.1",

0 commit comments

Comments
 (0)