Class KeyIdColumns
Represents 3 possible columns in CSV data:
- Key. The unique name of the entry. This value is always included when exporting.
- Id. The Id value for the entry. This field is optional however strongly recomended if you expect to change the Key names.
- Shared Comments. Comment taken from SharedTableData for each entry. This field is optional.
Inherited Members
Namespace: UnityEditor.Localization.Plugins.CSV.Columns
Syntax
public class KeyIdColumns : CsvColumns, IKeyColumn
Properties
IdFieldName
The name of the Id field when exporting and importing. When importing this name will be checked against the headers to determine if an Id column is present in the CSV data.
Declaration
public string IdFieldName { get; set; }
Property Value
Type | Description |
---|---|
String |
IncludeId
Should the Id field be included as a field when exporting? When importing IdFieldName will be used to determine if the field is present.
Declaration
public bool IncludeId { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
IncludeSharedComments
Should the shared Comment be included as a field when exporting? When importing SharedCommentFieldName will be used to determine if the field is present.
Declaration
public bool IncludeSharedComments { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
KeyFieldName
The name of the Key field when exporting and importing. When importing this name will be checked against the headers to determine if a Key column is present in the CSV data.
Declaration
public string KeyFieldName { get; set; }
Property Value
Type | Description |
---|---|
String |
SharedCommentFieldName
The name of the Shared Comments field when importing and exporting. When importing this name will be checked against the headers to determine if a Shared Comment column is present in the CSV data.
Declaration
public string SharedCommentFieldName { get; set; }
Property Value
Type | Description |
---|---|
String |
Methods
ReadBegin(StringTableCollection, CsvReader)
Called when reading a CSV file column header row.
This call should be used to determine which column indexes to use during ReadRow(SharedTableData.SharedTableEntry, CsvReader).
Use reader.GetFieldIndex("Column Header", isTryGet: true)
to check for a column with a matching name.
Declaration
public override void ReadBegin(StringTableCollection collection, CsvReader csvReader)
Parameters
Type | Name | Description |
---|---|---|
StringTableCollection | collection | The target collection the CSV file is being imported into. |
CsvReader | csvReader | Provides acces to the CSV file. |
Overrides
ReadEnd(StringTableCollection)
Called when the CSV file has been imported. This can be used to perform any required cleanup.
Declaration
public override void ReadEnd(StringTableCollection collection)
Parameters
Type | Name | Description |
---|---|---|
StringTableCollection | collection | The target collection the CSV file was imported into. |
Overrides
ReadKey(CsvReader)
Returns the entry that should be mapped for the current row or null
if one can not be found.
Declaration
public SharedTableData.SharedTableEntry ReadKey(CsvReader reader)
Parameters
Type | Name | Description |
---|---|---|
CsvReader | reader | Provides read access to the CSV file. |
Returns
Type | Description |
---|---|
SharedTableData.SharedTableEntry | The mapped entry or |
Implements
ReadRow(SharedTableData.SharedTableEntry, CsvReader)
Called when reading each row of the CSV file. Unity recommends to store the indexes of the rows you are
interested in during ReadBegin(StringTableCollection, CsvReader) and then use them to access the row using reader.GetField
.
Declaration
public override void ReadRow(SharedTableData.SharedTableEntry keyEntry, CsvReader reader)
Parameters
Type | Name | Description |
---|---|---|
SharedTableData.SharedTableEntry | keyEntry | The current entry being read. |
CsvReader | reader | Provides read access to the CSV file. |
Overrides
WriteBegin(StringTableCollection, CsvWriter)
Called when writing the header row of the CSV file.
Each column that will be written to during WriteRow(SharedTableData.SharedTableEntry, IList<StringTableEntry>, CsvWriter) should have
its column header written here using writer.WriteField("Header Title")
.
Declaration
public override void WriteBegin(StringTableCollection collection, CsvWriter csvWriter)
Parameters
Type | Name | Description |
---|---|---|
StringTableCollection | collection | The collection being exported. |
CsvWriter | csvWriter | Provides access to write to a CSV file. |
Overrides
WriteRow(SharedTableData.SharedTableEntry, IList<StringTableEntry>, CsvWriter)
Called when writing each row of the CSV file. This is called in the same order as WriteBegin(StringTableCollection, CsvWriter) and expects each
column that was written to be populated each time. If a column will not always contain a value, you can use writer.WriteField(string.Empty)
.
Declaration
public override void WriteRow(SharedTableData.SharedTableEntry keyEntry, IList<StringTableEntry> tableEntries, CsvWriter writer)
Parameters
Type | Name | Description |
---|---|---|
SharedTableData.SharedTableEntry | keyEntry | The shared table data for the current entry that is being written to the row. |
IList<StringTableEntry> | tableEntries | The locale specific table entries for this row. |
CsvWriter | writer | Provides write acces to the CSV file. |