I’m writing a way to indicate whether or not an entry is smart into the localization sheet for simplicity. It’s pretty simple, it’ll push TRUE or FALSE depending on if the entry is smart or not (and when pulling will do it accordingly). However when I look at the sheet after the push the character ’ is prepended to the values pushed, which is failing the default data validation at least.
Below is the PushCellData implementation:
public override void PushCellData(SharedTableData.SharedTableEntry keyEntry, IList<StringTableEntry> tableEntries, out string value, out string note)
{
note = null;
if (_pushIndex != -1 && tableEntries[_pushIndex] != null &&
!string.IsNullOrEmpty(tableEntries[_pushIndex].Key))
{
StringTableEntry entry = tableEntries[_pushIndex];
if (entry.IsSmart)
{
value = "TRUE";
}
else
{
value = "FALSE";
}
}
else
{
value = null;
}
}
_pushIndex gets set on BeginPush and really just copies LocaleColumn.
If there’s an existing way to integrate the smart value into the sheets I’d love to know about it. Regardless though I’d like to know if I’m doing something wrong here or if there’s a bug.
Some quick experiments (and information). Something in the pipeline is treating “true” and “false” special (case-insensitive). If I put in TRUE or true then it becomes 'TRUE or 'true in the sheets but I put in anything else, say, true1 then it’s just true1 in the sheets.